Я новичок в Cassandra. Я не понимаю, как обновить конкретный столбец в Cassandra, относящийся к определенному пользователю.Как обновить колонку в Cassandra
Например, я хочу обновить местоположение пользователя в семействе столбцов пользователя.
Я новичок в Cassandra. Я не понимаю, как обновить конкретный столбец в Cassandra, относящийся к определенному пользователю.Как обновить колонку в Cassandra
Например, я хочу обновить местоположение пользователя в семействе столбцов пользователя.
Если вы следуете API бережливости, нет никакой разницы между обновлением и вставкой. Это тот же вызов API.
Нет никакой разницы между вставкой/обновлением в кассандре (как сказал Пранаб).
Теперь, чтобы указать вам пример пользователя ... Я предполагаю, что у вас есть строка для каждого пользователя и столбцы для таких вещей, как имя, адрес электронной почты, местоположение.
Если вы сделали две вставки
[псевдо-код]
insert('user-123', {'name': 'bob', 'email': '[email protected]'})
insert('user-123', {'location': 'nowheresville'}
[/ псевдокод]
вы в конечном итоге с пользователем строки, выглядит следующим образом:
row-key: 'user-123'
row-value: {'name': 'bob', 'email': '[email protected]',
'location': 'nowheresville'}
Это должно ответить на ваш вопрос, но еще одно примечание строк/столбцов в кассандре. Поскольку в строке нет мест блокировок, вы должны быть осторожны, чтобы разбить ваши данные как это. Если бы два человека сохраняли «user-123» одновременно с тем, что думаю, что, возможно, есть строка, которая вдвое меньше, чем вы хотели, и половину того, что нужно для другого вложения данных.
Из-за этого, как правило, лучше сохранить все данные пользователя в одной ячейке (сериализованной).
альтернативная структура для этих данных может быть:
row-key: 'nowheresville'
row-value: {'bob-123': serialized-bob-data}
serialized-bob-data: {'name': 'bob', 'email': '[email protected]'}
эта информация является недостаточной. Что вы прочитали, что вы пробовали, какова ваша структура и т. Д.? – Bozho 2010-11-25 09:38:39