Каковы практические ограничения для семейства колонн в Кассандре?

10

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

Например, один CF может содержать заказы, счета-фактуры и клиентов при условии, что их ключи строк различны (например, с префиксом типа объекта, т. Е. Ключи одного CF могут включать оба Order|1234и Customer|1234). Второй CF может содержать, скажем, адреса, LineItems и OrderTypes. Учитывая основные возможности этого подхода, каковы его практические ограничения? Например, что было бы не так с помещением всех 10 000 типов объектов в один CF? Насколько я могу судить из вики Cassandra , нет жестких ограничений на размер CF.

Эндрю Свон
источник

Ответы:

6

Я не фанат Идея примерно такая же хорошая, как создание реляционной таблицы с именем OrdersOrCustomers со столбцами, определенными для обоих. Штраф подсистемы хранения немного ниже в Cassandra из-за скудного хранения под капотом, но это все еще плохая практика.

Это кусает вас позже, когда вы хотите отобразить / уменьшить ваши данные; Каждое задание должно сканировать все ваши данные и отфильтровывать строки, которые не соответствуют тому, что вас действительно интересует (например, клиенты). И удачи в понимании статистики, которую Кассандра отслеживает по каждому CF. («Является ли этот CF источником 80% моего приложения, считываемого из-за данных заказа? Или из-за сессий клиентов, с которыми он объединен? Или из других пяти типов данных, которые я добавил?»)

Если вам абсолютно необходимы десятки или сотни тысяч CF? Даже тогда я предпочел бы запустить Cassandra без распределения арены, чем искажать мою модель данных, как это.

jbellis
источник
Спасибо за ваш ответ, Джонатан. Мне нужно прочитать о распределении арены, чтобы понять последнее предложение. Является ли использование распределения арены параметром конфигурации?
Эндрю Свон
Или, если в настоящее время распределение арены связано с Кассандрой, насколько трудно было бы освободить арены любых семейств столбцов, к которым не было доступа в течение некоторого настраиваемого периода времени? Стоит ли мне регистрировать билет JIRA по этому поводу?
Эндрю Свон
1
Кассандра уже умела промывать, чтобы уменьшить нагрузку на память. Проблема в худшем случае, когда все активно.
jbellis
В каком случае единственное решение иметь второе кольцо?
Эндрю Свон