【发布时间】:2013-05-30 09:08:25
【问题描述】:
我从 Cassandra 开始。我使用 cql 2.0,我想用主键 auto_increment 创建表。我在一个节点上使用 cassandra。
【问题讨论】:
标签: cassandra
我从 Cassandra 开始。我使用 cql 2.0,我想用主键 auto_increment 创建表。我在一个节点上使用 cassandra。
【问题讨论】:
标签: cassandra
Cassandra 没有您通常在 RDBMS 中找到的任何类型的密钥自动递增功能。跨节点的协调成本太高,无法使其成为有价值的功能。
通常,只要您在 RDBMS 中使用自动递增序列,就应该使用 UUIDs。客户可以在保证唯一性的情况下相互独立地创建它们(如果您正确使用它们)。如果您希望能够按创建时间对密钥进行排序(假设您的客户端具有同步时钟),则可以使用 TimeUUID。
您说您只使用 1 节点集群。如果您不打算将集群扩展为大于 1 个节点,那么我建议您使用不同的数据库。 Cassandra 牺牲了许多传统的数据库功能,使其能够很好地分布在一组机器上。当您只运行一个单节点集群时,您会失去 RDMBS 的所有优秀功能,而不会获得运行多节点 Cassandra 集群的任何好处。
【讨论】: