Поддерживает ли VoltDB уникальные индексы? - PullRequest
2 голосов
/ 04 августа 2011

В нашей схеме есть таблица USER ...

USER( 
   userId,
   firstname,
   lastname,
   email)

, и мы хотим, чтобы у всех пользователей были уникальные адреса электронной почты.Можно ли создать уникальный индекс в VoltDB для применения этого ограничения?

Ответы [ 2 ]

3 голосов
/ 05 августа 2011

VoltDB поддерживает индексы первичного ключа (которые всегда уникальны), а также вторичные индексы, которые могут быть определены как уникальные.

Для вашей конкретной таблицы у вас есть два варианта обеспечения уникальности столбца электронной почты:

  1. Определение таблицы USER как реплицированной.
  2. Разбить таблицу USER на столбец электронной почты.

Если вы создадите уникальный индекс для электронной почты и разделите таблицу на userId, то соблюдение уникальности столбца электронной почты будет в пределах отдельныхперегородки.

1 голос
/ 23 августа 2016

VoltDB предоставляет неявные индексы для первичных ключей.Например, если вы назначите userID в качестве первичного ключа, то userID будет уникальным (из-за неявного назначения индекса VoltDB для первичного ключа), но чтобы сделать столбец электронной почты уникальным, вы должны явно назначить ограничение 'UNIQUE' для столбца электронной почты.Аналогично, предположим, что вы разбиваете таблицу на части, и разделение выполняется по столбцу userID, а затем для обеспечения уникальности электронной почты в каждом разделе, вы должны явно назначить ограничение «ASSUMEUNIQUE» для столбца электронной почты.

...