Я хочу понять, как работает команда truncate
в Cassandra (версия 3.9), чтобы узнать, что произойдет в следующем сценарии:
- У меня есть около 100 ГБ данных на рабочий стол в таблице, которую нужно усечь.
- Я хочу усечь эту таблицу, но в то же время будет несколько сотен запросов в секунду, которые будут выполнять вставки одновременно.
Я пытаюсь теоретически понять, как бы это закончилось.
- Будет ли
truncate
пытаться получить какой-либо замок на столе, прежде чем он сможет продолжить? и, возможно, остановит запросы на вставку или сам по себе истечет время ожидания? - Или будет
truncate
go последовательно по мере поступления запроса и следующих запросов на вставку создаст дополнительные строки, и я получу в итоге после усечения осталось небольшое количество строк.
Я просто пытаюсь освободить место, поэтому меня не особенно беспокоит, остается ли небольшой объем данных из запросов на вставку, выполняемых после команды усечения.
Я просто пытаюсь понять, ожидаете ли вы, что это завершится успешно, или это не получится / истекло время ожидания.
Я попытаюсь запустить аналогичный сценарий на меньшем кластере, но Я не уверен, что это будет хорошей заменой, чтобы понять реальное поведение. Любые материалы будут полезны.