内存数据库可以自动优化吗?

RapidsDB通过内存分布式数据库的自动优化,在数据入库过程中解决了小批量写入性能低和无序写入导致的查询效率问题。它采用跳表方式临时存储新写入数据,并根据数据量大小和索引状态决定是否直接排序入库。当数据超过16MB阈值时,进行排序后直接写入行段,否则存入行存跳表,等待后续写入或超时后写入列存行段。
摘要由CSDN通过智能技术生成
以柏睿数据内存分布式数据库RapidsDB为例,自动优化体现在2个阶段:数据入库过程和数据入库后。
首先来看看数据入库过程。入库过程的自动优化解决2个常见的OLAP型MPP数据库问题,传统的数控则需要外部手段或者手工执行命令来实现相同的优化效果:
1、自动优化小批量写入(比如单行插入)过程,解决高频小数据量写入的性能低下问题;
2、自动优化数据入库前排序入库过程,解决因新数据无序写入产生的查询性能不高问题。
RapidsDB实现的方式如下:跟其他友商分布式数据库的列存储实现不同,RapidsDB将新写入的数据先将它们以跳表的方式临时存储在内存中。这个操作由数据库后台自动处理的,这些以行存方式的跳过列表数据,可以对读取可见。
具体一点,向列存表插入数据时,数据会先写入临时的行存跳表或创建新的列存储支持行段。至于是临时表还是新建行段,数据库引擎需要由根据插入数据量大小和列存储索引的当前状态的自动触发确定的。每个数据分区16 MB,是 INSERT 或 LOAD DATA 写入数据优化的默认阈值。当超过这个阈值时,当前外部写入的数据就会在内存经过排序后,直接写入新建的行段,反之则临时存放在行存跳表中,经过超时或者新来数据达到阈值后,写入列存行段中。
经过上述操作,数据入库过程的自动优化完成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值