0

У меня есть инструмент отчетности, который считывает данные из Кассандры. Конфигурации: уровень согласованности - LOCAL_QUORUM, стратегия уплотнения - размерная и RF = 3.Расписание читать ремонт до читать

Когда запрос тянуть от инструмента отчетности к Cassandra, согласно конструкции Cassandra, он вызывает исправление считывания для согласованности данных. На самом деле это хороший дизайн. Но читать ремонт дорого, а отчеты занимают больше времени.

Пользователи моего отчета начинают генерировать отчеты только после 6 утра IST. Есть ли способ запланировать чтение исправлений до того, как пользователи начнут использовать отчеты. например, я планирую и заканчиваю ремонт до 6 утра IST. Таким образом, после 6 утра IST все данные будут состоять из кластера.

В этом случае, как только отчет начнет считывать данные из Cassandra, он не должен снова запускать исправление для чтения, поскольку мы только что закончили читать ремонт как запланированное задание. Я отлично справляюсь с несовместимыми данными по записи/обновлениям после 6 AM IST. Какой метод хорош, чтобы запланировать ремонт, и действительно ли мы избегаем ремонта, если они сделаны недавно. -Suyodha

ответ

1

Если вы используете традиционный антиэнтропийный ремонт, вы можете читать его на уровне согласованности: ONE.

Есть много способов сделать антиэнтропия ремонт, наиболее очевидным является nodetool repair (вероятно, с помощью переключателей nodetool repair -par -inc или аналогичной командной строки), или с помощью некоторых сторонних утилит для ремонта небольших диапазонов, таких как Cassandra Range Repair инструмент поддерживается Брайан Галле или Spotify's Cassandra Reaper.

+0

Привет Крис и Jeff..Based на ваших входов ... У меня мой вопрос ответил. Спасибо вам, ребята. –

1

Что заставляет вас думать, что читать ремонт - это то, что замедляет его? проверьте (jmx) org.apache.cassandra.metrics:type=ReadRepair,name=RepairedBackground и org.apache.cassandra.metrics:type=ReadRepair,name=RepairedBlocking, чтобы проверить, действительно ли происходят ремонтные работы. Чтение ремонта начнется только в том случае, если данные не совпадают с чтением, которое не должно быть таким общим.

Если его действительно проблема, вы можете отключить чтение ремонт на столе, установив возможность 0.

ALTER TABLE yourtable WITH read_repair_chance = 0; 
+0

Привет, Крис и Джефф, Спасибо, что посмотрели на него. Я вернусь к вам, ребята, как можно скорее. Большое спасибо. –

+0

Отключение восстановления чтения с помощью ALTER TABLE защищает только от проверки чтения фона, который не блокируется. Восстановление чтения на переднем плане может быть отключено только с использованием более низкого уровня согласованности. –

+0

Это правда, вам нужны CL.ONE и 'read_repair_chance = 0', чтобы предотвратить как блокировку, так и восстановление фона. Только делать это все равно позволит другим. Я думаю, что его все еще довольно вероятно, что это не настоящая причина, когда отчеты занимают много времени –