Помогите мне лучше понять модель данных Кассандры от Digg
http://about.digg.com/blog/looking-future-cassandra
Я нашел эту статью о переезде Дигга на Кассандру. Но я не понял идею автора Bucket для пары (пользователь, предмет). Немного больше подробностей об этой идее поможет мне лучше понять решение.
Спасибо
1 ответ
Похоже, они используют одну строку в семействе суперколонок на пользователя с одним суперколонкой на элемент; подколонка для суперколонки предмета представляет друга, который копал предмет. По крайней мере, в Pycassa это делает вставку так же просто, как:
column_family.insert(user, {item: {friend: ''}})
Они также могли бы сделать это несколькими другими способами, и я не уверен, что они выбрали.
Один из них - использовать стандартное семейство столбцов, использовать комбинацию (пользователь, элемент) для ключа строки и использовать один столбец на друга, который обнаружил элемент:
column_family.insert(user + item, {friend: ''})
Другой способ - использовать стандартное семейство столбцов, использовать просто (пользователь) для ключа строки и использовать комбинацию (элемент, друг) для имени столбца:
column_family.insert(user, {item + friend: ''})
Не похоже, что это то, что они использовали, но это также приемлемый вариант.