اقترح نموذج بيانات كاساندرا لمخطط موجود
-
21-09-2019 - |
سؤال
آمل أن يكون هناك شخص يمكنه مساعدتي في اقتراح نموذج بيانات مناسب يتم تنفيذه باستخدام قاعدة بيانات NOSQL Apache Cassandra. أكثر مما أحتاجه للعمل تحت أحمال عالية وكميات كبيرة من البيانات.
مبسطة لدي 3 أنواع من الكائنات:
- المنتج
- بطاقة شعار
- ProductTag
المنتج:
key - string key
name - string
.... - some other fields
بطاقة شعار:
key - string key
name - unique tag words
ProductTag:
product_key - foreign key referring to product
tag_key - foreign key referring to tag
rating - this is rating of tag for this product
قد يكون لكل منتج 0 أو العديد من العلامات. قد يتم تعيين العلامة إلى 1 أو العديد من المنتجات. تعني العلاقة بين المنتجات والعلامات كثيرة من حيث قواعد البيانات العلائقية.
يتم تحديث قيمة "التقييم" "في كثير من الأحيان".
أحتاج إلى تشغيل الاستفسارات التالية
- حدد الكائنات بواسطة المفاتيح
- حدد علامات للمنتج المطلوبة بالتصنيف
- حدد المنتجات حسب طلب العلامة حسب التصنيف
- تحديث التصنيف بواسطة Product_key و tag_key
الأهم من ذلك هو جعل هذه الاستعلامات سريعة حقًا على كميات كبيرة من البيانات ، مع الأخذ في الاعتبار أن التصنيف يتم تحديثه باستمرار.
المحلول
شيء من هذا القبيل:
Products : { // Column Family
productA : { //Row key
name: 'The name of the product' // column
price: 33.55 // column
tags : 'fun, toy' // column
}
}
ProductTag : { // Column Family
fun : { //Row key
timeuuid_1 : productA // column
timeuuid_2 : productB // column
},
toy : { //Row key
timeuuid_3 : productA // column
}
}
تحديث
افحص هذا نموذج لتخزين أكبر درجة
لا تنتمي إلى StackOverflow