我正在寻找关于在DSE Cassandra中创建一个非常大的表的真实世界经验/麻烦的任何输入/反馈,而不是使用更多的几个表,并在某种程度上分解数据集。大表对DSE表维护、SAI索引等有影响吗?大型表将有数百亿行,并在其上使用多个SAI索引。集群大小本身将有多个数十个节点。
您能提供的任何输入/反馈都将不胜感激。
发布于 2023-01-05 22:41:08
不同的表将允许压缩单独运行,可能会增加压缩的并行性(特别是LeveledCompactionStrategy,它在每个表的压缩级别之间移动文件有限制)。
如果您执行不同的表,那么写入memtable时可能还会遇到稍微少一点的btree争用。不清楚你是否真的能测量它。
发布于 2023-01-09 04:55:35
与大型表相比,较小的表当然有一些优点。例如,索引将更快,因为简单的优点是,需要索引的数据较少。像修复一个较小的表这样的操作也比较大的表更快(当然,所有其他的东西都被认为是相等的)。
然而,这种比较大多是学术性和无关性的,因为它没有实际应用。在现实世界中,人们不会“选择”将数据分割成几个表--它是由应用程序的访问模式决定的。
如果您还记得,Cassandra中的数据建模需要为每个应用程序查询设计一个表。另一种说法是,表(1)必须包含查询所需的所有数据,(2)必须基于查询过滤器/谓词进行分区。将表分解为较小的“子表”将无法工作,因为在Cassandra中没有连接。干杯!
请通过悬停在卡桑德拉标签上,然后单击Watch tag按钮来支持Apache社区。谢谢!
https://dba.stackexchange.com/questions/321769
复制相似问题