在尝试使用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
Run Code Online (Sandbox Code Playgroud)
一般结构似乎是:
/.../cassandra/commitlog/CommitLog-ID.log
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Data.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Filter.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Index.db
/.../cassandra/system.log
Run Code Online (Sandbox Code Playgroud)
什么是Cassandra文件结构?更具体地说,是如何的data
,commitlog
使用的目录,以及什么是文件的结构在data
目录(Data
/ Filter
/ Index
)?
Sch*_*jer 30
写入Cassandra节点首先命中CommitLog(顺序).(然后Cassandra将值存储到名为Memtables的特定于列系列的内存数据结构中.只要超出其中一个可配置的阈值,就会将Memtables刷新到磁盘.(1,memtable中的datasize.2,对象的#达到一定限度, 3,记忆的有效期到期.))
该数据文件夹包含每个密钥空间的子文件夹.每个子文件夹包含三种文件:
lee*_*eef 21
每个ColumnFamily(例如对象)在分隔的sstable文件中
ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12337 次 |
最近记录: |