我有一个多租户应用程序,其中tenantId将成为每个查询的一部分,因此我将它放入所有表的分区键中。Cassandra的哈希值是否在多个表中具有相同的值?
实例:
CREATE TABLE users {
tenantId text,
user text,
active boolean,
PRIMARY_KEY (tenantId, user)
}
CREATE TABLE roles {
tenantId text,
rolename text,
PRIMARY_KEY (tenantId, rolename)
}
现在,想象一下这样的表100S ...
我的问题是:
威尔卡桑德拉散列tenantId '富' 点从所有表到同一节点的所有数据,并使其成为热点或将它平均分配每个表&集群周围的租户数据均匀分布?
令牌是主键的哈希值,因此将tenantId放入每个分区键都无济于事。我想知道你会产生多少独特的tenantIds?在一些基数较低的情况下,二级索引可能有意义。理查德洛[解释它](http://www.wentnet.com/blog/?p=77)比我更好。 – LHWizard