VoltDB是否支持唯一索引?

时间:2011-08-04 17:57:11

标签: unique-constraint voltdb

我们的架构有一个USER表......

USER( 
   userId,
   firstname,
   lastname,
   email)

我们希望确保所有用户都拥有唯一的电子邮件地址。是否可以在VoltDB中创建唯一索引来强制执行此约束?

2 个答案:

答案 0 :(得分:3)

VoltDB支持主键索引(始终是唯一的)以及可以定义为唯一的辅助索引。

对于您的特定表格,您有两种选择来强制执行电子邮件列的唯一性:

  1. 将USER表定义为已复制。
  2. 在电子邮件列上对USER表进行分区。
  3. 如果您在电子邮件上创建唯一索引并在userId上对表进行分区,那么电子邮件列的唯一性强制将位于各个分区中。

答案 1 :(得分:1)

VoltDB为主键提供隐式索引。例如,如果您将userID指定为主键,则userID将是唯一的(因为VoltDB在主键上隐式指定索引)但是要使电子邮件列成为唯一,您必须明确指定约束' UNIQUE&#39 ;在电子邮件列。                 同样地假设您正在对表进行分区并在列userID上完成分区,然后强制电子邮件在每个分区中都是唯一的,您应该明确指定' ASSUMEUNIQUE'电子邮件列的约束。