سؤال

أريد استخدام HBASE كمتجر حيث يمكنني الدفع في بضعة ملايين من الإدخالات للتنسيق {document => {term => weight}} على سبيل المثال "إدراج مصطلح X في المستند Y مع الوزن Z" ثم قم بإصدار أمر مثل "حدد أفضل 1000 مصطلحات لهذا المستند" أو "حدد أعلى 1000 مصطلح لكل مستند". يعمل هذا في تطبيق MySQL الحالي ولكن ربما يكون المجال أكثر ملاءمة ل HBase. لاحظ أن HBASE و BigTable تستخدم لفهرسة النص الكامل، وهو مجال مشكلة مماثلة.

يمكنك أن تقول أنني لم أفعل أكثر من قراءة بعض الصفحات على HBASE، لكنني آمل أن تفهم جوهري سؤالي. انها مرتبطة هذا السؤال.

قد تشمل الحواجز المحتملة HBASE غير السماح باستفسارات مع ما يعادل LIMIT بند. بالنظر إلى أنني أريد الاستئصال بالوزن، أود أن أراد {weight => term}, ، والتي ستكون مشكلة بالنسبة لشخصين بنفس الوزن (أفترض أن HBase يسمح فقط بمفاتيح فريدة). بدلا من ذلك، يجب علي تخزين مجموعة من المصطلحات لوزن معين، لكن هذا من شأنه أن يحد من قدرتي على الحد الدقيق لعدد المصطلحات التي تم إرجاعها.

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

المحلول

إجابة بسيطة نعم.

إجابة أكثر تعقيدا، في الوقت الحالي اليوم هذه "No SQL"، كل منها ينفذ كل منها واجهة المبرمجين الخاصة بهم وكما يعني "NO SQL" أنها ليست مقرها SQL. لذا كن مستعدا لبعض الترميز، أي من الصعب. غالبا ما تكون هذه البيانات Datastores هي فقط مخازن قيمة النسبة، التي حصلت عليها عبر الراحة أو الصابون (HBASE لديها أيضا مفهوم لعائلات العمود). ما يقومون بإقراض أنفسهم نحو رغم أن الخريطة تقليل، وهو مجال مثير للاهتمام للغاية من الاستعلام وتستحق القراءة.

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