Druid 存储格式

Druid 的数据表是由一组分布在集群中不同的historical节点上和实时节点上的segment组成,一个segment包含了一定时间段内的数据,所有的读写操作都发生在segment上,它是Druid操作的最小单元。Real-time节点在生成segment时,segment的名称由数据源(表)、起始时间、结束时间、版本号四部分组成,作为segment的唯一标识。版本号越大,数据越新(疑问:版本号是怎样改变的?)。在查询时,会加载相应时间段内的最新版本的segment。

Segment采用的是类LSM树结构的列式存储,类LSM树结构和LSM树结构不同的是省去了WAL(预写日志)部分(疑问:不会有数据丢失吗?),通常会被上传到HDFS或S3上做深存储。相比行式存储,列式存储可以更加高效的使用CPU,因为加载时,按需取数据,只加载需要的列即可,不必把行中部分不相关的数据都加载进来;另外,列出存储也可以针对不同列字段类型采用不同的压缩算法,更加节省内存和磁盘空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值