SQL أو NoSql، بعد قراءة هذا واحد سوف تعرف كل شيء

مقدمة

هل أنت في لموجة من نظام قاعدة البيانات كبيرة الحجم تقريبا لعبت وحدة المعالجة المركزية، صحيفة مشكلة ارتفاع وحدة المعالجة المركزية؟ هل متشابكة غير مستقرة بين مختلف NoSql، في النهاية الخيار الذي هو أفضل؟ كنت بالأمس لي اليوم، وهذا هو القصد الأصلي من كتابة هذا المقال.

هذه المادة لمدة شهور أردت دائما أن أكتب مقالا، ولكن أيضا أريد دائما لمحتوى التعلم، والممارسين الإنترنت، ونحن بحاجة إلى معرفة قواعد البيانات العلائقية (الخلية، وأوراكل) لا يمكن تلبية جميع احتياجاتنا للتخزين، ولذلك، فإن اختيار التخزين الأساسية، فهم كل محرك التخزين مهم جدا. ولكن أيضا لأن الخبرة في العمل على مدى فترة من الزمن، لهذا لدينا بعض مزيد من التفكير، وأعتقد من خلال ملخص الخاصة بهم من قطعة مكتوبة للجميع للسهم الواحد.

البيانات المهيكلة، البيانات غير المهيكلة والبيانات شبه منظمة

ابتداء من هذه المادة، والحديث عن البيانات المهيكلة، البيانات غير المهيكلة والبيانات شبه منظمة، وذلك لأن خصائص البيانات المختلفة، وسوف تؤثر بشكل مباشر على اختيار مشغل التخزين من الناحية الفنية.

الأول هو البيانات المهيكلة، وفقا للتعريف هيكلة البيانات ويشير إلى تعبير منطقي التي تنفذها بنية بيانات الجدول ثنائي الأبعاد، تنسيق البيانات وطول يتبع بدقة مواصفات، كما يشار إلى بيانات خط ، يتميز: في وحدات البيانات والمعلومات تشير إلى صف من كيانات البيانات، سمات كل صف البيانات هي نفسها. على سبيل المثال:

لذلك ميزات قاعدة بيانات علائقية تناسب البيانات المهيكلة تماما، قواعد البيانات العلائقية هي أهم العلائقية تخزين البيانات وإدارة المحرك.

البيانات غير المهيكلة، مشيرا إلى غير النظامية أو بنية بيانات غير مكتملة، لا يوجد نموذج بيانات محددة سلفا، ليست مريحة لتمثيل ثنائي الأبعاد منطق جدول البيانات ، مثل الوثائق المكتبية (وورد) والنصوص والصور، HTML، تقارير مختلفة والفيديو والصوت وهلم جرا.

موسط البيانات بين البيانات المهيكلة وغير المهيكلة هو بيانات شبه منظمة، والذي هو شكل من أشكال البيانات المهيكلة، في حين هذا الهيكل لا يتوافق مع نموذج البيانات المنطقية ثنائي الأبعاد، ولكن مع العلامات ذات الصلة والعناصر الدلالية تستخدم لسجلات وحقول منفصلة وكذلك طبقية . بيانات شبه منظمة مشتركة لها XML و JSON، على سبيل المثال:

< شخص > < اسم > جو سميث < / اسم > < عمر > 18 < / العمر > < هاتف > 12345 < / الهاتف > < / شخص >

ويشار إلى هذا الهيكل أيضا باسم الهيكل الذي يصف نفسه.

طريقة للقيام العلائقية تطور مخطط قاعدة البيانات للتخزين

أولا، نحن ننظر في سبل لاستخدام العلائقية مراحل تطور مخطط قاعدة البيانات لتطوير منظومة من المشاريع (بسبب ورقة مكتوبة SQL وNoSql، وذلك فقط لتخزين كنقطة انطلاق، لا تنطوي على MQ مماثل، ZK هذه محتوى الوسيطة):

المرحلة الأولى: مرحلة التطوير عادلة للمؤسسات، وأبسط، وتطبيق الخادم مع قاعدة بيانات علائقية، لكل قاعدة بيانات القراءة والكتابة.

المرحلة الثانية: إما استخدام الخلية أو أوراكل أو غيرها من قواعد البيانات العلائقية، وقواعد البيانات عادة لا تصبح أول اختناق أداء، وعادة مع توسيع نطاق الأعمال التجارية، وخادم التطبيق لا يمكن أن تحمل على تدفق المنبع وخادم التطبيق نقطة واحدة من مشكلة الفشل، إضافة لذلك خادم التطبيق ومعدل التدفق مدخل باستخدام أحد إنجن إكس قيام الموازنة، لضمان تدفق موحد ضرب خادم التطبيق.

المرحلة الثالثة: مع استمرار التوسع في نطاق الأعمال التجارية، وهذه المرة بسبب كل من القراءة والكتابة على نفس قاعدة البيانات، قاعدة بيانات بعض اختناقات الأداء، ثم ببساطة القيام طبقة قراءة منفصلة والكتابة، كل الكتابة المكتبة الرئيسية، والقراءة المعدات المكتبية ، بين الجهاز المكتبة الرئيسية التي مزامنة البيانات binlog، أداء قاعدة البيانات يمكن حلها إلى حد كبير هذه المرحلة مشكلة

المرحلة الرابعة: تطوير المؤسسات الحصول على أفضل وأفضل، والمزيد من الأعمال أكثر و، والقيام قاعدة بيانات منفصلة القراءة والكتابة الضغط ما زال ينمو، في هذا الوقت كيف تفعل ذلك، لا يمكن أن تحمل قاعدة البيانات، ثم نقسم عدة، لكم، هل الجدول الفرعي الفرعي المكتبة، على الطاولة للقيام الانقسام العمودي، مستوى الانقسام إلى المكتبة للقيام به. توسيع قاعدة البيانات على سبيل المثال، وتوسيع قاعدتي، رقم واحد معين (على سبيل المثال، رقم ترتيب الصفقة) لقاعدة معينة (على سبيل المثال، معامل)، ورقم الطلب الصفقة مودولو 2-1 إلى 0 في رمي قاعدة البيانات، الصفقة رقم الطلب من 2-1، MODULO 2 لرمي قاعدة البيانات، من خلال كتابة مثل هذه الطريقة أن متوسط معدل التدفق من قاعدة البيانات إلى قاعدتي. يستخدم عموما الجدول الفرعي الفرعي مكتبة شارد الطريق من خلال إدارة يسهل الوسيطة الصدد، رصد البيانات وقاعدة بيانات العميل دون الملكية الفكرية التصور

مزايا قواعد البيانات العلائقية

الطريقة المذكورة أعلاه، فإنه يبدو أن حل المشكلة (في الواقع، حقا يمكن أن تحل الكثير من المشاكل)، قاعدة بيانات علائقية العادية للقيام ببعض القراءة والكتابة + الجدول الفرعي الفرعي مكتبة مستقل، وهما 1W + يدعم القراءة والكتابة من QPS ليست مشكلة كبيرة. ولكن في حد ذاته يقتصر على قاعدة بيانات علائقية، وهذا البرنامج العمارة لا يزال لديه عيوب واضحة، والمزايا التالية لاستخدام نظام تخزين قاعدة البيانات العلائقية هو السبيل للقيام ببعض التحاليل التي أجريت لأول مرة، ومن ثم تحليل أوجه القصور في الجزء الأخير من التكنولوجيا إلى فهم كامل للمزايا وعيوب هذه التقنية هو شرط أساسي للاختيار.

  • من السهل أن نفهم
  • لأن ثنائي الأبعاد الصف منطق الجدول + العمود هو قريب جدا من مفهوم عالم منطقي، ونموذج العلائقي شبكة النسبي إلى نماذج أخرى، مثل مستوى أكثر سهولة فهمها
  • من السهل أن تعمل
  • عام SQL لغة قواعد البيانات العلائقية يجعل عملية مريحة للغاية، مثل دعم استعلامات معقدة الانضمام
  • تناسق البيانات
  • دعم لخصائص ACID، يمكن الحفاظ على الاتساق بين البيانات، وهذا هو أحد الأسباب الهامة جدا لاستخدام قاعدة البيانات، على سبيل المثال، مع التحويل المصرفي، يتم تحويلها إلى فلان الفلاني فلان الفلاني 100 يوان و 100 يوان خصم جو سميث، جون دو بالاضافة الى 100 يوان، في نفس الوقت يجب علينا أن تنجح أو تفشل في نفس الوقت، وإلا فإنه سوف يسبب خسارة رأس المال من المستخدمين
  • مستقرة البيانات
  • استمرت البيانات إلى القرص، وليس هناك خطر من فقدان البيانات، والبيانات الشامل دعم التخزين
  • خدمات مستقرة
  • الأكثر شيوعا منتجات قواعد البيانات العلائقية الخلية، والأداء خادم أوراكل والاستقرار الخدمة، عادة جدا القليل الشاذ التوقف

العيب من قواعد البيانات العلائقية

ثم، فإننا ننظر إلى أوجه القصور في قواعد البيانات العلائقية، فمن الواضح تماما.

  • ضغط IO تحت التزامن عالية
  • تخزين البيانات في الصفوف، حيث حتى لو كان فقط لعملية عمود، صف كامل من البيانات وسيتم قراءة في الذاكرة من جهاز التخزين، مما أدى إلى ارتفاع IO
  • السعر إلى الأجر لصيانة مؤشر كبير
  • من أجل توفير قدرات الاستعلام الغنية، عادة الجدول الساخن سيكون لها فهارس الثانوية متعددة مرة واحدة لديك مؤشر الثانوي، ويجب أن يرفق البيانات الجديدة بكل المؤشر الثانوي الجديد، كما يجب أن تكون مصحوبة تحديث البيانات من قبل كل ثانية تحديث الفهرس، مما يقلل حتما على قاعدة بيانات علائقية محو الأمية ومحو الأمية المؤشر أكثر سوءا. هناك فرصة يمكنك أن تبحث في قاعدة بيانات الشركة الخاصة بهم، بالإضافة إلى ملفات البيانات سيستغرق حتما مساحة وحساب مؤشر للحقيقة، والكثير من الفضاء
  • للحفاظ على تناسق البيانات ثمنا كبيرا لدفع
  • تناسق البيانات هو جوهر قاعدة بيانات علائقية، ولكن بنفس السعر من أجل الحفاظ على اتساق البيانات كبيرة جدا. ونحن نعلم جميعا أن SQL معيار يحدد على مستويات مختلفة عزل المعاملة، من على ارتفاع منخفض للقراءة غير ملتزم، وقراءة ارتكبت، ودرجة تكرارها التسلسل، نهاية مستوى عزل المعاملة، تشوهات المتزامنة قد تحدث أكثر، ولكن بشكل عام، يمكن أن التزامن أقوى تقدم. وذلك من أجل ضمان التناسق المعاملات، سوف تحتاج قاعدة البيانات لتوفير التحكم التزامن والانتعاش كل من التقنيات، ويستخدم في السابق للحد استثناء التزامن، والتي يمكن أن تضمن صفقة مع الدولة قاعدة البيانات وليس للتدمير عندما يكون النظام غير طبيعي. من أجل السيطرة التزامن، يتم تأمين الفكرة الأساسية، إما تفاؤلا أو تشاؤما قفل قفل، طالما أن مستوى أعلى من العزلة، ثم القراءة والكتابة الأداء سوف سوءا لا محالة
  • بعد التوسع الأفقي الناجم عن المشاكل المستعصية
  • التي سبق ذكرها، مع التوسع في نطاق الأعمال التجارية، وبعد قاعدة البيانات هي طريقة واحدة لتفعل المكتبات الفرعية، جعلت المكتبات الفرعية وترحيل البيانات (ضربت البيانات من قاعدة بيانات وفقا لقواعد معينة مكتبتين)، عبر قاعدة بيانات انضمام (أوامر البيانات، وهناك مشاكل من بيانات المستخدم والبيانات اثنين ليس في نفس المكتبة)، وزعت ضرورة معالجة المعاملات إلى النظر فيها، خصوصا في معالجة المعاملات الموزعة، صناعة حاليا لا سيما حل جيد
  • هيكل الجدول غير مريحة تمديد
  • لأنه يتم تخزين قاعدة البيانات في البيانات المهيكلة، لذلك الثابتة بنية الجدول المخطط التمديد هو غير مريح، إذا كان بنية الجدول يحتاج إلى تعديل، الحاجة إلى إجراء DDL (لغة تعريف البيانات) البيانات المعدلة خلال التعديل سيؤدي في جدول القفل، خدمة جزء غير متوفرة
  • وظيفة البحث عن النص الكامل ضعيفة
  • على سبيل المثال، مثل " الصين حقا كبيرة" النتائج فقط على "2019 الصين العظيمة، والحب للوطن الام،" لا يمكن البحث "الصين كانت كبيرة جدا" هذا النص ليس لديها القدرة كلمة، ومثل الاستعلام " الصين عظيم حقا "في ظل هذه المعايير، لا يمكن أن تصل المؤشر، فإنه سوف يؤدي إلى الحد بشكل كبير من كفاءة الاستعلام

إرسال كثيرا، وأنا أفهم الأساسية أو أول ثلاث نقاط، وهي مشكلة يتجلى في قدرة قاعدة بيانات علائقية تحت التزامن عالية هو عنق الزجاجة، وخاصة في الكتابة / التحديث في كثير من الأحيان في ظل هذه الظروف، ونتيجة للاختناقات هو ارتفاع CPU قاعدة البيانات، SQL بطء التنفيذ، أفاد العميل أخطاء مثل تجمع اتصال قاعدة البيانات ليست كافية، لذلك الناس مثل ارتفاع هذا السيناريو، ونحن على الاطلاق لا يمكن أن تذهب مباشرة إلى استقطاع المخزون من خلال قاعدة بيانات.

صديق قد يقول، وسعة قاعدة البيانات تحت ارتفاع عنق الزجاجة التزامن، أموالي الشركة، بالإضافة إلى وحدة المعالجة المركزية، تواصل سواقات مقايضة لشراء خادم قاعدة البيانات بالإضافة إلى نقاط لا مثل المكتبة، والمشكلة هي هذا هو تكلفة منخفضة جدا طريقة لقضاء 10 مليون دولار لتحقيق التأثير، عن طرق أخرى مناسبة للوصول إلى 1000000، بغض النظر عن الأفراد، والخادم نسبة المدخلات والمخرجات الزعيم هو فشل القائد، والطريقة قواعد البيانات العلائقية، ويحد من تلقاء نفسها قد قضى الميزات المال قد لا تكون قادرة على تحقيق التأثير المطلوب. وأما ما وسيلة لقضاء مليون من تأثير 10000000 لا يمكن أن يتحقق لأنها تنفق؟ يمكنك الاستمرار في النظر إلى أسفل، وهذا ما نريد أن نقول NoSql.

طريقة NoSql القيام العمارة جنبا إلى جنب مع تطور التخزين

مثل التحليل الوارد أعلاه، محرك تخزين قاعدة البيانات كنموذج البيانات العلائقية، يتم تخزين البيانات العلائقية، فإن له مزايا، ولكن هناك عيوب واضحة، وغالبا ما يكون في حالة الشركات تم توسيع، وسوف لا نعول على نحو أعمى من خلال تعزيز قدرة قاعدة البيانات على حل مشاكل تخزين البيانات، ولكن سوف أعرض التخزين الأخرى، وهو ما نقول NoSql.

NoSql الاسم الكامل ليس فقط SQL، يشير إلى قواعد البيانات غير العلائقية، هو تكملة لقواعد البيانات العلائقية، مع إيلاء اهتمام خاص لإضافة كلمة واحدة، وهو ما يعني NoSql العلاقة العدائية مع قاعدة بيانات علائقية ليست، وكلاهما له إيجابيات وسلبيات كل منهما الآخر، واختيار مشغل التخزين الصحيح هو النهج الصحيح في المكان المناسب.

مخبأ NoSql بسيط نسبيا:

بالنسبة لأولئك الذين يقرأون أكثر بكثير من كتابة البيانات، وإدخال طبقة عازلة، وقراءة كل قراءة من ذاكرة التخزين المؤقت، ذاكرة التخزين المؤقت لا يمكن قراءة، انتقل إلى قاعدة البيانات على أن تتخذ، ثم كتب إلى ذاكرة التخزين المؤقت بعد اتخاذ كاملة، وبيانات تفعل آلية الفشل هو عادة لا مشكلة كبيرة. بصفة عامة، وتحسين أداء ذاكرة التخزين المؤقت هو الخيار الأول من الأكثر فعالية هو الحل واضح.

ومع ذلك، فإن الذاكرة المؤقتة عادة ما يكون نوع KV وقدرة محدودة (الذاكرة القائمة)، لا يمكن أن تحل جميع المشاكل، ومواصلة ذلك التحسين، ونستمر في تقديم NoSql الآخر:

قاعدة بيانات، والعمل التخزين المؤقت بالتوازي مع NoSql البعض، واطلاق العنان لخصائص كل NoSql. وبطبيعة الحال، في حين NoSql أفضل بكثير من حيث العلاقة أداء قواعد البيانات تماما، غالبا ما يترافق مع فقدان بعض من ملامح أكثر شيوعا هو عدم وجود وظائف المعاملة.

نظرة التالية في المنتجات الشائعة NoSql وممثليهم، ومزايا وعيوب كل NoSql القيام ببعض التحليل وتطبيق السيناريوهات، من السهل أن يكون على دراية خصائص كل NoSql لتسهيل اختيار التكنولوجيا.

نوع KV NoSql (نيابة ---- رديس)

نوع KV NoSql يوحي اسمها هو لتخزين أزواج مفتاح القيمة في شكل قواعد بيانات غير العلائقية، وهذا هو أبسط وأسهل للفهم هو واحد نحن أكثر الناس دراية NoSql، وبالتالي أسرع القلب أيضا. رديس، MemCache هو واحد من الممثلين، رديس هو KV NoSql النوع الأكثر استخداما من NoSql وقواعد البيانات KV رديس، على سبيل المثال، وأكبر ميزة أختم على نقطتين:

  • واستنادا إلى بيانات الذاكرة، وارتفاع كفاءة الكتابة
  • نوع البيانات KV، وتعقيد الوقت هو O (1)، سرعة الاستعلام

ولذلك، فإن أكبر ميزة هي عالية الأداء من نوع KV NoSql استخدام رديس يأتي مع بنشمارك لا القياس، يمكن أن تصل إلى مستوى TPS 100000، أداء قوي للغاية. هناك أيضا كل نفس نوع رديس KV من NoSql ديه عيوب واضحة:

  • ووفقا للتحقيق فقط K V، وليس وفقا لشارل الخامس K
  • استعلام واحد، وسيلة KV فقط، لا يدعم الاستفسارات المشروطة، متعدد المعايير الاستعلام فإن السبيل الوحيد هو تكرار البيانات، ولكن هذا سيكون مضيعة كبيرة من مساحة التخزين
  • يقتصر الذاكرة، فإنه لا يمكن دعم تخزين البيانات كتلة
  • وبالمثل، لأنه يعتمد نوع NoSql KV تخزين الذاكرة، وسوف يكون هناك خطر فقدان البيانات

وباختصار، KV NoSql معظم نوع المشهد المناسب هو سيناريوهات التخزين المؤقت:

  • قراءة أكثر بكثير من الكتابة
  • القدرة القراءة
  • عدم وجود طلب مستمر، ونحن يمكن أن يتسامح مع فقدان البيانات، وخسر على أي حال، وبعد ذلك يريد أن يكتب استعلام

على سبيل المثال معرف المستخدم معلومات المستخدم استعلام يستند كل هوية المستخدم إلى مخبأ الاستعلام، وجدت البيانات مباشرة إلى العودة، ومعرفة والتي وفقا للبيانات معرف استعلام قاعدة بيانات علائقية هو مكتوب إلى ذاكرة التخزين المؤقت.

بحث اكتب NoSql (نيابة ---- ElasticSearch)

قواعد البيانات العلائقية التقليدية في المقام الأول من خلال مؤشر لتحقيق الغرض من الاستعلام سريع، ولكن في مشهد البحث عن النص الكامل، ومؤشر عاجز، مثل استعلام لعدم تلبية جميع احتياجات مطابقة غامض، وثانيا، استخدام استخدام ضيقة للغاية وغير لائق من المرجح أن يسبب بطء الاستعلام، كان نوع NoSql البحث الولادة لمعالجة النص الكامل القضايا ضعيفة قواعد البيانات العلائقية القدرة على البحث ، ElasticSearch نوع البحث NoSql المنتجات التمثيلية.

مبدأ البحث عن النص الكامل هو مقلوب مؤشر، ونحن ننظر إلى ما هو مؤشر مقلوب. قل مؤشر المقلوب هو ما ننظر إلى الأمام مؤشر، مؤشر إلى الأمام التقليدي هو وثيقة - > رسم الخرائط الكلمة، مثل "توم هو صديقي" هذه الجملة، وتقسيمه إلى "توم"، "هو"، "بلادي"، "صديق" أربع كلمات، يتم مسح الوثيقة في وقت البحث، يحق معرفة ذلك. وبهذه الطريقة على مبدأ بسيط جدا، ولكن بسبب كفاءة الاسترجاع انخفاض لها، في الأساس قيمة أي عملية.

مؤشر المقلوب هو العكس تماما، هو الكلمة - > رسم الخرائط وثيقة، وانقر على الطاولة سوف تظهر واضحة نسبيا:

أعني أن هناك الآن "توم توم"، "توم هو صديقي"، "شكرا لك، بيتي"، "توم هو زوج بيتي" أربع كلمات، ومحرك البحث وقطع هذه الجملة وفقا لقواعد معينة تجزئة في كلمات N والبعد عن الكلمات الرئيسية للحفاظ على عدد من الحوادث كل كلمة رئيسية في النص. لذا فإن البحث القادم "توم"، لأن كلمة توم في "توم توم"، "توم هو صديقي"، "توم هو زوج بيتي" ظهرت ثلاث كلمات، لذلك سيتم استرداد هذا السجل ثلاثة ولأن "توم توم" هذه الجملة "توم" ظهرت مرتين، لذلك هذا هو أعلى مستوى على الاطلاق "توم" كلمة مطابقة، العرض الاول. هذه هي المبادئ الأساسية للمؤشر مقلوب محرك البحث، والكلمة التي تظهر في وثيقة، مؤشر ثم مقلوب من جزأين:

  • وثائق ID
  • الموقع يحدث في هذه الوثيقة

يمكن أن تتعلم عن طريق القياس، ونحن نبحث عن هاتين الكلمتين "بيتي توم" هو نفسه، فإن محرك البحث "بيتي توم" مقطعة إلى "توم"، "بيتي" كلمتين، وفقا لسعر المحدد من قبل المطور لقاء، مثل معدل ملء = 50 ، طالما كانت هناك واحدة من كلمتين يتم تسجيلها في السجل يتم استرداد، ومن ثم تظهر كما مطابقة.

بحث نوع NoSql إلى ElasticSearch سبيل المثال، مزاياه هي:

  • سيناريو تقسيم الدعم، البحث عن النص الكامل، والذي يختلف من معظم سمة هامة من سمات قاعدة بيانات علائقية
  • يدعم الاستفسارات المشروطة، دعم العمليات الكلي، على غرار المجموعة حسب قواعد البيانات العلائقية، ولكن أكثر قوة، ومناسبة لتحليل البيانات
  • ملفات الكتابة البيانات دون التعرض لخطر فقدان، يمكنك توسيع نطاق بسهولة في بيئة متفاوت المسافات، يمكنك تحمل البيانات على مستوى PB
  • توافر عالية، لصناعة السيارات في اكتشاف الفشل جديدة أو عقدة، وإعادة هيكلة وإعادة التوازن البيانات للتأكد من البيانات آمنة ويمكن الوصول إليها

وبالمثل، ElasticSearch هناك عيوب واضحة:

  • يستخدم بفضل أداء الذاكرة إلى أعلى نقطة في مذكرة عند الحاجة أكثر، جدا الموارد الأجهزة تناول الطعام، وتناول الذاكرة، وكمية كبيرة من البيانات في 64G + SSD هو في الأساس المعيار، يعتبر بمثابة قاعدة بيانات هيرميس. لماذا أذكر على وجه التحديد الذاكرة، لأن الذاكرة من هذه الاشياء هي قيمة جدا، ونفس التكوين ضعف الكثير من الذاكرة، ما يقرب من شهر لانفاق مئات الدولارات، وذاكرة ElasticSearch استخدامها في أي مكان، وهذه هي على الأرجح على النحو التالي:
  • فهرسة العازلة ---- ElasticSearch مؤشر مقلوب Luence، لوسين مؤشر المقلوب هو الجيل الأول في الذاكرة ثم دوريا طريقة الجزء الملف إلى الأقراص فرشاة، كل ملف الجزء يستند في الواقع على كامل
  • الذاكرة شريحة ---- الجبهة مقلوب مؤشر وقال هو على أساس الكلمات الرئيسية، سوف وسين 4.0 تكون بعد كل الكلمات الرئيسية في بنية بطريقة هذه البيانات FST سيبدأ عندما يتم تحميل كل الكلمات الرئيسية في كامل المبلغ في الذاكرة، وتسريع الاستفسارات سرعة، أوصى مسؤول في البقاء ما لا يقل عن نصف من ذاكرة النظام لوسين
  • أنواع مختلفة من مخابئ ---- تصفية ذاكرة التخزين المؤقت، ذاكرة التخزين المؤقت الميدان، الفهرسة مخبأ، الخ، وتستخدم لتحسين الاستعلام تحليل الأداء، مثل مجموعات نتيجة تصفية ذاكرة التخزين المؤقت للتخزين المؤقت استخدمت تصفية
  • العازلة الدولة Cluter ---- تم تصميم ElasticSearch لكل عقدة يمكن أن تستجيب لطلبات المستخدمين، لذلك تحتوي ذاكرة كل عقدة في نسخة من الكتلة لديها دولة، مجموعة كبيرة جدا من هذه المعلومات وضع يمكن أن تكون كبيرة جدا
  • هناك تأخير البيانات، وكتب تقريبا مثل 1S سيتم قراءة ما بين القراءة والكتابة، وهذا أمر طبيعي، وعندما كثيرا هو مكتوب إضافتها تلقائيا إلى مؤشر يؤثر بالتأكيد الأداء
  • البيانات المرونة هيكل ليست عالية، ElasticSearch هذا الشيء، عند إنشائه، لن تكون قادرا على تعديل نوع الحقل، وإذا كان إنشاء حقل في جدول البيانات لا يضيف فهرسة النص الكامل، أود أن أضيف، يمكنك فقط حذف الجدول بأكمله ومن ثم إعادة

لذلك، والبحث عن أكبر قدر من نوع مناسب NoSql السيناريو هو البحث مشروط بحث في النصوص، خصوصا المشهد، كبديل لقواعد البيانات العلائقية.

وبالإضافة إلى ذلك، وقواعد البيانات، فضلا عن تطبيق سيناريوهات أهمية خاصة بحث. قد نعتقد أنه بمجرد أن قاعدة البيانات للقيام الجدول الفرعي الفرعي المكتبة بعد يمكن القيام به الأصلي في العمليات الإجمالية جدول واحد، والعمليات الإحصائية إذا فشل كل شيء؟ على سبيل المثال، وضعت 16 نقطة على مكتبة جدول Orders، 1024 الجدول، وينتشر في ترتيب البيانات في الجدول 1024، وأريد أن الاعتماد أوامر أمس، وهو أعلى معدل دوران واحد في مقاطعة تشجيانغ التي القلم هو كيف نفعل؟ أريد أن أضع كل أوامر أمس ترتيب زمني عرض صفحة الطلب كيف نفعل؟ هذا هو تأثير كبير آخر من نوع NoSql ثيقة، يمكننا وضع جدول نقاط البيانات بعد توحيد الكفاح في نوع وثيقة NoSql، واستخدام نوع وثيقة قدرات البحث وتجميع الانتهاء NoSql من كامل المبلغ من الاستفسارات البيانات .

أما لماذا وضعه في الجزء الخلفي من نوع KV NoSql كما الكتابة الثانية، لأنه عادة ما بحث نوع NoSql أيضا طبقة ما قبل التخزين المؤقت لحماية قاعدة البيانات العلائقية.

مضمنة NoSql (نيابة ---- HBase)

مضمنة NoSql، واحدة من أكثر ممثل عصر التكنولوجيا من البيانات الكبيرة لHBase ممثلة.

NoSql العمود التخزين المرتكزة على العمود، ثم ما هو تخزين عمودية من ذلك، فإن مفهوم قواعد البيانات العلائقية القائمة على عمود SQL ويكون المفتاح الأساسي نفسه، إلا أنه يتم تنظيم قواعد البيانات العلائقية في صفوف من البيانات:

انظر لكل اسم الخط، الهاتف، العنوان ثلاثة حقول، والتي يتم تخزينها بالطريقة الخط، وهذا يمكن أن يكون الملحوظ معرف = 2، وحقل البيانات ليست حتى الهاتف، كما أنها تشغل مساحة.

العمود التخزين بطريقة مختلفة تماما، الذي تنظمه البيانات لكل عمود:

ما هو جيد يفعل؟ إلى النقاط التالية:

  • فقط العمود المحدد سيتم قراءة عند الاستعلام لا يقرأ كافة الأعمدة
  • توفير مساحة التخزين، لا يتم تخزين القيم لاغية، سيكون هناك مرات عديدة في البيانات المكررة (وخاصة بيانات التعداد، والجنس، والوضع، وما إلى ذلك)، هذه البيانات هو انضغاط، نسبة الضغط هو عادة قاعدة بيانات الخط في 3: 1 ~ 5: 1 نسبة الضغط هو عادة في عمود قاعدة بيانات 8: حوالي 1: 1-30
  • ويتم تنظيم البيانات في الأعمدة معا، قرص IO قد يكون لمرة واحدة قراءة البيانات في الذاكرة

النقطة الثانية عندما يتعلق الأمر ضغط البيانات، ماذا يعني أن الطريقة الأكثر شيوعا من سبيل المثال الجدول القاموس الضغط:

الشكل فهمه بدقة، يجب أن يفهم.

ثم الاستمرار في الحديث عن مزايا وعيوب، مضمنة NoSql، مع HBase كممثل من المزايا:

  • غير محدود لتخزين البيانات كتلة بيانات عن مستوى PB المخزنة فقط، استنادا إلى HDFS الأساسية (نظام الملفات Hadoop)، والمثابرة البيانات
  • قراءة جيدة وأداء الكتابة، طالما ليس هناك إساءة استخدام البيانات التي تسببها الساخنة واللعب عارضة، والقراءة والكتابة
  • على نطاق وهي واحدة من الأكثر ملاءمة في قواعد البيانات العلائقية وقواعد البيانات غير العلائقية، تحتاج فقط لإضافة الجهاز الجديد يمكن أن يتحقق الخطية قدرة بيانات النمو، ومتوفر على خوادم منخفضة التكلفة لتوفير التكاليف
  • في حد ذاته ليس لديه نقطة واحدة من الفشل، وتوافر عالية
  • قد المتجر الذي منظم أو بيانات شبه منظمة
  • من الناحية النظرية عدد غير محدود من الأعمدة، HBase نفسه يتطلب سوى عدد الأسر العمود، فمن المستحسن 1-3
  • أما وقد قلت ذلك مزايا HBase، ولكن أيضا مساوئ HBase أن نقول ذلك الوقت:
  • Hadoop HBase هو جزء من البيئة، وذلك في حد ذاته المنتجات الثقيلة نسبيا، يعتمد على العديد من العناصر Hadoop، وبيانات صغير لا حاجة لاستخدام وتشغيل وصيانة ما زال قليلا معقدة
  • نوع KV لا يدعم الاستعلام المشروط، أو شروط الاستعلام انها جدا، مسح ضعيفة جدا حالة HBase يتم توفير دفعة من البيانات في مسح أو بادئة تتطابق هذه API، ما لم تحدد متعددة الاستعلام معايير RowKey تكرار البيانات
  • فإنه لا يعتمد ترحيل الاستعلام، لأن الإحصاءات لا يمكن أن يكون العدد الإجمالي للبيانات

لذلك HBase أكثر ملاءمة لهذا النوع من المشهد نوع KV ومقدار النمو البيانات لا يمكن التنبؤ بالمستقبل، بالإضافة إلى استخدام HBase لا يزال يحتاج إلى بعض الخبرة، وبشكل رئيسي في تصميم RowKey.

نوع الوثيقة NoSql (نيابة ---- MongoDB)

بصراحة، في تجربتي، ونوع وثيقة NoSql لدي خبرة ضحلة نسبيا فقط، لذلك هذا الجزء يمكن أن تستخدم إلا بالاقتران مع المادة السابقة على الانترنت عموما اقول لك عنه.

ما هو عليه NoSql نوع الوثيقة نوع الوثيقة NoSql يشير إلى دمج واحد NoSql بيانات شبه منظمة يتم تخزين كوثيقة، نوع وثيقة NoSql عموما JSON أو تنسيق XML لتخزين البيانات، لذلك ليس هناك نوع وثيقة NoSql مخطط، وبسبب عدم وجود مخطط الميزة، يمكننا تخزين وقراءة البيانات بشكل عشوائي، حتى لا يكون هناك نوع وثيقة NoSql غير مريح حل العلائقية توسيع هيكل جدول قاعدة البيانات المشكلة.

MongoDB هو نوع وثيقة NoSql المنتجات تمثيلية، ولكن أيضا واحدة من المنتجات نجم من جميع المنتجات NoSql، حتى هنا لMongoDB سبيل المثال. كما أفهمها، كنوع NoSql ثيقة، MongoDB هي قاعدة بيانات علائقية بشكل كامل والمنتج الأساسي، ونحن ننظر من المتجر:

ترى، قواعد البيانات العلائقية هي خطوة بخطوة في كل ذاكرة الحقل يتم تخزينها في داخل JSON سلسلة MongDB. يمكن البيانات العلائقية يكون مؤشر الاسم، الهاتف، يمكن MongoDB استخدام نفس createIndex قيادة المفهرسة العمود، بعد الفهرسة يمكن أن تحسن كثيرا الاستعلام الكفاءة. وبالنسبة لآخرين، بل هو المفاهيم الأساسية الكبيرة، والتعليم الأساسي مشابه بين اثنين:

وهكذا، على MongDB، فهمنا فقط كقاعدة بيانات الحرة مخطط العلائقية الابتعاد، امسح مزاياه وعيوبه، ومزايا:

  • أية حقول المعرفة مسبقا، تمديد حقول بسهولة
  • مقارنة مع قواعد البيانات العلائقية، وقراءة فائقة وأداء الكتابة، وأصيب والاستعلام المؤشر الثانوي لا تكون أبطأ من قواعد البيانات العلائقية للحقول غير المفهرسة للتحقيق هو الفوز شامل

العيب هو أن:

  • أنه لا يدعم العمليات المعاملات، على الرغم من المطالبات لدعم الصفقة بعد Mongodb4.0، ولكن النتيجة هو الواجب مراعاتها
  • غير معتمدة العلاقة بين الاستعلامات متعددة الجدول (على الرغم من أن هناك طرق جزءا لا يتجزأ من وثائق)، والانضمام استفسارات أو تتطلب عمليات متعددة
  • تشغل مساحة أكبر، وهذا هو مشكلة تصميم MongDB، الفضاء قبل توزيع آلية + مساحة بعد حذف البيانات لا تفرج، فقط مع db.repairDatabase () أن أطلق الإصلاح
  • حاليا لم تجد علاقة MongoDB قاعدة بيانات MySQL مثال على هذه عملية متطورة وصيانة أداة برنامج Navicat

الكل في الكل، MongDB السيناريو الاستخدام قد حد كبير على قواعد البيانات العلائقية القياسية، ولكن أكثر ملاءمة لمعالجة أولئك الذين لا ينضمون، لا يوجد متطلبات الاتساق قوية وجدول البيانات ومخطط دائما تغيير.

مقارنة بين قاعدة البيانات وNoSql ومختلف NoSql: ملخص

الجزء الأخير، وجعل خاتمة، في التحليل النهائي، فإن هذه الورقة هي موضوعين:

  • عندما لتحديد قاعدة بيانات علائقية، عندما اختيار قواعد البيانات غير العلائقية
  • استخدام قواعد البيانات غير العلائقية، والتي تستخدم قواعد البيانات غير العلائقية

أولا، كان الموضوع الأول، حدد قاعدة البيانات العلائقية وقواعد البيانات غير العلائقية، في فهمي لا يوجد شيء أكثر من اعتبارين:

أولا، وليس كثير من التفسير يجب ان يفهم كل شيء، وقواعد البيانات غير العلائقية هي للحصول على أعلى أداء من خلال التضحية خصائص ACID، على افتراض الاتساق الطلب القوي نسبيا بين الجدولين، ثم هذه البيانات ليست يصلح في قاعدة البيانات غير العلائقية.

ثانيا، البيانات الأساسية لا تأخذ قاعدة البيانات غير العلائقية، مثل الجدول المستخدم، وجدول الطلبات، ولكن لديها فرضية أن هذه الفئة سيكون لها مجموعة متنوعة من وضع الاستعلام البيانات الأساسية، على سبيل المثال، الجدول المستخدم لديه ABCD أربعة حقول، وفقا لممكن تحقق AB، قد فقا للتحقيق، قد يكون AC التحقيق وفقا لD، يفترض البيانات الأساسية، وإنما هو KV النموذج، مثل الأحاديث المستخدم، ثم HBase وديعة على بن لادن.

سنوات من الخبرة في العمل نقطة للعرض، خصوصا سجل بيانات غير الأساسية، وهو نوع من المياه لا تكتب البيانات المتوسطة في قواعد البيانات العلائقية، وهذا النوع من البيانات عادة اثنين من الخصائص:

  • أعلى بكثير من الكتابة للقراءة
  • إرسال كمية كبيرة

باستخدام قاعدة بيانات علائقية كمحرك التخزين، سوف يقلل كثيرا من قدرة قواعد البيانات العلائقية، القراءة والكتابة بشكل صحيح QPS هو لن تتأثر الخدمات الأساسية عالية من قبل هذا النوع من السحب لقراءة وكتابة البيانات.

تليها السؤال الثاني، إذا أردنا استخدام قاعدة البيانات غير العلائقية كمحرك التخزين، ثم كيفية اختيار؟ في الواقع، فإن المادة المذكورة أعلاه كتب أساسا هنا فقط لتقديم ملخص (لن تنعكس كل أخطاء في شؤون هذه النقطة، لأن هذا هو كل NoSql مقارنة مع قاعدة بيانات علائقية مشكلة شائعة):

لكنه وصف هنا على وجه التحديد، يجب أن تقترن التحديد مع الوضع الفعلي بدلا من كتابتها، مثل:

  • بداية لتنمية المشاريع، ومن الواضح أن قاعدة بيانات علائقية قادرة على الحصول على الدعم وسنة واحدة من الهندسة المعمارية، للدخول في حلول تقنية كبيرة وشاملة من
  • هناك بعض الشروط للاستعلام البيانات وأكثر من ذلك، بذل المزيد من الجهد مناسبة ElasticSearch العلائقية تخزين قاعدة البيانات لتخفيف الضغط، ولكن التكلفة شركة محدودة، وهذا النوع من البيانات في هذه الحالة يمكنك محاولة الاستمرار في استخدام قاعدة بيانات علائقية للتخزين
  • هناك نوع بسيط تنسيق البيانات، نوع KV هو كبير ومتزايد، ولكن HBase الشركة أي موهبة في هذا المجال، والتشغيل والصيانة قد يكون لها بعض الصعوبة، للنظر عملية، قد يكون بعض الوقت قبل الجزء العلوي من قاعدة بيانات علائقية

لذا، إذا كنت لا تنظر للحالة الفعلية، على الرغم من أن بعض محرك التخزين السليم هو أكثر ملاءمة، ولكن استخدام القوة بل على العكس، وباختصار، لبلدهم هو الأفضل.