在OpsCenter 6.0.3中,我遇到了以下问题
依次单击'Services' -> 'Best Practice Service' -> 'Performance Service - Table Metrics Advisor' -> 'Secondary indexes cardinality'
后出现上图。
在DevCenter中查看的inode
表如下所示:
据我所知,[inode]
link会跟踪每个文件元数据和阻止位置。但是,我该怎么做才能解决这个问题?
OpsCenter版本:6.0.3 Cassandra版本:2.1.15.1423 DataStax企业版:4.8.10
答案 0 :(得分:0)
不要将二级索引用于高基数列。
高基数是指具有非常罕见或唯一值的列。高基数列值通常是标识号,电子邮件地址或用户名。具有高基数的数据表列的示例是具有名为USER_ID的列的USERS表。
使用高基数列索引数据文档doc:
的问题如果您在具有许多不同值的高基数列上创建索引,则字段之间的查询将导致许多搜索非常少的结果。在拥有十亿首歌曲的表格中,通过作者(每首歌曲通常是唯一的值)而不是艺术家来查找歌曲可能效率非常低。将表作为索引的形式手动维护而不是使用Cassandra内置索引可能更有效。对于包含唯一数据的列,只要具有索引列的表的查询量适中且不在恒定负载下,为方便起见,使用索引有时性能良好。
解决方案:
在分区键中使用该列创建另一个表