- 时间:2021.12.17
- 分享人:李林峰
- 关键字:Cloud,Native,Polardb,Polardb Serverless
- 分享PPT:2021-12-17-云原生数据库PolarDB
数据库是云上非常重要的一环。数据的产生存储和消费都是通过数据库
传统本地数据库的系统架构通常是紧耦合的,最开始是通过借助 IaaS,直接将传统的数据库 “搬迁” 到云上,这种方案在资源利用率,维护成本,可用性上都不太理想。所以就出现了云原生。
本次分享主要是polardb和polardb serverless,通过两篇论文:
PolarDB Serverless: A Cloud Native Database for Disaggregated Data Centers
分别介绍了polarFS架构,以及共享存储产生的问题。以及RDMA,SPDK技术对吞吐率的提升,及 优化了的 Raft 协议 ParallelRaft
之后介绍了Serverless,以及共享内存池存在的问题和解决办法
1.云原生四要素:微服务、DevOps、持续交付、容器化
2.云服务分类:Iaas、Paas、Saas
3.云原生数据库特点:高可用性、安全可靠、动态可扩展、低成本
4.PolarDB使用共享存储PolarFS ,主要的优化点是使用了新型的硬件和一些新的技术,如 NVMe SSD、RDMA,SPDK 及 优化了的 Raft 协议 ParallelRaft,尽可能的使用各种方法降低时延,如异步调用和轮询机制
5.通过使用disk paxos来确保只有真正的主节点被成功服务,实现元数据一致性
6.共享内存会导致缓存不一致,需要通过redo log来实现内存状态的同步
7.Serverless是云原生技术发展的高级阶段,特点:免运维、弹性伸缩、按需付费、高可用
8.CPU、内存分离:提高资源利用率并且独立可扩展;可以在多个数据库进程中共享远程内存池中的数据页面;在重建服务的时候,无需预热内存降低时间开销
9.内存池存在的问题:
a.访问远程内存带来网络开销,会比访问本地内存要慢
b.一些原来节点上私有的page数据现在都放在了共享的内存池,多节点访问会引起数据一致性问题
c.flush脏页的时候会给网络带宽造成压力