2016-08-04 1 views

ответ

2

В Cassandra, определение PRIMARY KEY вашей таблицы используется для уникальности. Например:

CREATE TABLE users (
    userid uuid, 
    firstname text, 
    lastname text, 
    email text, 
    created_date timestamp, 
    PRIMARY KEY (userid) 
); 

Здесь userid колонна является уникальным идентификатором. Разумеется, вы можете иметь несколько столбцов как часть вашего определения PRIMARY KEY. Но несколько вещей, о которых следует помнить:

  • Столбы первичных ключей имеют другие последствия и в Кассандре (за пределами уникальности). Вы захотите прочитать раздел «Классы разделов» и «Кластерные столбцы» и как Cassandra использует его для организации данных вокруг кластера и на диске.
  • Cassandra не имеет или не применять ограничения (например, без внешних ключей)
  • Cassandra не делает чтение перед записью (если вы не используют Облегченные Транзакции функции), и тот самый INSERT или UPDATE функционально эквивалентны (т.е. «upsert») и перезаписывает данные, которые уже

Если вы ищете функции, как «ограничение уникальности» или «уникальный индекс» в Oracle, вы выиграли» Найти его в Кассандре. В модели the CQL docs есть простой пример моделирования данных, и я также рекомендую проверить курс моделирования данных, на который он ссылается, если вы только начинаете работу с Cassandra. Удачи!

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