Максимум. размер широких рядов?

Теоретически, Cassandra позволяет использовать до 2 миллиардов столбцов в широком ряду.

Я слышал, что на самом деле до 50 000 колод /50 МБ хороши; 50.000-100.000 cols/100 MB в порядке, но требуют некоторой настройки; и что никто не должен превышать 100 000/100 МБ столбцов в строке. Причина в том, что это окажет давление на кучу.

Есть ли какая-то правда?

Ответ 1

В Cassandra максимальное количество ячеек (строк x столбцов) в одном разделе составляет 2 миллиарда.

Кроме того, одно значение столбца может быть не больше 2 ГБ, но на практике "одиночные цифры МБ" являются более разумным пределом, поскольку нет потока или произвольного доступа значений blob.

Перегородки, превышающие 100 Мб, могут вызвать значительное давление на кучу.

Ответ 2

Одна из наших таблиц с cassandra 1.2 прошла 100-миллисекундные столбцы на число строк из-за новых образцов записи, которые мы испытали. Мы испытали значительное давление как на уплотнения, так и на наши тайники. Кстати, у нас были строки с несколькими сотнями мегабайт.

Один из подходов состоит в том, чтобы просто перепроектировать и перенести таблицу в более эффективную таблицу (ы), которая будет поддерживать ваши широкие строки под этим лимитом. Если это не вариант, то я предлагаю настроить вашу кассандру, так что и конфигурации сложения, и кеши могут эффективно обрабатывать ваши широкие ряды.

Некоторые интересные ссылки на вещи для настройки:

Настройка производительности Cassandra

in_memory_compaction_limit_in_mb