论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Postrge-SQL技术社区
›
国产主流数据库存储类型简析
国产主流数据库存储类型简析
万万哇
金牌会员
|
2024-8-20 12:48:47
|
显示全部楼层
|
阅读模式
楼主
主题
981
|
帖子
981
|
积分
2943
国产数据库在技术架构上主要分为集中式、基于中间件分布式和原生分布式架构,衍生出集中式架构和分布式架构。那么在这些摆设架构中,从数据分布的视角来看,在数据库中数据分布的形态是怎样的。本文将简要分析OceanBase、PolarDB、OpenGauss、GaussDB、GoldenDB、TiDB和TDSQL这几个主流的国产数据库的存储类型及存储引擎。
1、国产数据库存储类型
国产数据库在技术架构上主要分为集中式、基于中间件分布式和原生分布式架构,衍生出集中式架构和分布式架构。那么在这些摆设架构中,从数据分布的视角来看,在数据库中数据分布的形态是怎样的,主要分为本地存储、集中式存储和分布式存储:
本地存储:从应用访问的角度,表数据存储在当前数据库实例节点,数据的增删改查都是在当前实例举行的。
集中式存储:数据库多实例节点访问同一份数据,好比多个可读写实例、主备节点实例,访问相同的数据;
分布式存储:应用表数据存储在多个数据库实例中,应用访问存在跨多个数据库节点
以上定义是从应用表数据的分布形态出发,非传统意义上数据终极存储载体的定义。文中将简要分析OceanBase、PolarDB、OpenGauss、GaussDB、GoldenDB、TiDB和TDSQL这几个主流的国产数据库的存储类型及存储引擎。
1.1 OceanBase数据库
OceanBase是云原生分布式数据库,具备高可用、可扩展、高度兼容Oracle和MySQL协议等特性。OceanBase数据库采用Shared-Nothing架构(如下图所示),各个节点之间完全对等,每个节点都有自己的SQL引擎、存储引擎和事务引擎。
OBProxy:OB数据库代理ODP,负责接收用户的SQL哀求,团结哀求中涉及数据的分布,将用户SQL哀求转发到最佳的OBServer节点上,在OBServer节点上实验完成后担当效果并将实验效果返回给用户;
OBServer:OB数据库实例包含SQL引擎、事务引擎和存储引擎,负责地点节点分区数据的读取、路由到本机的SQL语句的解析和实验。
1.1.1 存储层架构
在OB数据库中,一个表的数据可以按照某种划分规则程度拆分为多个分片,每个分片叫做一个表分区,简称分区(Partition),其中某行数据属于且只属于一个分区。分区的规则由用户在建表的时候指定,包罗hash、range、list等类型的分区,还支持二级分区。一个表的若干个分区可以分布在一个可用区内的多个节点上。每个物理分区有一个用于存储数据的存储层对象,叫做Tablet,用于存储有序的数据记录。
OceanBase数据库的存储引擎基于LSM-Tree架构,将数据分为静态基线数据(SSTable中)和动态增量数据(MemTable中)两部分,其中SSTable是只读的,一旦生成绩不再被修改,存储于磁盘;MemTable支持读写,存储于内存。数据库DML操作插入、更新、删除等起首写入MemTable,比及MemTable达到一定大小时转储到磁盘成为SSTable。在举行查询时,需要分别对SSTable和MemTable举行查询,并将查询效果举行归并,返回给SQL层归并后的查询效果。同时在内存实现了Block Cache和Row cache,来避免对基线数据的随机读。当内存的增量数据达到一定规模的时候,会触发增量数据和基线数据的合并,把增量数据落盘。同时天天晚上的空闲时刻,系统也会自动逐日合并。
在OB中,每个分区的基本存储单位是一个个SSTable,而所有存储的基本粒度是宏块,数据文件按照2MB定长切分为一个个宏块,SSTable实际是多个宏块的聚集。
1.1.2 复制层架构
当用户对Tablet中记录举行修改的时候,为了保证数据持久化,需要记录重做日志(REDO)到Tablet对应的日志流(Log Stream)里。日志流代表一些数据的聚集,包罗若干Tablets和有序的Redo日志流。在分布式环境下,OB会将同一个日志流数据拷贝到多个呆板称之为副本,同一日志流的多个副本使用Multi-Paxos一致性协议保证副本的强一致,每个日志流和它的副本构成一个独立的 Paxos 组,其中一个日志流为主副本(Leader),别的日志流为从副本(Follower)。主副本具备强一致性读和写本领,从副本具备弱一致性读本领。
1.2 PolarDB数据库
PolarDB数据库是云原生的数据库产物,共有三个引擎,分别为PolarDB MySQL版、PolarDB PostgreSQL版、PolarDB分布式版。
1.2.1 PolarDB集中式架构
PolarDB集中式架构采用计算存储分离的共享存储架构,主节点和只读节点使用物理复制、RDMA网络低时延,可以或许快速同步数据。基于存储级别的复制办理了主从异步复制带来的备库数据一致性问题,保证数据库集群故障时候的数据零丢失。
Proxy: 通过内部的代理层Proxy对外提供服务,应用步伐的哀求都先颠末代理层,然后访问到数据库节点。代理层主要实现安全认证、保护和会话保持,SQL解析、读写操作分发以及实现读写分离功能。
计算节点:一写多读集群内有一个读写节点以及多个只读节点,多主集群(仅MySQL版支持)内可支持多个读写节点和多个只读节点,计算节点主要提供数据库SQL引擎功能。
共享存储:集群内的多个节点共享存储资源,单集群支持最高100TB存储空间。计算节点和存储节点之间采用高速网络互联,并通过RDMA协议举行数据传输,保证I/O性能。
存储数据多副本:存储节点的数据采用多副本形式,确保数据的可靠性,并通过Parallel-Raft协议保证数据的一致性。
PolarDB数据库采用存算分离的架构,计算节点仅存储元数据,而将数据文件、Redo Log等存储于远端的存储节点。各计算节点之间仅需同步Redo Log相关的元数据信息,极大地低落了主节点和只读节点间的复制延迟,而且在主节点故障时,只读节点可以快速切换为主节点。
1.2.2 PolarDB分布式架构
PolarDB分布式版(PolarDB-X)采用了基于计算存储分离的Share Nothing系统架构,具备高可用、高吞吐、大存储、低时延和易扩展特性。
元数据服务(Global Meta Service,GMS):主要提供分布式的元数据,提供全局授时服务(TSO),维护Table/Schema、Statistic等Meta信息、维护账号、权限等安全信息。
计算节点(Compute Node,CN):主要提供分布式SQL引擎,包含核心的优化器和实验器。基于无状态的SQL引擎提供分布式路由和计算,办理分布式事务2PC和谐、分布式DDL实验、全局索引维护等。
存储节点(Data Node,DN):主要提供数据存储引擎,基于多数派Paxos共识协议提供高可靠存储、分布式事务的MVCC多版本存储,并提供分布式计算下推本领,可支持本地盘和共享存储。PolarDB-X的DN存储节点是基于强一致数据库X-DB构建,X-DB使用InnoDB引擎,兼容MySQL语法。
日志节点(Change Data Capture,CDC):主要兼容MySQL生态的主备复制协议,兼容Binlog协媾和数据格式、支持主备复制Replication的协媾和交互。通过PolarDB-X的CDC组件,提供与MySQL Binlog兼容的数据库变更日志,并提供给卑鄙系统举行日志的消费和订阅。
1.3 OpenGauss数据库
OpenGauss是华为基于PostgreSQL内核开发的国产集中式数据库系统,采用木兰宽松允许证v2发行,具备高可靠、高性能、高安全、易运维和全开放等特性。和PostgreSQL数据库相比,二者在底层架构和数据存储方面类似,但OpenGauss在性能和扩展性方面举行了优化。
OpenGauss在摆设架构上采用主备摆设的模式,主备之间通过日志同步方式实现数据同步。在逻辑架构上分为管理模块OM和CM、数据库实例OpenGauss以及存储节点:
运维管理模块OM(Operation Manager):提供数据库一样平常运维、配置管理的管理接口、工具等
数据库管理模块CM(Cluster Manager):管理和监控数据库系统中各个功能单位和物理资源的运行环境,确保整个系统的稳定运行。CM提供数据库主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等本领。
OpenGauss实例:负责存储业务数据、实验数据查询任务以及向客户端返回实验效果。在高可用架构下通常摆设一主多备,并摆设在差别的服务器上。
存储Storage:服务器的本地存储,用于数据持久化,支持集中式存储
客户端驱动:负责接收来自应用的访问哀求,并向应用返回实验效果。客户端驱动负责与openGauss实例通信,发送应用的SQL下令,接收openGauss实例的实验效果。
其中CM支持两种DN选主仲裁协议,两种都实用于1主多备的集群,1主1备的不实用
Quorum 模式:基于多数派模式仲裁,选出同步备。当DN分片处于无主场景时,CM在多数派DN redo完成后,选择term和lsn最大的节点(同步备)发送failover升主
DCF(Distributed Consensus Framework)模式:基于Paxos协议的选主模式,该模式下DN自动选主,CM不再举行对DN选主,只负责数据收罗,假死检测等。
1.3.1 存储层架构
OpenGauss支持可插拔的存储引擎架构,在原生的存储引擎基础上新增了in-place update存储引擎、索引多版本管理增长事务信息、内存表管理MOT。
1)In-place update存储引擎(Ustore)
In-place Update存储引擎(原地更新),是openGauss内核新增的一种存储模式,在此前的版本使用的行存储引擎是Append Update(追加更新Astore)模式。追加更新对于业务中的增、删以及HOT(HeapOnly Tuple)Update(即同一页面内更新)有很好的表现,但对于跨数据页面的非HOT UPDATE场景,垃圾回收不敷高效。新增的In-place update存储引擎旨在办理Append update存储引擎空间膨胀和元组较大的问题,高效回滚段的计划是In-place update存储引擎的基础。
2)MOT内存优化存储引擎
MOT存储引擎是基于多核和大内存的服务器举行的优化,通过完全存储在内存中的数据和索引、非统一内存访问感知(NUMA-aware)计划、消除锁和锁存争用的算法以及查询原生编译,MOT可提供更快的数据访问和更高效的事务实验。
1.4 GaussDB数据库
GaussDB数据库(for openGauss)作为企业级的分布式数据库,支持分布式和主备的摆设场景,其中分布式版本包含CN(计算节点)、DN(数据存储节点)和GTM(分布式事务管理器)等节点类型。GaussDB数据库的分布式版本是基于share-nothing架构实现的,通过GTM-Lite技术实现事务强一致,消除了无中央节点性能的瓶颈。
GaussDB数据库在数据库组件上相比OpenGauss数据库多了和谐节点(Coordinator Node)和全局事务管理器(Global Transaction Manager),如下图所示。
OM(Operation Manager):运维管理模块提供数据库一样平常运维、配置管理的管理接口、工具等
CM(Cluster Manager):数据库管理模块管理和监控数据库系统中各个功能单位和物理资源的运行环境,确保整个系统的稳定运行。CM提供数据库主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等本领。
GTM(Global Transaction Manager):全局事务管理器负责生成和维护全局事务ID、事务快照、时间戳和sequence等全局唯一的信息。
CN(Coordinator Node):和谐节点负责接收来自应用的访问哀求,并向客户端返回实验效果;负责对SQL哀求解析,并将哀求路由到差别的DN分片上实验。
DN(Data Node):数据节点负责存储业务数据、实验数据查询任务以及向CN或客户端返回实验效果
ETCD:分布式键值存储系统,用于共享配置和服务发现
CMS(cm_server):举行数据库实例管理和实例仲裁的组件。主要功能包罗:1)接收各个节点上cm_agent发送的数据库各实例状态;2)提供数据库实例团体状态的查询功能;3)监控实例的状态变革并举行仲裁下令的下发
Storage:服务器的本地存储,用于数据持久化,支持集中式存储
1.4.1 GaussDB存储引擎
存储引擎向上对接SQL引擎,为SQL引擎提供或接收标准化的数据格式(元组或向量数组);存储引擎向下对接存储介质,按照特定的数据组织方式,以页面、压缩单位(Compress Unit)或其他形式为单位,通过存储介质提供的特定接口,对存储介质中的数据完成读、写操作。
GaussDB存储引擎包罗行存引擎和列存引擎以及MOT内存引擎,行存引擎主要面向TP类业务、列存引擎主要面向AP类业务。行存引擎对于读写并发操作,采用多版本并发控制(MVCC,Multi-Version Concurrency Control);对于写写并发操作,采用基于两阶段锁协议(2PL,Two-Phase Locking)的灰心并发控制(PCC,Pessimistic Concurrency Control)。
1.5 GoldenDB数据库
GoldenDB分布式数据库是基于分布式中间件的分库分表架构,该架构将数据分成差别的分片,每个分片又存储在差别的存储节点,且单个分片是主备复制架构以保证高可用。业务哀求颠末数据库中间件(计算节点)解析和路由分发到差别的数据分片,实现分布式功能。同时通过全局事务和谐节点来保证事务的全局一致性。GoldenDB数据库在团体架构上由由计算节点、数据节点、全局事务管理器、管理节点四种核心模块组成。
计算节点CN:负责SQL优化、SQL路由、数据节点的负载均衡、分布式事务调度等;
数据节点DN:数据存储节点,每个数据节点对应一个MySQL实例,多个数据节点组成一个DBGroup;
全局事务节点GTM:用于协助计算节点举行分布式事务管理,主要包罗全局事务ID(GTID)的生成和释放、维护活泼事务列表以及当前活泼事务的快照。GTM包罗集群级别的GTM和租户级别的GTM,租户级别只用于当前租户、集群级别是整个集群共用;
管理节点:包罗数据库运维管理平台Insight、元数据管理模块MDS、数据库集群管理模块CM和计算节点集群管理模块PM。
GoldenDB分布式数据库支持多租户管理模式、架构上支持横向动态扩展和节点扩缩容,提供读写分离策略。主备节点之间采用快同步方式同步复制,并采用gSync技术提高同步性能,满意金融级别的高可用要求。GoldenDB数据库的存储节点是基于MySQL数据库的,内核存储引擎上使用的是InnoDB引擎。
1.6 TiDB数据库
TiDB是开源云原生分布式关系型数据库,采用存储和计算分离的架构、提供行列存储引擎支持HTAP混合型业务、基于Multi-Raft多数派协议实现多副本之间数据同步,满意金融级别的高可用要求。TiDB兼容MySQL协媾和MySQL生态,并提供多种数据迁移工具实现MySQL应用平滑迁移到TiDB。
TiDB分布式数据库将团体架构拆分成了多个模块,各模块之间相互通信,组成完备的TiDB系统。对应的架构图如下:
TiDB Server:SQL层负责担当客户端的连接、实验SQL解析和优化,终极生成分布式实验计划。TiDB Server自己是无状态的,通过负载均衡组件对外提供统一的接入地址。
PD(Placement Driver):TiDB集群的元数据管理模块,是整个集群的“大脑”,负责存储每个TiKV节点实时的数据分布环境和集群的团体拓扑结构,提供TiDB Dashboard管控界面,并为分布式事务分配事务ID。
TiKV Server:分布式key-value存储节点,存储数据的基本单位是Region,每个Region负责存储一个Key Range的数据,每个TiKV节点会负责多个Region。
TiFlash:列式存储引擎的存储节点,主要用于AP型的业务场景。
1.6.1 RocksDB存储引擎
RocksDB是由Facebook基于LevelDB开发的一款提供key-value存储与读写功能的LSM-tree架构引擎。RocksDB实用于多CPU场景、高效利用fast storage好比SSD、弹性扩展架构、支持IO-bound/in-memory/write-once等功能。
RocksDB不是一个分布式的DB,而是一个高效、高性能、单点的数据库引擎。RocksDB持久化存储key-value键值对数据,keys和values可以是任意的字节流,且按照keys以log-structured merge tree的形式有序存储。
上图就是Rocksdb的基础架构,主要完成以下功能:
Rocksdb中引入了ColumnFamily(列族,CF)的概念,所谓列族也就是一系列kv组成的数据集。所有的读写操作都需要先指定列族。
写操作先写WAL,再写memtable,memtable达到一定阈值后切换为Immutable Memtable,只能读不能写。
后台Flush线程负责按照时间顺序将Immu Memtable刷盘,生成level0层的有序文件(SST)。
SST又分为多层(默认至多6层),每一层的数据达到一定阈值后会挑选一部分SST合并到下一层,每一层的数据是上一层的10倍(因此90%的数据存储在最后一层)。
Manifest负责记录系统某个时刻SST文件的视图,Current文件记录当前最新的Manifest文件名。
每个ColumnFamily有自己的Memtable,SST文件,所有ColumnFamily共享WAL、Current、Manifest文件。
RocksDB作为TiKV的核心存储引擎,用于存储Raft日志以及用户数据。每个TiKV实例中有两个RocksDB实例,一个用于存储Raft日志(通常被称为raftdb),另一个用于存储用户数据以及MVCC信息(通常被称为kvdb)。kvdb中有四个ColumnFamily:raft、lock、default和write:
raft列:用于存储各个Region的元信息,仅占极少量空间
lock列:用于存储灰心事务的灰心锁以及分布式事务的一阶段Prewrite锁。当用户的事务提交之后, lock cf中对应的数据会很快删撤消,因此大部分环境下lock cf中的数据也很少(少于1GB)。如果lock cf中的数据大量增长,说明有大量事务等候提交,系统出现了bug或者故障。
write列:用于存储用户真实的写入数据以及MVCC信息(该数据所属事务的开始时间以及提交时间)。当用户写入了一行数据时,如果该行数据长度小于255字节,那么会被存储write列中,否则的话该行数据会被存入到default列中。由于TiDB的非unique 索引存储的value为空,unique索引存储的value为主键索引,因此二级索引只会占用writecf的空间。
default列:用于存储凌驾255字节长度的数据
1.6.2 TiKV中的Raft算法
TiKV使用Raft算法来保证数据的一致性,默认环境下使用3副本组成一个raft group,过Raft的日志复制功能,将数据安全可靠地同步到raft group的每一个节点中。
当client端需要写数据的时候,它会发送哀求给Raft Leader,Leader会将操作解码为log entry并以append方式写入自己的Raft log中
Leader会根据Raft算法将log entry复制到Follower,Follower也会将这些entry追加到log entry中,而且关照Leader已经完成
当Leader发现log entry追加到多数majority节点中,它会以为这个log entry已经committed。之后Leader会解码entry中的操作,实验它们并应用到状态机中,这个过程称之为apply
另外,TiKV支持lease Read功能:对于读哀求,可以直接发送给Leader,如果leader判断基于时间的lease没有过期,则可以直接提供读哀求的客户端,不需要颠末Raft算法过程;如果过期了,则leader需要强制通过Raft算法来更新lease内容提供该客户端。
1.7 TDSQL数据库
TDSQL(for MySQL)分布式数据库基于Shared Nothing架构和分布式中间件将数据拆分到多个物理分片节点上,支持自动程度拆分、主备同步复制满意金融级别高可用要求。TDSQL分布式数据库采用存算分离的架构,采用多租户的模式支持集中式和分布式实例摆设、X86和ARM服务器混合摆设。主要包罗以下功能模块:
数据库存储层:由数据库节点组(SET)组成,SET是逻辑概念,由一组物理设备或假造化节点构成
SET存储数据库核心数据,采用主从高可用(HA)架构,节点数通常≥2,根据业务实际需求可扩展
每个节点(Node)信息收罗与管理模块(Agent),相互检测心跳以确保集群的健壮性
数据库计算层:是由SQL引擎(SQL-Engine)组成,又称为Proxy。计算层既要管理客户端的长短连接,还要处理惩罚复杂的SQL语句举行汇总计算,属于CPU麋集型高内存斲丧的组件。
Proxy是无状态的,自己不存储数据,也没有主备之分可以同时与业务系统通讯。Proxy节点数通常≥2,根据业务实际需求举行动态扩展,而且前端需要摆设负责均衡保证节点之前负载均衡。
Proxy层存储和处理惩罚数据库元数据,负责语法和语义解析。在分布式场景下,还需要处理惩罚分布式事务、维护全局自增字段、分布式SQL语句的下推和汇聚等。
配置管理决定调度集群,是由Zookeeper、Scheduler、Manager等组件组成。集群管理调度组件满意多数派选举通常需要奇数台,以基于raft协议实现对实例高可用切换的第三方选举。
GTM(Metacluster):提供分布式事务全局一致性的事务管理器,主要由Metacluster中央时钟源为事务的开启、提交阶段提供一个全局唯一且严酷递增的事务时间戳以及事务管理器(TM)组成,为了提高并发服从TM模块目前内置于计算层。
运维支撑系统,是由OSS运营调度管理模块、监控收罗与分析模块、赤兔管理系统组成。
以上组件共同构成了TDSQL分布式数据库的团体架构,实现分布式实例和集中式实例在数据库集群中的混合摆设,并提供了扩展性、高可用性以及运维功能支持。
1.7.1 存储引擎
TDSQL for MySQL提供差别的存储引擎,包罗InnoDB版本和TDStore版本。InnoDB版本是采用InnoDB作为数据库存储引擎,也是MySQL默认的存储引擎;TDStore版本是腾讯云自研的敏态存储引擎,兼容MySQL标准协议,专为适配金融级敏态业务而计划。
TDStore引擎采用存储和计算分离的结构,包罗计算节点、存储节点和管控节点,计算层和存储层的节点均可根据业务需求独立弹性扩缩容。TDStore存储层基于LSM-Tree + SSTable结构存放和管理数据,具有较高的压缩率,能有效低落海量数据规模下的存储成本。对比InnoDB存储引擎,TDStore版最高可实现高达20倍的压缩率,单实例可支撑EB级别的存储量。
1.7.2 主备节点同步复制
由于MySQL原生的主备节点之间的半同步复制技术存在异步退化、relay log无法保证实时落盘以及等候Slave返回ACK工作线程处于阻塞状态等问题,TXSQL对主备节点的同步复制举行了优化:
Master等候Slave ACK超时时,返回给客户端失败,不会退化为异步复制,保证了主备数据的强一致性;
采用组提交的方式,增长rpl_slave_ack_thread线程,循环取出io thread接收到的binlog name和pos等信息,且只处理惩罚最后一个;
采用线程池+业务线程异步化,在Master等候Slave ACK的过程中将会话生存起来,然后线程切换到其他的会话处理惩罚,不用无谓的等候;
TXSQL的强同步机制,主机等候至少一个备机应答成功后才返回客户端成功,保证了数据的一致性,满意金融级的高可用要求。同时采用并行多线程和组提交技术,大幅提升主备复制的性能。
如上图所示客户端写哀求提交后,线程池分配连接处理惩罚哀求,但是并没有立刻返回给客户端,而是将这部分信息生存在内存会话信息中。Master发起主备同步哀求,接收备机收到binlog的ACK哀求,当接收到备机日志落盘的ACK返回后,主节点的工作线程唤起刚刚生存的会话,实验后半段的提交操作,并将效果返回给客户端。因此在Master节点开启了两组线程:接收备机ACK应答线程(Dump ACK Thread)和叫醒hang住的客户端连接线程(User ACK Thread)。
1.8 各数据库存储类型对比
以上数据库从架构类型上分为集中式和分布式,集中式架构包罗PolarDB和openGauss、分布式架构包罗OceanBase、PolarDB-X版本、GaussDB、GoldenDB、TiDB和TDSQL。其中在存储类型、存储类型和高可用协议上各不相同:
存储类型:PolarDB使用的是主备节点集中式存储、openGauss则是本地存储模式,主备节点是差别的存储;OceanBase和TiDB是严酷意义上的分布式存储,而GaussDB、GoldenDB和TDSQL从应用角度是表数据分布在差别的实例,只是这个分片按照实例的维度,不是原生分布式按照更小的region维度。
存储引擎:OceanBase数据库是基于LSM-tree存储引擎、TiDB基于RocksDB引擎、PolarDB、GoldenDB和TDSQL都是基于InnoDB存储引擎,只是TDSQL又自研了TDStore存储引擎。OpenGauss和GaussDB都是基于PostgreSQL内核自研出UStore和MOT内存引擎。
高可用:副本的高可用算法,OceanBase、PolarDB-X、OpenGauss和GaussDB都支持Paxos协议、TiDB是基于Multi-Raft协议实现的、GoldenDB和TDSQL则是主备节点复制、PolarDB由于是集中式存储,通过存储级别的复制保证了高可用性。
参考资料:
https://www.oceanbase.com/docs
https://help.aliyun.com/zh/polardb
https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs
https://support.huaweicloud.com/fg-gaussdb-dist/gaussdb-18-0144.html
https://www.goldendb.com/#/docsIndex
https://docs.pingcap.com/zh/tidb/stable/overview
https://cloud.tencent.com/document/product/557
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万万哇
金牌会员
这个人很懒什么都没写!
楼主热帖
markdown day 01
Linux系统调用四、lseek()函数详解 ...
Nacos注册中心-----从0开始搭建和使用 ...
ClickHouse(05)ClickHouse数据类型详解 ...
基于CSDN云和docker全家桶的微服务项目 ...
【云原生】Docker 进阶 -- 数据卷使用 ...
应急救灾物资行业标准与规范 ...
100天精通Python(进阶篇)——第39天 ...
读Java性能权威指南(第2版)笔记02_ J ...
谈谈技术能力
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
SQL-Server
Oracle
IOS
Java
分布式数据库
Mysql
鸿蒙
前端开发
快速回复
返回顶部
返回列表