4 e- I+ h: y8 T& c6 ]
谢邀。
& |3 K! Z6 h( z a+ T! S
我来说一下三者的优势吧:
- b% ?$ U- O& k. {4 W
OceanBase:
1 ?/ p3 |- V+ L$ m4 @. `; I 一、高扩展性
# d) E% `- a) ^9 d+ X$ E# H: y2 |
传统关系型数据库,比如Oracle或者MySQL功能已经很完善,但数据库本身不可扩展,随着数据量的增大和业务内容的丰富,需要拆库拆表,然后再进行访问路由,将相应的SQL解析路由到指定的数据库中。数据库的运维人员需要花费大量的时间来做数据库扩容,包括读写分离、垂直拆分、水平拆分等等。
& ^4 O8 x$ Y! N! n+ T7 o; x+ R4 P2 v
OceanBase使用了分布式技术和无共享架构,来自业务的访问会自动分散到多台数据库主机上。在相关技术的支持下,OceanBase还能够采用廉价的PC服务器作为其数据库主机。通过这两个方面的变革,运维人员可以愉快地通过增加服务器数量来增加系统的容量和性能。(PC服务器的价格也比小型机、大型机低很多)
: @- c! y9 P0 _/ i; f 即使是遇到双十一这种并发访问量超级高的需求,阿里也可以通过“买买买”的方式,确保数据库系统拥有足够的容量和性能。
+ Z0 `! l. F2 [& b E* F0 J' F# f 二、低成本
8 k$ V8 A! A v7 e! K; W
传统商业企业采用的“IOE”体系,实际上代表了一种高成本、高维护费、很不互联网(不擅长处理大规模高并发的互联网行为)的商用数据库系统。特别是阿里盘子越来越大,所需要付出的升级硬件和维护的代价也会越来越惊人,阿里巴巴采用数据切分的策略,将部分海量数据应用从集中式Oracle切换到分布式集群,从纵向扩展到水平扩展,解决了数据库扩展性的问题,并用PC服务器替换了小型机。
! k8 e/ P D% i8 y$ T, g) j 由此带来的一个重要变革,就是成本的极大降低。与传统数据库公司的产品相比,OceanBase的升级维护不需要昂贵的共享存储、高可靠的服务器、数据库软件的许可费,可以将商业数据库成本降到一半以下。
5 O% K7 ~- M" A; ]6 ^' \- D
伴随着去IOE运动的全面开展,收入方面也诞生了新的机会:为应对海量高并发业务而采购的PC服务器资源,在低峰可以打包成云计算产品出租给中小企业,在一定程度上抵消了一部分日常运维成本,甚至还有可能带来盈利,真正意义上实现开源、节流的双向拓展。
' |: _# s9 J. h4 m' K9 N 三、高可靠性
" K, U! U1 ]4 s+ B 数据库系统通常由数据库软件、运行数据库软件的数据库服务器硬件以及保存数据库数据的数据库存储硬件(即共享存储)组成。数据库系统的稳定可靠,也取决于这三个部分。使用PC服务器能够带来高扩展性、降低成本的同时,其硬件的可靠性却对应有些下降。
" F# B9 r+ o) _, y* s* ~6 W/ H
如何保证系统的可靠性?OceanBase的一个基本假设就是硬件(服务器、存储、网络等)是不可靠的,因此,OceanBase必须保证任何时刻出现的少量硬件(服务器、存储、网络等)异常不影响业务。
- |; o- d7 t1 e7 w) y
为此,OceanBase引入了Paxos协议,每一笔事务,主库执行完成后,要同步到半数以上库(包括主库自身),例如3个库中的2个库,或者5个库中的3个库,事务才成功。这样,少数库(例如3个库中的1个库,或者5个库中的2个库)异常后业务并不受影响。
8 g Q6 P3 _$ Q9 L, T$ K+ ?$ m
分布式事务一致性协议paxos主要用于保证一个数据在分布式系统里是可靠的。当在机器里多数派都成功了之后,只要坏的机器是少数派,三个里少数派是一个,多数派是两个。三个机器里面有两个成功了,那就可以告诉用户这个数据保证不会丢了。这个时候机可能会损坏,但是损坏任何一台机器,至少还有另外一台机器恢复过来,这是在系统内部自动去做容灾。任何一台机器坏了,或者有一台机器落后,比如三个及其是一主拖着另外两个成功了之后,就会把数据补上,肯定会保证另外两份是OK的,最终三份是OK了,坏一台机器都不会有问题。
3 x$ z1 A) i0 F3 a (来自知乎一位答主的回答,之前看到觉得不错就保留了下来,现在一时找不到原答主了。侵删,或者等找到了放个链接)
# [* h n b' ~
* h. x6 G5 c M* Q4 p4 l9 j+ ?* @ X-DB :
5 D0 J8 |: j4 p1 Y8 F
1、生态 100% 兼容 MySQL
1 x% N- R0 S5 u% x+ h% D+ P, e6 U
新一代分布式关系型数据库是对传统关系型数据库的传承和革新。分布式数据库虽然在高可能、强一致、高性能、低成本、高伸缩等多个方面作出了划时代的变革;但其依旧传承了传统数据库强大的 SQL 接口,系统管理能力。NoSQL 的衰弱和 NewSQL 的兴起,恰恰证明了这一点。一个新的分布式数据库,如果没有传承,自建一个新的生态,将会极大的提高用户的学习和使用成本,整个工具和支持配套也将面临很大的困难。因此,X-DB 作为一个新一代分布式关系型数据库,设计之初就选了业界相对开放和成熟的 MySQL 开源生态作为自己的基础。这样不单可以让 MySQL 生态中的用户零成本的切换到 X-DB 中,快速赋予业务分布式数据库所带来的多种能力;同时可以让 MySQL 生态中的各种周边工具和 DBA 等生态的参与者平滑的切换到分布式时代,赋予其支撑分布式数据库的能力。
& a/ q+ T! P7 I4 x! L
事实证明 X-DB 选择的这条路是正确的。在阿里集团及生态下的子公司内部,X-DB 在短短的几个月内、在非常少的人力参与下,迅速的完成了对大量传统 MySQL/AliSQL 集群的换代升级,使得阿里数据库整体进入了分布式时代,整个过程业务几乎零参与。同时 X-DB 对 MySQL 生态下的运维系统 / 工具、知识体系也实现了兼容,整个 MySQL 时代的支撑平台,支撑人员都可以平滑的过度到分布式数据库时代,拥有了支撑下一代数据库的能力,这个是非常难得的。
3 o3 e$ M" k% f+ F0 d
2. 跨 Region/ 全球强同步能力
5 S. H$ j2 S, c+ [/ [# ` 业界支持分布式强一致的数据库很多,但是其强一致都是有范围的,有些支持 AZ 内强一致,有些支持跨 AZ 强一致,真正能做到跨 Region/ 跨国强一致的却是凤毛麟角。目前业界主流数据库中,只有 Spanner 宣称自己是 Global Distribution,包括 Amazon Aurora 在内的其他主流数据库目前都不支持跨 Region 的强一致。X-DB 是真正做到了跨 Region/ 跨国强一致的分布式数据库,并且在业务上得到了验证。今年音视频服务全站迁移 X-DB,同时 X-DB 支撑了音视频服务国际化等多个国际化项目,实现跨国部署。包括核心交易系统、核心物流系统、核心 IM 系统在内的大量业务集群以跨 Region 强同步模式部署,使得业务拥有了城市级容灾情况下,数据零丢失,服务秒级恢复的能力。核心物流系统、核心 IM 系统在双 11 前夕分别进行了中心 Region 全不可用的容灾演练,X-DB 在 15 秒内自动完成跨 Region 的重新激活,数据零丢失,这在整个行业都是先行者。
7 ]; q% d# X. \2 v# ? m
- }0 ?% {9 A. d% |1 C9 j+ \8 \
POLARDB:
# o6 @, p0 J: S) N" V4 _1 ]
POLARDB 是阿里云数据库团队研发的基于第三代云计算架构下的商用关系型云数据库产品,实现 100% 向下兼容 MySQL5.6 的同时,支持单库容量扩展至上百TB以及计算引擎能力及存储能力的秒级扩展能力,对比 MySQL 有 6 倍性能提升及相对于商业数据库实现大幅度降低成本。
; K2 d' H: X8 e" R" W2 w3 q7 h
首先,受益于第三代分布式共享存储架构,使 POLARDB 实现了计算节点(主要做 SQL 解析以及存储引擎计算的服务器)与存储节点(主要做数据块存储,数据库快照的服务器)的分离,提供了即时生效的可扩展能力和运维能力。
1 {; ^- p) [: U" M! d" Z 众所周知,在传统数据库上做扩容、备份和迁移等操作,花费的时间和数据库的容量成正比,往往上TB的数据库容量加个只读副本就需要一到两天时间。POLARDB 的存储容量可以实现无缝扩展,不管数据量有多大,2分钟内即可实现只读副本扩容,1分钟内即可实现全量备份,为企业的快速业务发展提供了弹性扩展能力。
$ I& E6 M% Y: _& w5 o& @4 u- { 其次,与传统云数据库一个实例一份数据拷贝不同, POLARDB 同一个实例的所有节点(包括读写节点和只读节点)都实现访问存储节点上的同一份数据,使得 POLARDB 的数据备份耗时实现秒级响应。(备份时间与底层数据量无关)
* _+ k; Q& p+ d+ B8 |! P) G2 ^" z 最后,借助优秀的 RDMA 网络以及最新的块存储技术,实现服务器宕机后无需搬运数据重启进程即可服务,满足了互联网环境下企业对数据库服务器高可用的需求。
6 `4 b( n5 k2 @% G
z0 x3 h! d$ r& y