سؤال

أنا أجري قليلا اختبار/POC هنا.

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

بعد التحميل ، أحتاج إلى السماح بآلية بحث سريعة للغاية. إذا نظرنا قليلاً إلى تنفيذ Google لـ BigTable والبنية من حوله ، فكرت في الأصل في استخدام Hive المدمج مع HBase. خلية بسبب قدراتها على الاستعلام. يعمل التحميل بشكل جيد ، أفضل من RDBMS perf. ومع ذلك ، فإن عنق الزجاجة الاستعلام ، والذي كان سبب البحث عن بدائل لـ RDBMS في المقام الأول ، يستمر مع Hive أيضًا.

اختبار الخلية للاستعلام ليس بالأداء المشتعل حقًا. ربما أحتاج إلى البحث عن بدائل ..

هل هناك شيء آخر؟ أي أداة/حل/مكتبة أخرى يمكنني وضعها على قمة HBase؟ أو حتى بدون HBase؟ (نظرت إلى HBase كبديل لـ RDBMS ، وأتحرك نحو الحوسبة DIST)

اقتراحات من فضلك ...

هل كانت مفيدة؟

المحلول

إذا كنت تريد إمكانيات بحث عامة ، فقد ترغب في إلقاء نظرة على حلول مثل سولر أو Elasticsearch في حين أن. يعمل HBase بشكل جيد إذا قمت بإعداد البيانات للاستعلامات التي تحتاجها (تصميم المفتاح) وليس للبحث العام. كما يمكنك النظر إلى زنبق الذي يجمع بين solr و hbase

نصائح أخرى

المشكلة التي تواجهها هي أن Hive تدير معظم استفساراتها كبرامج MapReduce التي تكون بطيئة بطبيعتها.

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

من الصعب أن تقول أكثر من ذلك لأن وصفك للبيانات ونوع الاستعلامات التي تريد تشغيلها عليها عام.

هذا ليس من الممكن استخدام MySQL لهذا العدد من الصفوف. قد تجربها مع بعض بيانات الاختبار ومعرفة ما إذا كان يمكنك الابتعاد عنها.

هل نظرت إلى حل Solr أو Lucene نوع؟ إنه ليس حل SQL ، لكن لغة الاستعلام مرنة جدًا لبعض أنواع الاستخدامات ، وهي سريعة للغاية. هناك أيضًا طرق لتوزيعها على مجموعة من الخوادم لتحسين الأداء ، أو تحجيم حجم الفهرس ، أو عدد الاستعلامات التي يمكنه التعامل معها ، أو كليهما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top