正在安装新的cassandra 2.1.17群集,当我创建我的应用程序KS时,我看到创建的路径如下:
<data directory>/<KS>/<CF>-<some-large-key>
使用某些大键:
8feb16f00fb711e7a670c3184f09fbe0
7588a2500fb711e7a670c3184f09fbe0
ETA。我们当前的2.1.15集群(在v.2.0.x下创建的KS)仅使用:
<data directory>/<KS>/<CF>
想知道差异为何?
答案 0 :(得分:1)
这是来自版本3的文档,但原则也适用于2.1(无法真正获得2.1的谷歌存储版本。因为datastax设置了机器人文件):
https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlHowDataWritten.html
让我们分解一下:
/data/data/ks1/cf1-5be396077b811e3a3ab9dc4b9ac088d/la-1-big-Data.db
表示数据文件。
ks1表示用于区分用于流式传输或批量加载数据的键空间的键空间名称。
此示例中的十六进制字符串5be396077b811e3a3ab9dc4b9ac088d附加到表名称以表示唯一表ID。
为什么独特的表ID?
当表(模式列)的模式有更新时,节点首先必须就新表的模式达成一致,他们使用这个uuid来知道存储了哪个版本的模式表。您可以使用以下查询交叉检查cf的名称中的uuids:
select keyspace_name, table_name, id from system_schema.tables;