盘点 | 主流云原生数据库技术方案
作者:RadonDB 开源社区
来源:SegmentFault 思否社区
作者:柯煜昌 顾问软件工程师
目前从事 RadonDB 容器化研发,华中科技大学研究生毕业,有多年的数据库内核开发经验。
你将 Pick 这些内容:
云原生的概念 云原生数据库的概念 两种主流技术路线分析 六种云原生数据库方案和功能介绍 云原生数据库的核心功能和价值
背景
提供按需服务; 用户只愿支付运营费用而不愿支付资产费用; 云服务提供商集群规模越来越大,甚至遍布全球,集群达到云级规模(Cloud-Scale)。
RDS 的挑战
云原生数据库简介
1 Spanner 类
1.1 架构
1.2 存储高可用性
1.3 优缺点
2 Aurora 类
2.1 架构
Aurora 网络 IO
数据库主实例变成计算节点,数据库主实例不再进行刷脏页动作,仅仅向存储写日志,存储应用日志实现持久化,即日志应用下沉到存储。数据库主实例没有后台写动作,没有 cache 强制刷脏替换,没有检查点;
数据库复制实例获取日志内容,通过日志应用更新自身的 buffer/cache 等内存对象;
主实例与复制实例共享存储;
将崩溃恢复,备份、恢复、快照功能下放到存储层。
将存储分段(Segment),以 10G 作为分段单位大小, 每个分段共六个副本,部署于三个可用区(Available Zone),每个可用区两个副本,Aurora 将这六个分段称为一个保护组(Protection Group,PG),实现高可用。
存储节点能接收日志记录应用来实现数据库物理页的持久化,并且使用 Gossip 协议同步各个副本间的日志。
2.2 高可用
存储多副本之间用 Raft 算法保证高可用,Raft 算法包含了 Quorum 仲裁算法,而且更加灵活;
与 Aurora 一样,主从计算节点通过网络传输 redo 日志,同步双方的 buffer cache 以及其他内存对象。
4 PolarDB 方案
5 Socrates 方案
SQL Server 为了支持 Snapshot 隔离级,提供了多版本数据页(Page Version Store)的功能;
使用 SSD 存储作为 buffer pool 的扩展(Reslilient Cache),可以加速故障崩溃恢复过程;
RBIO Protocol 是扩展的网络协议,用以进行远程数据页读取;
Snapshot Backup/Restore 快速备份与恢复;
新增 XLogService 模块。
尽量复用了原有 SQL Server 的特性,使用 SQL Server 组件充当 Page Server,模拟 Aurora 的存储节点;
Socrates 有一个很大的创新,日志与页面存储分离。它认为持久性(durability)不需要使用快速存储设备中的副本,而可用性(availability)不需要有固定数量的复制节点。因此 XLog 和 XStore 负责 durability,计算节点和 page server 仅用于可用性(它们失效的时候不会丢数据,仅仅是不可用);
redo 日志传递均借助 Xlog Service,而不是通过主从计算节点通过网络传输。主实例节点不需要额外进行日志缓存来适应从实例节点。
6 TaurasDB 方案
总结
云原生数据库的核心功能
计算与存储分离,计算节点保持少状态,甚至无状态;
基于日志的进行持久化;
存储分片/分块,易于扩容;
存储多副本与共识算法;
备份、恢复、快照功能下放到存储层。
知名方案的非核心功能
云原生数据库的核心价值
基于日志进行持久化与复制更轻量,避免写放大效应,各大厂商均号称比原版 MySQL 有 5~7 倍性能。
计算节点无状态或少状态,计算节点与存储扩展灵活。
将数据库持久文件分片,以小粒度方式副本方式降低 MTTR,以及共识算法来实现高可用。
计算能力与存储容量按需伸缩,减少资源浪费。
更少的资源、更少的浪费、更少的维护,最终达到更小的成本。
参考文献
【2】: "Spanner: Google’s Globally-Distributed Database"
【3】: TiDB: A Raft-based HTAP Database
【4】: PolarDB redo replication
【5】: PolarDB Architecture
【6】: GDPR
【7】: "Socrates: The New SQL Server in the Cloud"
【8】: Taurus Database: How to be Fast, Available, and Frugal in the Cloud
【9】: 腾讯云新一代自研数据库CynosDB技术详解——架构设计
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 国产编程语言MoonBit正式被Github收录!两年核心用户数突破3万
- 反向词典Wantwords – 支持中文及英语词典反向查询的AI文案工具
- 新一届手机颜王诞生?魅族21真机亮相
- 美元兑人民币汇率2023年9月25日
- 欧元人民币汇率2023年8月6日
- 助力百所院校开展数字化教育 统信软件全面赋能“双师”培养
- 【杂谈快报】中国广电192号段正式商用,套餐最低23元
- 折叠屏旗舰都有这样一个共同点,骁龙8+为何成为旗舰首选?
- 医疗“超高清时代”加速到来 | 超高清视频应用扮靓美好生活
- 50 万行代码喂出来的一些编程经验
- 参赛不懂技术?微软“创新杯” Azure 技术公开课来了!
- 泡泡玛特拟12月11日在香港挂牌上市;自如宣布并购贝客青年精品公寓;TCL被判商业诋毁:赔偿50万元【Do说】