Что произойдет, если одному DC в Кассандре не хватит физической памяти? - PullRequest
0 голосов
/ 30 сентября 2018

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

Предположим, у нас есть 2 DC.Первый DC может хранить 1 ТБ, а второй DC может вместить только 500 ГБ.Кроме того, допустим, что у нас есть коэффициент репликации = 1 для обоих контроллеров домена.Как я понимаю, оба DC будут иметь полное кольцо токенов, поэтому каждый DC будет иметь полные данные.Что происходит сейчас, если я отправляю данные на DC 1, а общий объем необходимого хранилища превышает 500 ГБ?

1 Ответ

0 голосов
/ 01 октября 2018

Для простоты, я буду считать, что вы пишете данные с использованием DC1, так что этот будет локальным DC в каждом сценарии.Неисправный DC2 будет удаленным все время.Итак, что действительно важно здесь, это то, что уровень согласованности , который вы используете для своих записей:

  1. уровень согласованности типа LOCAL (LOCAL_QUORUM, ONE, LOCAL_ONE) - вы можете записать свои данные.
  2. уровень согласованности типа REMOTE (ALL, EACH_QUORUM, QUORUM, TWO, THREE) - вы не можете записать свои данные.

Я предлагаю прочитать о уровнях согласованности .

Кроме того, очень быстрый тест с использованием инструментов ccm и cassandra-Stress может быть полезен для воспроизведения различных сценариев.

Еще один комментарий касается вашего свободного места: когда узел достигнет 250 ГБМарк (половина 500 ГБ) у вас будут проблемы с уплотнением.Рекомендуется, чтобы половина дисков была пуста для выполнения операций сжатия.

Предположим, однако, что вы продолжите получать данные на этот узел и достигнете отметки 500 ГБ.Кассандра остановится на этом узле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...