Изменяется ли SSTable при обновлении столбца? - PullRequest
2 голосов
/ 03 июля 2011

Я понимаю, что все операции вставки сначала будут поступать в commitlog, а затем Memtable, после чего он будет сжат до SSTable.

После сжатия до SSTable я выполняю операцию обновления для существующего столбца. Нужно ли изменить SSTable, чтобы обновить значение этого столбца?

Ответы [ 2 ]

3 голосов
/ 03 июля 2011

http://wiki.apache.org/cassandra/MemtableSSTable говорит:

После сброса файлы SSTable остаются неизменными; дальнейшие записи невозможны

Ваше обновленное значение будет записано в commitlog и memtable и в конечном итоге будет записано в новый SSTable на диске. Позже этот SSTable может быть объединен с другими SSTable для формирования нового большего SSTable (и старые будут отброшены) - это этап уплотнения.

1 голос
/ 03 июля 2011

Ответ на ваш дополнительный вопрос: да и нет - ваши значения могут оказаться в разных SSTable, пока они не будут сжаты, но вам не нужно ждать сжатия, чтобы получить «истинное» значение, потому что различныеверсии вашего значения имеют временную метку, поэтому Кассандра может вернуть самую последнюю версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...