当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Cassandra文件结构-如何使用文件?》经验,为你挑选了2个好方法。

在尝试使用Cassandra时,我发现Cassandra会写入以下文件:

/.../cassandra/commitlog/CommitLog-.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/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

什么是Cassandra文件结构?更具体地说,是如何的data,commitlog使用的目录,以及什么是文件的结构在data目录(Data/ Filter/ Index)?



1> Schildmeijer..:

写入Cassandra节点首先命中CommitLog(顺序).(然后Cassandra将值存储到名为Memtables的特定于列系列的内存数据结构中.只要超出其中一个可配置的阈值,就会将Memtables刷新到磁盘.(1,memtable中的datasize.2,对象的#达到一定限度, 3,记忆的有效期到期.))

数据文件夹包含每个密钥空间的子文件夹.每个子文件夹包含三种文件:

数据文件:SSTable(从Google借用的术语)代表Sorted Strings Table,是一个键值字符串对的文件(按键排序).

索引文件:(键,偏移)对(指向数据文件)

布隆过滤器:数据文件中的所有键



2> leef..:

Cassandra文件格式详细

每个ColumnFamily(例如对象)在分隔的sstable文件中

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

在此输入图像描述

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有