OceanBase学习1:分布式数据库与集中式数据库的差异
创作时间:
作者:
@小白创作中心
OceanBase学习1:分布式数据库与集中式数据库的差异
引用
CSDN
1.
https://blog.csdn.net/zj88189748/article/details/138534412
分布式数据库与集中式数据库是数据库领域两个重要的技术方向。本文将从多个维度对比分析这两种数据库的差异,帮助读者更好地理解它们的特点和适用场景。
1. 传统集中式数据库
优点
- 成熟稳定:经过近40年的发展,应用到各行各业,产品技术非常成熟稳定
- 行业适配性强:适配不同行业的各种需求
- 生态完善:拥有大量的ISV应用开发商和技术开发者,技术生态、产业生态和人才生态都很完善
缺点
- 成本高:自身软件售价高,同时依托于高端硬件,CAPEX和OPEX成本高昂
- 无法横向扩展:容量的提升只能依靠提升设备自身的性能(增加CPU/内存/硬盘,或从PC服务器升级为小型机等),一定能碰到单点的上限
2. 数据库中间件的分库分表
优势
- 线性扩展:通过分库分表,可以快速实现数据库的水平扩展
- 技术成本低:不需要改造核心数据库引擎,或者只需要做很少的改造
劣势
- 跨库分布式事务:数据库核心引擎没有分布式能力,只能通过中间件来完成分布式处理,但中间件难以做到RPO=0,因此在遇到异常和故障时无法100%保证分布式事务的ACID能力
- 全局一致性:由于多个数据库服务器的时间戳不一致,因此很难保证多个库之间数据版本号的全局一致性
- 负载均衡:扩容和缩容时,底层数据库引擎无法在线调整数据分布规则,因此需要暂停业务并重新导数据,对业务和运维挑战很大
- 跨库复杂SQL:跨库的复杂SQL运算(比如多表做分片键无关的关联查询)只能在中间件完成,而中间件不具备分布式并行计算能力,最终会限制应用对SQL的使用,产生业务侵入性
3. 分布式数据库的基本特点及对比分析
优势
- 数据高可靠+服务高可用:多副本一致性协议Paxos的工业级实现,个别节点发生故障时保证数据零丢失(RPO=0)和服务快速恢复(RTO<30秒)
- 线性扩容:随着业务量增加进行扩容(比如线上促销期间),随着业务量减少进行缩容(比如促销后)
- 低成本:基于普通X86服务器保证高可用性,无需使用高端小型机和存储全局一致性:支持分布式事务,确保全局一致性,支持分布式复杂查询
- 灵活的部署方式:支持三中心、五中心、主备等多种部署模式
- 对业务透明:业务系统可以像使用单点数据库一样使用分布式数据库,业务迁移改造成本低
4. OceanBase和传统数据库的对比
特征 | 传统集中式数据库 | 以OceanBase为代表的分布式数据库 |
|---|---|---|
产品架构 | 经典的“单点集中式”架构,采用“全共享(Share-Everything)”架构。构建于高端的硬件基础之上,比如IBM高端服务器和EMC高端存储设备等 | 原生的“分布式”数据库,采用业界最严格的Paxos分布式一致性协议基于普通PC硬件的设计,不需要高端硬件 |
数据可靠性和服务离可用性 | 利用高端硬件设备保证数据可靠性采用“主从复制”,主节点故障的情况下,会有数据损失(RPO>0);不能自动恢复服务,服务恢复时间(RTO)通常以小时为单位计算 | 以普通PC硬件为基础,利用Paxos分布式一致性协议保证数据可靠性主节点故障的情况下,Paxos可以保证数据无损(即RPO=0),并且自动选举并恢复服务,服务恢复时间(RTO)在30秒以内 |
扩展性 | 数据存储只能在单点内实现纵向扩展,最终必然触达单点架构下的容量上限。计算节点通常无法扩展。少数模式下(RAC,pureScale)可做计算节点扩展,但多个计算节点之间仍需访问单点共享存储,并且可扩展的计算节点数量有限 | 数据节点和计算节点均可以在MPP架构下实现水平扩展数据节点和计算节点均没有数量限制,在网络带宽足够的前提下,可以扩充至任意数目 |
应用场景 | 集中在企业客户(金融、电信、政企等)的核心系统无法应付互联网业务场景,应用案例很少 | 支付宝核心、网商银行核心、阿里巴巴的众多业务,以及多家外部商业银行。逐渐迈向传统业务 |
使用成本 | 比较昂贵需要支付高端基础硬件的费用、高昂的软件授权费用以及产品服务费用 | 相对较低基于PC硬件的设计降低了硬件费用,软件授权费用和服务费用也有优势 |
Paxos算法是指一个或多个提案者针对某项业务提出提案,并发送提案给投票者,由投票者投票并最终达成共识的算法。
RPO(Recovery Point Objective)和RTO(Recovery Time Objective)是衡量容灾恢复能力的重要指标,通常用于云容灾和IT系统恢复中。
RPO:指的是在灾难发生后,系统数据能够恢复到的最远时间点,它衡量了系统可以容忍的最大数据丢失量。例如,如果RPO设置为10秒,意味着系统在故障发生后,需要恢复到10秒前的数据状态,任何在这段时间内的数据变动都可能丢失。
RTO:指的是从IT系统故障导致业务停顿开始,到系统恢复并恢复正常运营所需的时间,它定义了最大可容忍的业务停顿时间。例如,如果RTO设置为5秒,意味着系统在故障后必须在5秒内恢复,以避免业务中断。
这两个指标共同反映了数据中心的容灾能力和业务连续性管理的要求,需要根据具体的业务需求和风险分析来设定。
5. 小结
传统集中式数据库经过近40年的发展,已经非常成熟。但在当前这个大数据的时代,传统数据库依然面临较多挑战,分布式数据库可以有效解决这些问题,是未来数据库发展的重点方向。
- 传统数据库往往对硬件基础设施有较高要求,同时只能纵向扩展,无法横向扩展,容易达到性能上限;
- 分库分表虽然可以横向扩展了,但也有带来了不支持复杂SQL、较难保证分布式事务的ACID等新问题;
- 分布式数据库可以有效解决这些问题,应用可以像使用集中式数据库一样使用分布式数据库,分布式数据库具有低硬件成本、高可扩展性、高可用性等特性。
本文内容来自于OceanBase官方学习资料
热门推荐
从"争先簇拥"到"避之不及",非遗表演"打铁花"的安全隐患不容忽视
潮州徒步的经典户外线路:4条景美人少的徒步路线推荐
揭秘显示器面板类型(了解不同类型的显示器面板,提升视觉体验)
研究人员首次实现光激发电荷穿越两种半导体材料界面可视化
跑步机爬坡减脂最佳坡度速度
NAS远程文件管理最佳实践:VPN、FTP、内网穿透与Docker应用详解
家庭NAS适用场景与必要性分析
怎样在银行办理企业账户的授权委托书的格式?
读书为什么能开阔视野?
阅读策略:如何高效吸收书中智慧?
旧装备秒变提款机 黄金服最人性化更新 玩家闲置装备能换钱
肝性脑病病人的饮食禁忌
窗帘杆如何测量,精准安装的三大要点
窗帘杆什么样的好,选择技巧与材质解析
《格林童话》的艺术魅力
桑椹多吃有益,不妨试试这几种吃法
Cell:中国肿瘤药物开发和临床研究中的挑战与机遇
告别盲目跟风!烫发选贵还是选对,一文读懂
当同事频繁请求帮助时如何回应
C罗最大的黑点:从未拿过一次国家队大赛的赛事最佳?都怪体系
NBA高管谈弗拉格:模板巅峰期小卡 关键时刻攻坚能力是短板
NBA高管谈弗拉格:模板巅峰期小卡 关键时刻攻坚能力是短板
澳洲留学安全问题有哪些需要关注的
如何进行房屋整装并提升居住舒适度?这些整装方式有哪些实际效果?
《社会心理学:社会关系》:冲突与和解
《西游记》作者,是另一个江苏人?
如何评估高股息股票的投资价值
粉碎性骨折恢复方法
【禁毒宣传】饮品别混在一起喝,可能损伤大脑!
青少年常用抗抑郁症药:舍曲林
