Где делает разделение должно быть сделано в другом месте документа или супер колонки для Кассандры.
Совет № 1, при работе с Кассандрой, полностью стереть слово «супер столбец» из своего словаря.
Я хотел бы знать, рекомендуется ли разделять данные каждого клиента в ведре?
Это зависит. Похоже, что ваши запросы будут в основном основаны на идентификаторе клиента, поэтому имеет смысл иметь его как раздел вашего ключа раздела. Однако, если каждый раздел клиента содержит миллионы строк и/или столбцов под ним, это будет очень большим.
Совет №2, правильное моделирование Кассандры осуществляется на основе того, как выглядят ваши требуемые запросы. Поэтому, фактически не видя тех запросов, которые вам нужно обслуживать, будет сложно быть более конкретным, чем это.
Если у вас есть данные о клиентах, относящиеся к учетным записям и адресам и т. Д., То создание таблицы customers
с PRIMARY KEY всего customer_id
может иметь смысл. Но если вы обнаружите, что вам нужно запросить своих клиентов (например) на email_address
, тогда вы захотите создать таблицу customers_by_email
, дублируйте свои данные и создайте PRIMARY KEY, который поддерживает это.
Кроме того, если вы обнаружите, что занимаетесь хранением данных о деятельности клиента, вы можете рассмотреть таблицу customer_activity
с ПЕРВИЧНЫМ КЛЮЧОМ PRIMARY KEY ((customer_id,month),activity_time)
. В качестве ключа раздела будут использоваться как customer_id
, так и month
, сохраняя активность клиента, сгруппированную по activity_time
. В этом случае, если мы не использовали month
в качестве дополнительного ключа раздела, каждый раздел customer_id
будет постоянно записываться, пока не станет слишком неудобно писать или запрашивать (рост несвязанных строк).
Резюме:
- Если кто-то говорит вам, чтобы использовать супер колонки в Кассандре, хлопнуть их.
- Вы должны знать свои вопросы до вы разрабатываете свои таблицы.
- Да,
customer_id
был бы хорошим способом сохранить ваши данные отдельно и гарантировать, что каждый запрос будет ограничен одним узлом. -Установите свои ключи разделов для учета роста несвязанных строк, чтобы вы не могли писать слишком много данных в один раздел.
Отлично, спасибо вам за разъяснения. Целевое приложение подходит к онлайн-учетному приложению, но почти только в консультации для клиента. Данные добавляются автоматическим процессом. Я никогда не использовал cassandra, просто mongoDb в nosql. (Таким образом, группировка выполняется с помощью столбцов, а не супер столбца) – user4185975