Hyper: A Hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots

随着时代发展,商业智能(Business Intelligence, BI)这一种新的需求越来越重要,BI主要使用在线分析处理(OLAP)来分析数据,生成报告。现阶段的主要做法是ETL(Extract-Transform-Load),即通过周期性(如每天晚上)将 OLTP 数据库的变化提取出来(Extract),然后转换数据格式(Transform),再加载到数据仓库(Load)。这一做法存在以下问题:

  1. 存储占用过大: 数据存储两份,OLTP 一份,OLAP 一份。
  2. 数据过时: 数据处理周期通常较长(如一天一次),导致分析结果滞后。
  3. 操作复杂性: ETL 过程涉及大量数据转换和清洗,可能成为性能瓶颈。

将 OLTP 和 OLAP 系统整合为一个系统(即 One Size Fits All)会导致性能下降,例如分析任务(OLAP)可能阻塞事务处理(OLTP)。因此,本文提出了一种内存数据库 Hyper,实现高效的 HTAP(Hybrid Transactional and Analytical Processing)功能。主要特点:

  • 一份数据,减少存储开销。
  • 事务执行使用预编译的存储过程
  • H-STORE类似,所有OLTP事务分区串行执行。
  • 用一定的操作系统和硬件机制 (fork + COPY ON WRITE)来生成一致性快照供OLAP查询
    • 为什么性能没有受到影响,主要还是利用了内存的随机访问和顺序访问成本差不多
  • 支持事务ACID

接下来详细介绍具体的细节。

Fork + Copy On Write

fork 是操作系统中创建子进程的系统调用,新进程最初共享父进程的虚拟内存,但使用写时复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小赵的大大大大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值