当前位置:网站首页>HiEngine:可媲美本地的云原生内存数据库引擎
HiEngine:可媲美本地的云原生内存数据库引擎
2022-07-05 15:47:00 【InfoQ】
导读
摘要
研究背景
1. 以内存为中心的计算架构
2. OLTP数据库生态


3. 华为云基础设施

- 硬件趋势和挑战:1)存算分离架构中引入持久内存,尤其在计算侧配置持久内存能够提供高速的事务日志缓存等功能,但是这与计算节点的Stateless特性相违背。2)基于ARM的多核处理器具有更好的性价比和理想的能耗,但是也带来Cross-NUMA的多核扩展挑战。
- SRSS:作为华为云新一代分布式存储服务,它使用RDMA建立在现代SSD/NVM硬件之上 ,采用日志结构型的追加存储。
- SRSS在云中提供了必要的持久性内存原语。SRSS支持内存语义和计算端持久存储,定制化的mmapMMAP内核驱动程序API支持从本地或远程持久存储层一致性的读取数据,SRSS通过内存映射提供除了打开、/关闭、/追加、/读取等接口外,还提供内存语义操作。数据在计算侧和存储侧三副本存储,采用具有低延迟存储网络。这允许计算节点可以在计算侧本地持久化和存储侧远端持久化,似的存储层之间关键路径上没有往返网络开销。
HiEngine架构

1. 以日志为中心的Log-centric MVCC存储引擎概览

2. Tuple-level内存布局

3. 事务模型

4. PIA/行映射

- 行更新操作不会改变索引的内部结构
- 二级索引的“键”=“用户自定义键+ RID”
- 检查点变得轻量级,因为只需要持久化PIA而不是真实数据
- 恢复只会重新构建PIA,而不是读取元组版本
5. 高可靠高扩展的Redo-Only Logging

- 追加写和基于mmapMMAP的读
- 更新后的版本包含一条记录的完整内容
- 使用SRSS的追加接口将日志记录写入段/ PLOGPlog
- 数据成功三副本持久化到计算侧持久性内存后提交事务
6. Dataless的检查点和并行恢复

7. 索引持久化和检查点

部署方式

系统评测




总结
边栏推荐
- ES6 deep - ES6 class class
- 漫画:什么是MapReduce?
- 16. [stm32] starting from the principle, I will show you the DS18B20 temperature sensor - four digit digital tube displays the temperature
- The memory of a Zhang
- Data communication foundation ACL access control list
- 抽象类中子类与父类
- Reduce the cost by 40%! Container practice of redis multi tenant cluster
- 抽象类和接口的区别
- Six common transaction solutions, you sing, I come on stage (no best, only better)
- Single merchant v4.4 has the same original intention and strength!
猜你喜欢

Data communication foundation ACL access control list

Clock switching with multiple relationship

详解SQL中Groupings Sets 语句的功能和底层实现逻辑

The visual experience has been comprehensively upgraded, and Howell group and Intel Evo 3.0 have jointly accelerated the reform of the PC industry

ES6深入—async 函数 与 Symbol 类型

CISP-PTE之PHP伪协议总结

RLock锁的使用

Batch update in the project

The difference between abstract classes and interfaces

Research and practice of super-resolution technology in the field of real-time audio and video
随机推荐
How can programmers improve their situation?
写单元测试的时候犯的错
vant tabbar遮挡内容的解决方式
自己要有自己的坚持
Example project: simple hexapod Walker
vulnhub-Root_ this_ box
Use of RLOCK lock
践行自主可控3.0,真正开创中国人自己的开源事业
20. [stm32] realize the function of intelligent garbage can by using ultrasonic module and steering gear
SQL injection sqllabs (basic challenges) 1-10
vlunhub- BoredHackerBlog Moriarty Corp
19.[STM32]HC_ SR04 ultrasonic ranging_ Timer mode (OLED display)
今日睡眠质量记录79分
10 minutes to help you get ZABBIX monitoring platform alarm pushed to nail group
《21天精通TypeScript-3》-安装搭建TypeScript开发环境.md
Pits encountered in the use of boolean type in development
利用GrayLog告警功能实现钉钉群机器人定时工作提醒
SQL injection sqllabs (basic challenges) 11-20
求解汉诺塔问题【修改版】
【毕业季】作为一名大二计科在校生,我有话想说