Nosql Cassandra文件结构-如何使用文件?

Nosql Cassandra文件结构-如何使用文件?,nosql,cassandra,Nosql,Cassandra,在使用Cassandra进行实验时,我观察到Cassandra会写入以下文件: /.../cassandra/commitlog/CommitLog-<id>.log /.../cassandra/data/Keyspace1/Standard1-1-Data.db /.../cassandra/data/Keyspace1/Standard1-1-Filter.db /.../cassandra/data/Keyspace1/Standard1-1-Index.db /.../ca

在使用Cassandra进行实验时,我观察到Cassandra会写入以下文件:

/.../cassandra/commitlog/CommitLog-<id>.log
/.../cassandra/data/Keyspace1/Standard1-1-Data.db
/.../cassandra/data/Keyspace1/Standard1-1-Filter.db
/.../cassandra/data/Keyspace1/Standard1-1-Index.db
/.../cassandra/data/system/LocationInfo-1-Data.db
/.../cassandra/data/system/LocationInfo-1-Filter.db
/.../cassandra/data/system/LocationInfo-1-Index.db
/.../cassandra/data/system/LocationInfo-2-Data.db
/.../cassandra/data/system/LocationInfo-2-Filter.db
/.../cassandra/data/system/LocationInfo-2-Index.db
/.../cassandra/data/system/LocationInfo-3-Data.db
/.../cassandra/data/system/LocationInfo-3-Filter.db
/.../cassandra/data/system/LocationInfo-3-Index.db
/.../cassandra/system.log

什么是Cassandra文件结构?更具体地说,如何使用
数据
提交日志
目录,以及
数据
目录(
数据
/
过滤器
/
索引
)中文件的结构是什么?

对Cassandra节点的写入首先点击提交日志(顺序)。(然后Cassandra将值存储到特定于列族的内存数据结构(称为Memtables)。每当超过一个可配置阈值时,Memtables就会刷新到磁盘上。(1,memtable中的数据大小。2,对象数量达到一定限制,3,memtable的生存期到期。)

数据文件夹包含每个键空间的子文件夹。每个子文件夹包含三种文件:

  • 数据文件:SSTable(命名法 从谷歌借来的)代表 排序字符串表,是一个 键值字符串对(按 钥匙)
  • 索引文件:(键,偏移量)对(指向数据文件)
  • :数据文件中的所有键

单独的sstable文件中的每个列族(如对象)

ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db

谢谢。如果您想更深入地了解/描述CassandraWay中使用的术语和命名法,深入了解并了解Cassandra的幕后活动,那么Cassandra wiki是一个很好的起点!
ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db