Apache Cassandra 2.1.17存储路径

时间:2017-03-23 11:34:17

标签: cassandra cassandra-2.1

正在安装新的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>

想知道差异为何?

1 个答案:

答案 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;