2015-07-15 4 views
1

Мне нужно вставить новый столбец в строку для обработки полуструктурированных данных с помощью CQL. Является ли это возможным ? Если возможно, проконсультируйтесь.Как создать динамическую схему с помощью CQL

+0

Вы пытаетесь добавить столбец один раз? Или сделать это динамически? – phact

+0

@phact - динамически добавить столбец. – sras

+0

Как заметил Александр, добавление столбцов динамически не является лучшей практикой в ​​cassandra. Вы должны подождать, пока схема полностью не будет распространена до выдачи другого оператора. Вероятно, вам лучше использовать один из вариантов, который предлагает Александр. – phact

ответ

4

Динамически изменяющиеся структуры таблиц не рекомендуется в Кассандре, поскольку он включает все узлы в кластере, чтобы подтвердить утверждение ALTER (среди других проблем, которые могут возникнуть).

Ваши лучшие варианты:

  • использовать коллекции с основными типами: карта может сделать трюк в вашем случае
  • использовать комбо коллекций и пользовательских типов
  • использовать текстовое поле и хранить данные в формате JSON, например (подходит, если данные не обновляются после)
  • использовать блоб и хранить любой формат, который вы хотите в нем (при условии что вы никогда не обновлять, а)

Вы также можете изменить свою модель и обработать столбцы, которые вы хотите добавить в виде строк.

Если вы хотите получить дополнительные советы, поделитесь своей моделью и используйте корпус более точно.

Смежные вопросы