我们的架构有一个用户表...VoltDB是否支持唯一索引?
USER(
userId,
firstname,
lastname,
email)
,我们要确保所有用户具有唯一的电子邮件地址。是否有可能在VoltDB中创建一个唯一的索引来强制执行此约束?
我们的架构有一个用户表...VoltDB是否支持唯一索引?
USER(
userId,
firstname,
lastname,
email)
,我们要确保所有用户具有唯一的电子邮件地址。是否有可能在VoltDB中创建一个唯一的索引来强制执行此约束?
VoltDB支持主键索引(它们始终是唯一的)以及可以定义为唯一的辅助索引。
为特定的表,你有两个选择执行上的电子邮件列唯一性:
如果您在电子邮件上创建唯一索引并对userId上的表进行分区,那么电子邮件列的唯一性实施将位于单个分区内。
VoltDB为主键提供隐式索引。例如,如果您将userID分配为主键,那么userID将是唯一的(因为VoltDB在主键上隐式索引分配),但要使电子邮件列为唯一的,您必须在电子邮件列上明确指定约束'UNIQUE'。 同样,假设您正在对表进行分区并对列userID进行分区,然后为了使每个分区中的电子邮件唯一,您应该在电子邮件列上明确指定'ASSUMEUNIQUE'约束。
这不起作用,我们需要整个数据库集群的唯一性,而不仅仅是在单个分区中。 – raffian
如果在索引中包含分区列,则它将是全局唯一的。我意识到这可能无法解决您的特定问题 - 这是一个更一般的指导。 – Ryan