Влияние на производительность при установке gc_grace_seconds = 0 в одном узле кассандры - PullRequest
0 голосов
/ 24 апреля 2020

Я понимаю, что при удалении записи в Cassandra значение фактически не удаляется, а помечается как надгробная плита, чтобы можно было достичь согласованности среди других узлов.

В моей производственной настройке я получаю данные от 1000 датчиков, и я отправляю эти данные на Azure служебную шину, inte rnet не очень стабильно работает, поэтому у меня есть узел cassandra для хранения данных, которые еще не были отправлены на Azure,

После отправки на Azure Я удаляю данные в записях Cassandra, которые я успешно отправил, я установил для таблицы GC_Grace_Seconds значение 0, и я никогда в будущем не планирую добавлять еще один узел в этот кластер (всегда один узел Cassandra. ).

Это вызовет у меня какие-либо проблемы в будущем с этим планом? производительность этой таблицы снизится? Повлияет ли это на любые другие таблицы, которые я могу захотеть создать на этом узле? ..

1 Ответ

0 голосов
/ 28 апреля 2020

Для этого конкретного c варианта использования, когда у вас был план продолжить работу с кластером кассандры с одним узлом, это не окажет такого влияния. Таким образом, всякий раз, когда данные удаляются из таблицы с gc_grace_seconds = 0, они будут считаться удаленными и не помечаться как надгробная плита. Другое дело, потому что это всего лишь кластер кассандры с одним узлом, поэтому не нужно беспокоиться о том, чтобы какой-либо одноранговый узел делился обновлениями удаления.

Но другой важный вопрос - это выбор базы данных cassandra в качестве кластера с одним узлом для этого варианта использования, предпочтительным является Postgres, который может легко удовлетворить ваши потребности.

...