Максимум. размер широких рядов?
Теоретически, 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