مقالات

Algolia أم Typesense: بحث تستضيفه أم بحث تستأجره

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

بقلم أنس حمداوي5 دقائق قراءة
  • comparison
  • search
  • infrastructure
كل المقالات

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

ماذا يبيعكم البحث المُدار فعلًا؟

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

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

ماذا يكلّفكم احتفاظ بنسخة ثانية من بياناتكم؟

الفهرس نسخة. كل حقل ترسلونه إليه يعيش الآن خارج قاعدة بياناتكم، في شبكة مورّد، وتحت سجلات وصوله وقواعد احتفاظه وسطح اختراقه. وهذا ليس سببًا للرفض، بل سبب للقرار حقلًا حقلًا. اسم المنتج ووصفه وتصنيفه مكانها الفهرس. والراتب ورقم الهوية والملاحظة الطبية وسقف الائتمان الداخلي لا مكان لها فيه، وأرخص طريقة لإبقائها خارجه قائمة مكتوبة بما يجوز فهرسته، تُتفق عليها قبل دفع أول سجل.

والتكلفة الثانية انحراف النسخة. الفهرس إسقاط لبياناتكم وليس الحقيقة، ومكانان يجيبان عن السؤال نفسه سيختلفان. منتج حُذف من قاعدة البيانات يظل ظاهرًا في النتائج، ويظل العميل يجد طلبًا ألغاه.

ماذا تتحمّلون حين تشغّلون الفهرس عندكم؟

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

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

ويُباع Typesense مستضافًا أيضًا، وAlgolia ليس الخيار المُدار الوحيد. والمقارنة التي تستحق هي بين الشكلين، لا بين شركتين.

كيف يعرف الفهرس أن سجلًا تغيّر؟

هنا تبدأ معظم الحوادث، في الشكلين. ثلاث آليات، من الأقل موثوقية إلى الأعلى.

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

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

هل يُقبل فهرس متأخر عشر دقائق؟

أحيانًا، والجواب لكل حقل لا لكل نظام. وصف منتج متأخر لا يراه أحد. وجرد مخزون متأخر بيع القطعة مرتين ومكالمة هاتف. وسعر متأخر جدال عند الصندوق.

فاكتبوا الرقم: السعر والمخزون يجب أن يكونا دقيقين، أو يُقرآ من قاعدة البيانات بعد أن يعيد الفهرس معرّف السجل، بدل الثقة بالنسخة. والعناوين والأوصاف والتصنيفات يمكن أن تتأخر دقائق. والصلاحيات لا تُنفَّذ من الفهرس أبدًا: الاستعلام الذي يعيد صفًا ليس الاستعلام الذي يقرر هل يجوز لهذا المستخدم رؤيته.

كيف يبدو الفارق عند التشغيل؟

البعد مُدار (Algolia) مستضاف عندكم (Typesense)
من يشغّل الفهرس المورّد، وأنتم تضبطون الصلة فريقكم، وأنتم ترقّون وتقدّرون الذاكرة
مكان الفهرس نسخة ثانية في شبكة المورّد داخل شبكتكم
مزامنة البيانات تبنونها تبنونها
العطل في الثانية صباحًا صفحة حالة ومحادثة دعم هاتفكم
شكل التكلفة يتحرك مع السجلات والاستعلامات فاتورة خادم ثابتة تقريبًا

كيف تختبرون قبل الاختيار؟

  1. عدّوا السجلات، وعدّوا الحقول في كل سجل. متجر ببضعة آلاف من المنتجات وتدفّق بمئات الآلاف من الأحداث مشكلتان مختلفتان بالمفردات نفسها.
  2. عدّوا كم مرة يتغير السجل في اليوم، وكم سجلًا يتغير دفعة واحدة عند التصدير من نظام قديم.
  3. اكتبوا التأخر المقبول لكل حقل بالدقائق، واحصلوا على موافقة من يملك البيانات.
  4. اكتبوا الحقول التي لا يجوز أن تخرج من شبكتكم. إن كانت القائمة غير فارغة، فالمُدار يحتاج تصفية أو يسقط.
  5. ابنوا المزامنة أولًا، عملية مستقلة بطابور ومسار إعادة تشغيل، حتى تُغيَّر الوجهة لاحقًا دون لمس التطبيق.
  6. اختبروا العطل: أوقفوا الفهرس وراقبوا الموقع. صندوق يقول «البحث غير متاح» قرار، وصفحة بيضاء ليست قرارًا.

أين يخطئ الفريق؟

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

ما لا يغطيه هذا الرأي

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

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

نبني المزامنة والبديل الاحتياطي، حتى يتدهور الفهرس المتأخر إلى صفحة أبطأ لا إلى جواب خاطئ.

خدمات في هذا المقال

ابدأ مشروعًا

لديك شيء تريد بناءه؟

ملخص قصير يكفي. تحصل على نطاق مكتوب وسعر ثابت قبل أن يبدأ أي شيء.