cassandra主键索引介绍-阿里云开发者社区

开发者社区> 陈江@阿里> 正文

cassandra主键索引介绍

简介: 主键索引格式如下: summery.db:index文件的索引,对partition做sampling索引,加快查找。 index.db:索引文件,data文件中每个partition都会有一个索引项,指向该partition在data文件中的偏移,还有对clustering的采样(sampling)索引,可直接指向具体clustering数据偏移。
+关注继续查看

主键索引格式如下:

image

  • summary.db:
    index文件的索引,对partition做sampling索引,加快查找。
  • index.db:
    索引文件,data文件中每个partition都会有一个索引项,指向该partition在data文件中的偏移,还有对clustering的采样(sampling)索引,可直接指向具体clustering数据偏移。
  • data.db:
    数据文件,完整格式

查找过程

summary是一个sstable概述,header中记录了最大partition,最小partition,这样我们指定key查找时,可以很方便判断是否要跳过这个这个sstable。当memtable flush本地文件时,不断写data及index文件,同时也会对index.db文件取样,index.db索引项每写入128个,会在summary中记录一下当前采样项目,同时会记录index.db的文件偏移,summary文件目前就是为了加快查找。index.db文件中的rowIndexEntry其实就是索引data文件中的PartitionKey数据的,一一对应,dataFilePostion记录了该partition在data文件中的偏移。在cassandra中一个partition允许上G大小,所以势必会有很多cluster,如果一次主键查找需要扫描整个上G数据段,效率可想而知。所以cassandra 在rowIndexEntry会写入很多indexInfo,indexInfo是clustering的索引,也是128行clustring数据采样一次,产生一个indexInfo,所以这个indexInfo会包括这段范围内的clustering信息,起始/结束时clustering,还有对应数据文件的偏移。rowIndexEntry数据结构尾部是一串offset,指向前面的一个个indexInfo,因为clustering是变长的,indexInfo也是变长的,使用offset记录偏移加速访问。正因为上述索引体系结构,对于partitionKey+clustering的查找,可以先找到indexInfo,再去读数据文件。

钉钉群

lALPDgQ9ql0mM3XMp8yo_168_167_png_620x10000q90g

钉钉群入群链接:https://c.tb.cn/F3.ZRTY0o

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mysql hash 索引 vs B-TREE 索引 理解
hash 索引 当前 memory 引擎, innodb 引擎支持 hash 索引, 索引将存放内存中,(innodb 存放 buffer pool)  innodb 启动 innodb-adaptive-hash-index 参数就能够支持   假设利用  show engine innodb status \G 看到大量类似下图的等待值 (参见 RW-latch 由 brt0
1179 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4397 0
MySQL不为人知的主键与唯一索引约束
今天和大家简单聊聊MySQL的约束主键与唯一索引约束:PRIMARY KEY and UNIQUE Index Constraints
265 0
html5 canvas--1.canvas介绍
  从今天开始,我们将开始一个关于html5 canvas的系列课程。这个系列是我读《HTML5 Canvas:Native Interactivity and Animation for the Web》后的总结,有兴趣的朋友可以去下载英文原版书籍阅读。
701 0
Cassandra gossip介绍系列之一
介绍cassandra的gossip系列之一
1567 0
MongoDB索引介绍
一、Single Field Indexes 示例文档: { "_id": ObjectId("570c04a4ad233577f97dc459"), "score": 1034, "location": { state: "NY", city: "New York" } } 1、语法: db.
745 0
索引生命周期管理-Elastic Stack 实战手册
Elasticsearch 在 6.7 版本正式加入索引生命周期管理,旨在管理 Elasticsearch 中的索引。
992 0
oracle查找索引及表的其它属性
1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.
468 0
+关注
陈江@阿里
从业于BAT等公有云部门,分布式存储领域专家
21
文章
0
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载