(1)什么是混合存储
混合存储又称行列混合存储,TP 和 AP 传统来说仰赖不同的存储格式:行存对应 OLTP,列存对应 OLAP,混合存储简单理解就是AP+TP混合存储。
(2)为什么需要混合存储
OLTP需要处理涉及频繁写操作的事务型查询,OLAP侧重于处理涉及大量读操作的分析型查询,列存储在读操作中有较大的优势,适合OLAP查询,但不适合OLTP查询。
随着大数据存储时代的到来,人们对于大容量、高性能和低成本的存储系统的需求更加迫切。混合存储充分利用不同类型存储器件的特性组成高效的存储系统,既能支持存储系统容量的大幅扩展,又能在保证系统低成本的前提下,显著提高存储系统的性能,成为当前存储系统领域的研究热点。
先来看一下单独行存储和列存储的优缺点
1)行存储时,数据按照元组直接进行存储,写的效率较高;列存储时,元组必须首先拆分成独立的属性列,再独立存储。
2)行存储时,在查询密集型应用中需读取整条记录,属性较多时读取数据代价较大;按列存储时,只需要读取所需要的属性列,大大减少读取数据的代价。
3)采用列存储时可以获得较高的压缩率,行存储不利于压缩。
在数据存储层上, Hubble采用基于切片的行式存储、列式存储和KV存储的混合部署模式。通过行式存储方式存储海量数据,支撑数据TP操作;列式存储和KV存储的混合部署模式,支撑数据AP操作。
(3)Hubble数据库硬核技术价值
在数据存储层上, Hubble采用基于切片的行式存储、列式存储和KV存储的混合部署模式。通过行式存储方式存储海量数据,支撑数据AP操作;列式存储和KV存储的混合部署模式,支撑数据TP操作;通过KV存储保持高效率的写入速度,支撑大数据体量。
1)KV存储把不常变动的一些数据存储在kvstore中,需要的时候直接凭借key拿出value就好,事务处理速度更快,适合事务处理,速度快实时性更有保障。
2)列存性能在OLAP分析时比行存储性能倍速提升;
3)支持随机的增、删、改、查操作,降低查询响应时间;
4)在数据中高效查找数据,无需维护索引(任何列都能作为索引),避免全表扫描。
5)在大规模数据同时支持密集AP计算和TP并发场景下, 基于数据切片的混布存储策略可以弹性适应IO特性,快速做库内转换,避免数据复制和冗余。