ساعدني في الحصول على فهم أفضل لنموذج بيانات Digg's Cassandra
سؤال
http://about.digg.com/blog/loking-future-cassandra
لقد وجدت هذا المقال حول انتقال Digg إلى كاساندرا. لكنني لم أحصل على فكرة المؤلف عن دلو للزوج (المستخدم ، العنصر). مزيد من التفاصيل حول الفكرة ستكون مفيدة بالنسبة لي لفهم الحل بشكل أفضل.
شكرًا
المحلول
يبدو أنهم يستخدمون صفًا واحدًا في عائلة عمود سوبر لكل مستخدم مع عمود واحد فائق لكل عنصر ؛ يمثل العمود الفرعي لعنصر Super صديقًا يعاني من العنصر. على الأقل في Pycassa ، هذا يجعل إدراج بسيط مثل:
column_family.insert(user, {item: {friend: ''}})
كان بإمكانهم أيضًا القيام بذلك بطريقتين أخريين ، ولست متأكدًا من اختاروه.
أحدهما هو استخدام عائلة عمود قياسية ، واستخدام مجموعة (مستخدم ، عنصر) لمفتاح الصف ، واستخدم عمودًا واحدًا لكل صديق يدوم العنصر:
column_family.insert(user + item, {friend: ''})
آخر هو استخدام عائلة عمود قياسية ، واستخدام فقط (مستخدم) لمفتاح الصف ، واستخدام مجموعة (عنصر ، صديق) لاسم العمود:
column_family.insert(user, {item + friend: ''})
لا يبدو هذا هو ما استخدموه ، لكنه خيار مقبول أيضًا.