加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

程序员必备!关系型数据库架构的超强总结

发布时间:2019-08-16 12:46:48 所属栏目:编程 来源:佚名
导读:1. 前言 本文总结一下接触过的关系型数据库常用的几种架构及其演进历史。 分析数据库架构方案的几个视角用发生故障时的高可用性、切换后的数据一致性和扩展性。每个产品都还有自己独特的优势和功能,这里不一定会提到。 2. Oracle数据库的架构方案 ORACLE

A. Google的F1

程序员必备!关系型数据库架构的超强总结 程序员必备!关系型数据库架构的超强总结

说明:

1. F1支持sql,底层可以支持MySQL和Spanner。选择Spanner原因主要是Spanner不需要手动分区、使用Paxos协议同步数据并保证强一致以及高可用。

2. Spanner分为多个Zone部署。每个zone有一个zonemaster(管理元数据和spannerserver)、多个spannerserver。

3. Spanner的数据存储在tablet里,每个tablet按固定大小切分为多个directory。Spanner以directory为单位做负载均衡和高可用,paxos group是对应到directory的。

4. Spanner的TrueTime 设计为分布式事务实现方案提供了一个新的方向(分布式MVCC)。

B. PingCap的TiDB

TiDB主要是参考Google的Spanner和F1的设计,架构上有很多相似的地方。

程序员必备!关系型数据库架构的超强总结 程序员必备!关系型数据库架构的超强总结

架构说明:

1. TiDB server负责处理SQL并做路由。无状态,可以部署多个节点,结合负载均衡设计对外提供统一的接入地址。

2. PD Server 是集群的管理模块,存储元数据和对TiKV做任务调度和负载均衡,以及分配全局唯一递增的事务ID。

3. TiKV Server 是存储节点,外部看是Key-Value存储引擎,表数据自动按固定大小(如20M,可配置)切分为多个Region分散在多台TiKV Server上。Region是数据迁移和高可用的最小单位,Region的内容有三副本,分布在三个区域,由Raft协议做数据同步和保证强一致。

4. 支持分布式事务,最早实现全局一致性快照。支持全局一致性备份。

5. 兼容MySQL主要语法。

功能:

1. 可用性:计算节点无状态部署,结合负载均衡设计保证高可用和负载均衡。存储节点是三副本部署,使用Raft协议维持三副本数据一致性和同步,有故障时自动选举(高可用)。

2. 扩展性:计算和存储分离,可以单独扩展。存储节点扩展后,数据会重新分布,应该是后台异步任务完成,不影响业务读写,可以在线扩容。可以用于做异地容灾,两地三中心异地多活(三机房之间网络延时很小)

3. 数据一致性:计算节点故障不会导致数据丢失,存储节点故障会自动选举,新的leader跟老的leader数据是强一致的。

C. Alipay的OceanBase

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读