【发布时间】:2016-07-12 14:00:42
【问题描述】:
我们有一个应用程序,它有 10 个主[静态] 数据表(每个表大约有 100 行)。对这些表的更新可以忽略不计。所有这些表格数据将在应用程序上显示为选择列表。
- 当 rows_per_partition 从默认的“NONE”更改为如下所示的 100 时,是否会有任何性能提升?由于这些主表不会一直更新和访问
例如:
ALTER TABLE devloc.regions
with caching = {
'keys' : 'ALL',
'rows_per_partition' : '100'
};
-
一张表有100列数据,经常查询显示信息。这就像一个查找表。
数据模型1
创建表 devloc.display_all ( id uuid 主键, 日期值时间戳, col2 文本, col3 文本, col4 文本, col5 文本, col6 文本, col7 文本, .... 多达 100 列 )
查询:Select *from devloc.display_all where id =89d23c25-4921-4d57-8f2c-87a9f4ca204d;
这是时间序列表,数据多年来每天都在增长。添加日期值作为分桶键会提高查询的性能吗?
数据模型2
创建表 devloc.display_all ( id uuid, 日期值时间戳, col2 文本, col3 文本, col4 文本, col5 文本, col6 文本, col7 文本, .... 多达 100 列 ) 主键(id, datevalue);
完成了两个模型的压力测试,并在不使用 datevalue 作为存储桶时看到了良好的性能。
第一个峰值是 datamodel1,第二个峰值是 datamodel2 对我们来说,即使是毫秒,延迟也很重要。谁能帮我理解一下?
DSE 4.8.5
read Write Consistency level LOCAL_QUORUM
replication 3
Datacenters 2
【问题讨论】:
标签: cassandra data-modeling datastax-enterprise