1

Читая книгу "Cassandra. Полное руководство" дошел до формулы вычисления размера раздела. У кассандры мол ограничение в 2 млрд значений на раздел. Я так понимаю что 1 раздел - это одно значение первичного ключа в скобках без кластерных ключей. Формула в книге грубо количество строк * на количество столбцов, но в книге почему то количество строк вычисляется как общее количество строк всей таблицы. Но в этой же формуле должна идти речь про количество строк в разделе? например если primary key такой ((hotel_id), date), то учитывать нужно только строки с определенным hotel_id, например hotel_id=10, или я не прав?

1 Answers1

0

Да, для вычисления размера раздела, надо взять количество строк в конкретном разделе (hotel_id), и умножить его на средний размер строки, который зависит от количества колонок, их типов, и метаданных (timestamp & ttl).

2 миллиарда ячеек это теоретический максимум. Реальная рекомендация - не больше 100 тысяч ячеек, и до 100Мб на диске (зависит от версии Кассандры). Реальный размер раздела на диске будет зависеть от того, что за данные хранятся, и насколько эффективно сжатие. Эту информацию можно получить только путем эксперементирования. Очень удобная тулза для этого - NoSQLBench, разработанный DataStax, но с открытым кодом.

P.S. Судя по году издательства, это 2-я версия книги, там было достаточно много ошибок. Лучше взять на английском 3-е издание - оно сильно лучше 2-го. Можно скачать его бесплатно вот тут

Alex Ott
  • 351