سؤال

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

ودعونا نقول هذا هو بلدي ما أحتاج لتخزين:

{123456: {'model' : 'Ford'
          'color': 'blue'
          'MPG': 23}}

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

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

واسمحوا لي أن أعرف إذا أنا أسأل السؤال الصحيح.

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

المحلول

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

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

{'blue': {123456}}

في ما يعادل الجدول الرقم القياسي.

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

نصائح أخرى

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

نعم، وهذا هو تكرار وظيفة مؤشر لRDBMS العادية.

وهذا هو مادة جيدة حول كيفية اقترب فريق فليكر هذه المشكلة واستقر على هذا الحل، جنبا إلى جنب مع مسوغاتها (وأنا أعلم، غريبا بعض الشيء لأنها استخدمت RDBMS كمخزن مفتاح / قيمة، ولكن نقاط الحوار هي نظرية سليمة):
http://bret.appspot.com/entry/how-friendfeed-uses- الخلية

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