Skip to content

Latest commit

 

History

History
50 lines (27 loc) · 2.46 KB

2021-12-17-云原生数据库polardb.md

File metadata and controls

50 lines (27 loc) · 2.46 KB

云原生数据库polardb

分享内容

问题描述

数据库是云上非常重要的一环。数据的产生存储和消费都是通过数据库

传统本地数据库的系统架构通常是紧耦合的,最开始是通过借助 IaaS,直接将传统的数据库 “搬迁” 到云上,这种方案在资源利用率,维护成本,可用性上都不太理想。所以就出现了云原生。

本次分享主要是polardb和polardb serverless,通过两篇论文:

PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database

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脏页的时候会给网络带宽造成压力