У нас есть 2 центра обработки данных (один в ЕС и один в США) с 4 узлами, каждый из которых развернут в AWS. Узлы разделены на 3 стойки (зоны доступности) каждый. В кластере у нас есть тестирование пространства ключей с репликацией: NetworkTopologyStrategy, eu-west: 3, us-east: 3 В пространстве ключей у нас есть таблица mytable, которая имеет только одну строку 'id' text
Теперь, мы делали некоторые тесты на производительность базы данных. В CQL SH с уровнем согласованности LOCAL_QUORUM мы выполняли некоторые вставки с TRACING ON, и мы заметили, что запросы не работают так, как мы ожидали.
Из данных трассировки мы обнаружили, что узел-координатор как и ожидалось, ударил 2 других локальных узла, а также отправлял запрос на один из удаленных узлов центра обработки данных. Теперь проблема заключалась в том, что координатор ждал не только локальных узлов (которые быстро завершили работу), но и удаленных узлов.
Теперь, поскольку наши два центра обработки данных географически удалены друг от друга, наши запросы выполнялись очень долго.
Примечания: - Это не происходит с DSE, но мы понимаем, что нам не нужно платить сумасшедшие деньги, чтобы LOCAL_QUORUM работал, как ожидается