Сохраняет ли Cassandra только затронутые столбцы при обновлении записи или все столбцы при каждом обновлении? - PullRequest
1 голос
/ 16 июня 2020

Если да,

  1. Означает ли это, что в отличие от Mon go или RDMS, извлекаем ли мы каждый столбец или какой-то столбец, будет иметь большое влияние на производительность в Cassandra? (I я не говорю о времени передачи по сети, так как это повлияет на все вышеперечисленное)

  2. Означает ли это, что во время сжатия он не может просто остановиться, когда найдет последнюю строку для первичного ключа, он должен go через полный набор в SSTables? (Я понимаю, что будет оптимизация, поскольку ранее сжатый SSTable будет иметь максимум одно вхождение для строки)

1 Ответ

1 голос
/ 16 июня 2020

Пожалуйста, задавайте только один вопрос на вопрос.

Это полностью зависит от вас. Если вы напишете одно значение столбца, оно будет сохраняться только в нем. Если вы напишете их все, они все будут сохраняться, даже если они совпадают с текущим значением.

извлекаем ли мы каждый столбец или какой-либо столбец, будет иметь большое влияние на производительность

Это определенно так. Запросы для значений столбцов, которые малы или не были записаны или удалены, будут намного быстрее, чем наоборот.

во время сжатия он не может просто остановиться, когда найдет последнюю строку для первичного ключа , он должен go через полный набор в SSTables?

Да. И не только во время сжатия, но и запросы чтения также будут проверять несколько файлов SSTable.

...