توسيع نطاق البحث. بحث مزاياها ومتطلباتها الأساسية للتثبيت

طاب مسائك. اسمي رومان لارشيكوف ، وأنا مهندس دعم فني في Docsvision. تم إعداد هذه المقالة لأولئك الذين يهتمون بالتفاصيل الفنية لتنفيذ توسيع نطاق البحث والإلمام بعمل Elasticsearch. ستتحدث المقالة عن أسباب استخدام ES ، ومتطلبات النظام ، بالإضافة إلى المزايا على البحث من MS SQL Server.

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

لماذا البحث المرن؟


صورة

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

في هذا الصدد ، قدم إصدار Docsvision 5.5 إمكانية استخدام قواعد البيانات الخارجية (القمر الصناعي). الآن ليست هناك حاجة لتخزين جميع البيانات في قاعدة بيانات واحدة ، والتي تنمو أثناء العمل المكثف يوميًا بأحجام كبيرة ، مما يعقد عملية خدمة قاعدة البيانات ، وسرعة استردادها أثناء الأعطال ، وعمومًا يبطئ قاعدة البيانات نفسها.

صورة

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

سهولة التخصيص والمرونة والموثوقية والقابلية للتوسع وسرعة الفهرسة والبحث عبر الإنترنت هي كل شيء عن Elasticsearch.

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

يتم تمثيل المستندات ككائنات JSON. في نفس الوقت ، فإن التسلسل (عملية ترجمة أي بنية بيانات إلى سلسلة من البتات) يدعم JSON من قبل معظم لغات البرمجة وهو بالفعل التنسيق القياسي لـ NoSQL.

1. التعريف بأبحاث البلاستيك


1.1. ما هذا؟


Elasticsearch هو محرك بحث نص كامل قابل للتطوير مفتوح المصدر يستخدم مكتبة Lucene ومكتوب بلغة Java. يتوفر وصف لجميع مزايا هذا المحرك على الموقع الرسمي .

الغرض منه هو إجراء عمليات بحث معقدة في قاعدة بيانات المستندات / الملفات. في قاعدة بيانات Elasticsearch ، تسمى الجداول الفهارس ، وتسمى عملية تحميل المستندات بالفهرسة.

يمكن اعتباره مستودعًا غير علائقي للمستندات بتنسيق JSON ومحرك بحث يستند إلى بحث Lucene للنص الكامل. يتوفر العملاء الرسميون في Java و NET (C #) و Python و Groovy و JavaScript و PHP و Perl و Ruby.

يتم تطوير ES من قبل Elastic ، إلى جانب المشاريع ذات الصلة المسماة Elastic Stack - Elasticsearch و Logstash و Beats و Kibana.

Elasticsearch هو المسؤول عن تخزين البيانات والبحث عنها (فيما يلي ، للإيجاز ، وسنسميها ES).

1.2. مزايا محرك بحث Elasticsearch مقارنة بمحرك البحث MS SQL


Docsvision 5.5 لديه خيار لمحرك البحث للعمل معه. في هذه المقالة سوف أركز على استخدام محرك البحث Elasticsearch وأتحدث عن مزاياه على البحث من MS SQL Server.

المزايا الرئيسية:

  • قدرة خدمة الفهرسة على الوصول إلى مخازن البيانات الخارجية. في الوقت نفسه ، يتم فهرسة البيانات بشكل صحيح وعرضها بشكل صحيح أثناء البحث. عند استخدام محرك بحث SQL Server ، كان من الممكن البحث فقط عن طريق البيانات المخزنة في قاعدة البيانات الرئيسية.
  • ES هو مشروع مفتوح المصدر ، ويستخدمه العديد من الشركات العالمية للبحث في مجموعات بيانات ضخمة.
  • ES , , .
  • (). ES, SQL Server .
  • ES — , .
  • ES (, , ), .
  • , , , .
  • ES . .
  • . , , , , , .
  • , , , , .
  • ES ( ). Docsvision, ES , SQL .
  • — SQL. , , , . , .. , . , , .. . ES .
  • لا يزيد حجم قاعدة البيانات عند إضافة اللغات. على عكس ES ، عند استخدام البحث عن نص كامل في MS SQL ، تزيد البيانات المفهرسة من حجم قاعدة البيانات الرئيسية ، خاصة إذا تم تكوين الفهرسة بلغات مختلفة ، على سبيل المثال ، الروسية / المحايدة / الإنجليزية. في هذه الحالة ، يزداد نمو جداول الفهرسة عدة مرات بالفعل ، إذا تم اختيار لغة واحدة فقط للفهرسة ، على سبيل المثال ، محايدة.

2. البرامج المطلوبة ومتطلبات النظام لتثبيت Elasticsearch


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

2.1. الرامات "الذاكرة العشوائية في الهواتف والحواسيب


إن المورد الأكثر أهمية لـ ES هو RAM. هذا هو المورد الأساسي الذي سينتهي على الأرجح أولاً. الحجم الأدنى المسموح به هو 8 جيجابايت ، الحجم الموصى به من 16 إلى 64 جيجابايت. يُسمح بالمزيد إذا كانت هناك حاجة فعلاً.

صورة

يمكن أن يستهلك الفرز والتجميع قدرًا كبيرًا من الذاكرة ، لذلك من المهم أن يكون لديك كمية كافية من الذاكرة. يعد الجهاز المزود بذاكرة وصول عشوائي (RAM) بسعة 64 غيغابايت حلًا مثاليًا ، ولكن الأجهزة ذات 32 جيجابايت و 16 جيجابايت شائعة أيضًا. إذا تم تثبيت 8 غيغابايت أو أقل على الجهاز ، فقد يؤدي هذا إلى نتائج عكسية (في النهاية ، قد تحتاج إلى العديد من هذه الأجهزة "الصغيرة"). استخدام أكثر من 64 جيجا بايت له خصائصه الخاصة.

2.2. وحدة المعالجة المركزية


كقاعدة عامة ، لا يحتوي ES على الكثير من متطلبات المعالج ، لذا فإن اختياره أقل أهمية من الموارد الأخرى.

صورة

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

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

2.3. القرص


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

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

صورة

إذا كنت تنوي استخدام أقراص صلبة (HDD) ، فمن المستحسن استخدام أقراص خادم عالية الأداء (أقراص بسرعة دوران تبلغ 15000 دورة في الدقيقة).

يعد استخدام RAID 0 طريقة فعالة لزيادة سرعة القرص لكل من الأقراص الدوارة ومحركات أقراص SSD. ليست هناك حاجة لاستخدام خيارات RAID مع النسخ المطابق أو التماثل ، حيث أن التوافر العالي مدمج في ES من خلال النسخ المتماثلة.

2.4. جدولة I / O


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

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

ومع ذلك ، هذا غير فعال لمحركات الأقراص ذات الحالة الصلبة ، لأنها لا تستخدم لوحات دوارة. بدلاً من ذلك ، استخدم مهلة أو لا. يتم تحسين جدولة الموعد النهائي اعتمادًا على المدة التي ينتظرها التسجيل ، في حين أن noop ليست سوى قائمة انتظار FIFO بسيطة.

يمكن لهذه التغييرات البسيطة تحسين إنتاجية الكتابة بشكل كبير باستخدام المجدول الزمني الصحيح.

2.5. شبكة الاتصال


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

شبكات مراكز البيانات الحديثة (1 جيجابت ، 10 جيجابت) كافية للغالبية العظمى من التكتلات.

يجب تجنب التكتلات التي تمتد عبر العديد من مراكز البيانات ، حتى إذا كانت مراكز البيانات قريبة جدًا. بالتأكيد تجنب المجموعات التي تمتد لمسافات جغرافية كبيرة.

تفترض مجموعات ES أن جميع العقد متساوية. تميل التأخيرات الطويلة إلى تفاقم المشاكل في الأنظمة الموزعة وتجعل تصحيح الأخطاء وحلها صعبًا.

2.6. توصيات عامة


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

3 - الخلاصة


بعد أن اكتشفنا ما هو Elasticsearch ، ومميزاته الرئيسية ومتطلبات التثبيت ، يمكننا متابعة تثبيت ES نفسه لمزيد من التكوين في Docsvision.

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

موضوع مثير للاهتمام؟ ثم يمكنك استخدام هذا الرابط ومعرفة المزيد! و هنا يمكنك التسجيل في الدورات.

All Articles