当前位置: 首页 > news >正文

OceanBase学习1:分布式数据库与集中式数据库的差异

目录

1. 传统集中式数据库

2. 数据库中间件的分库分表

3. 分布式数据库的基本特点及对比分析

4. OceanBase和传统数据库的对比

5. 小结


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年的发展,已经非常成熟。但在当前这个大数据的时代,传统数据库依然面临较多挑战,分布式数据库可以有效解决这些问题,是未来数据库发展的重点方向。

  1. 传统数据库往往对硬件基础设施有较高要求,同时只能纵向扩展,无法横向扩展,容易达到性能上限;
  2. 分库分表虽然可以横向扩展了,但也有带来了不支持复杂SQL、较难保证分布式事务的ACID等新问题;
  3. 分布式数据库可以有效解决这些问题,应用可以像使用集中式数据库一样使用分布式数据库,分布式数据库具有低硬件成本、高可扩展性、高可用性等特性。

来自于OceanBase官方学习资料

相关文章:

OceanBase学习1:分布式数据库与集中式数据库的差异

目录 1. 传统集中式数据库 2. 数据库中间件的分库分表 3. 分布式数据库的基本特点及对比分析 4. OceanBase和传统数据库的对比 5. 小结 1. 传统集中式数据库 优点 成熟稳定:经过近40年的发展&#xff0c;应用到各行各业&#xff0c;产品技术非常成熟稳定行业适配性强:适配…...

计算机网络技术主要学什么内容,有哪些课程

计算机网络技术专业是一个涉及理论与实践紧密结合的学科&#xff0c;主要学习内容有计算机网络基础、网络设备技术、网络编程等内容&#xff0c;以下是上大学网&#xff08;www.sdaxue.com&#xff09;整理的计算机网络技术主要学什么内容&#xff0c;供大家参考&#xff01; 基…...

Mac下安装ffmpeg

1、安装gedit brew install gedit2、配置环境变量&#xff0c;打开~/.zshrc&#xff0c;在末尾添加语句 export PATH$PATH:/usr/local/ffmpeg/bin3、执行语句&#xff0c;使环境变量生效 source ~/.zshrc 4、终端输入 ffmpeg &#xff0c;看环境变量是否配置成功。 至此&a…...

自制AI:Park_01修改bug

修改了一下不能存东西&#xff0c;不能打开东西的bug #include<bits/stdc.h> #include<windows.h> using namespace std; double mem10737418240; map<string,string> jishiben; string mulu"朴同学给你的一封信.memo\n"; int cntnote1; void sta…...

解救应用启动危机:Spring Boot的FailureAnalyzer机制

目录 一、走进FailureAnalyzer 二、在Spring Boot中如何生效 三、为什么可能需要自定义FailureAnalyzer 四、实现自定义基本步骤 &#xff08;一&#xff09;完整步骤要求 &#xff08;二&#xff09;注册方式说明 通过Spring Boot的spring.factories文件&#xff08;建…...

win11个性化锁屏界面怎么关闭?

win11个性化锁屏界面关闭方法对于win11用户来说&#xff0c;关闭个性化锁屏界面是一个常见问题。本文将由php小编苹果详细介绍如何执行此操作&#xff0c;分步指导并提供操作截图。继续阅读以了解具体步骤。 win11个性化锁屏界面关闭方法 第一步&#xff0c;点击底部Windows图…...

白酒:白酒香型与品质消费的关系及影响

云仓酒庄的豪迈白酒作为中国白酒的品牌&#xff0c;其白酒香型与品质消费的关系及影响备受关注。随着消费者对品质的重视程度不断提高&#xff0c;了解白酒香型与品质之间的关系对于云仓酒庄和消费者都具有重要意义。 经云仓酒庄豪迈白酒分析&#xff0c;白酒香型与品质消费的关…...

智能BI(后端)-- 系统优化(安全性,数据存储,限流)

文章目录 安全性todo 数据存储限流限流的几种算法限流粒度限流的实现本地限流&#xff08;单机限流&#xff09;Redisson实现分布式限流(多机限流) 安全性 问题引入&#xff1a;如果用户上传一个超大的文件怎么办&#xff1f;比如1000G&#xff1f; 预防&#xff1a; 只要涉及…...

探索数字社交的奇迹:解读Facebook的革命性影响

1. 社交互动的全新模式 Facebook的出现不仅仅是一个社交媒体平台的诞生&#xff0c;更是一种全新的社交互动模式的开启。传统的社交模式主要依赖于面对面的交流&#xff0c;而Facebook则将社交推向了全新的数字化平台&#xff0c;使得人们可以在虚拟的世界里建立和维系社交关系…...

FileCodeBox-Lite:轻量级文件分享解决方案

在数字时代&#xff0c;文件分享是一个常见的需求&#xff0c;无论是个人用户还是企业团队。FileCodeBox-Lite提供了一个简单、高效且安全的文件分享解决方案。以下是对FileCodeBox-Lite项目的详细介绍。 项目简介 FileCodeBox-Lite是一个轻量级的文件分享系统&#xff0c;…...

【ARM】ARM寄存器和异常处理

目录 1.指令的执行过程 2. ARM处理器概述 3.ARM指令集 4.ARM存储模型 5. ARM工作模式 6.ARM寄存器组织 &#xff08;1&#xff09;寄存器 &#xff08;2&#xff09; ARM寄存器 &#xff08;3&#xff09;CPSR寄存器​​​​​​​ 7. ARM异常处理 &#xff08;1&am…...

数仓建模【埋点设计与管理】

埋点设计与管理 埋点的作用 分析用户转化以及留存&#xff1a;分析用户偏好收集市场反馈保障用户数据安全定位异常其他作用 埋点数仓设计 数据进入数仓之前我们就需要设计好数仓表&#xff0c;埋点表的数据有几个特点&#xff1a; 数据量非常大&#xff0c;可能是所有数据集…...

Spring Clound介绍

Spring Cloud 是一系列框架的集合&#xff0c;它利用 Spring Boot 的开发便利性简化了分布式系统&#xff08;例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态&#xff09;的开发。Spring Cloud 旨在为开发者…...

Redhat Linux忘记密码解决方案

1、重启系统 2、将光标移动到要启动的内核 3、按e编辑当前条目 4、将光标移动以Linux开头的行&#xff0c;此为内核命令行 5、在末尾添加人的rd.break 6、按ctrlx继续启动&#xff0c;如果发现输入的rd.break不能进入到伪系统&#xff0c;那么改为 rd.break consoletty0 (按ctr…...

对于子数组问题的动态规划

前言 先讲讲我对于这个问题的理解吧 当谈到解决子数组问题时&#xff0c;动态规划(DP)是一个强大的工具&#xff0c;它在处理各种算法挑战时发挥着重要作用。动态规划是一种思想&#xff0c;它通过将问题分解成更小的子问题并以一种递归的方式解决它们&#xff0c;然后利用这些…...

Instal IIS on Windows Server 2022 Datacenter

和以往版本一样&#xff0c;没有什么不同&#xff0c;So easy&#xff01; WinR - ServerManager.exe 打开服务器管理器&#xff0c;点击【添加角色和功能】&#xff0c;选择自己想要的角色和功能。 一、开始之前&#xff1a;帮助说明&#xff0c;点击【下一步】&#xff1b;…...

飞天使-k8s知识点30-kubernetes安装1.28.0版本-使用containerd方式

文章目录 安装前准备containerd 配置内核参数优化安装nerdctl以上是所有机器全部安装开始安装初始化&#xff0c;这步骤容易出问题&#xff01; 安装前准备 内核升级包的md5,本人已验证&#xff0c;只要是这个md5值&#xff0c;放心升级 1ea91ea41eedb35c5da12fe7030f4347 ke…...

Oracle 误操作insert delete update 数据回滚

查询回滚数据 select * from tablename AS OF TIMESTAMP TO_TIMESTAMP(2023-12-29 10:29:00,yyyy-mm-dd hh24:mi:ss) where not exists (select 1 from tablename A where A.xh tablename.xh and A.TIME tablename.TIME); TO_TIMESTAMP(2023-12-29 10:29:00,yyyy-mm-dd h…...

Linux系统(CentOS)下安装配置 Nginx 超详细图文教程

一、下载并安装 1.打开nginx官网并点击右侧的download&#xff0c;Nginx官网下载地址 2.选择稳定版本 我放在/usr/local/nginx/下&#xff0c;新建文件夹 mkdir /usr/local/nginx/ 通过xftp传输到Linux的服务器上&#xff0c;这里方法不过多复述。 或者如果Linux联网&#xf…...

追求完美用户体验,从变量名设计的细节抓起

在一个安静的办公室里&#xff0c;卧龙和凤雏正坐在电脑前忙碌地工作着。阳光透过窗户洒在他们的脸上&#xff0c;映照出专注的神情。 “变量命名让人摸不着头脑&#xff0c;光看变量名很难搞清楚它的用途。”卧龙眉头紧皱&#xff0c;表情严肃地说道。 “哦&#xff1f;具体是…...

14602开源|黄大年茶思屋第146期第二题:支持采集内容运动的静态3DGS重建

AI无偏差版脱敏题目标准化解题详解&#xff08;第二题&#xff1a;支持采集内容运动的静态3DGS重建&#xff09; 模块一&#xff1a;脱敏题目原文复刻 【脱敏题目原文】 支持采集内容运动的静态3DGS重建 基于3DGS及其扩展形式&#xff0c;支持动态建模和静态渲染&#xff0c;输…...

自我提升智能体的自进化原理和实践

自我提升智能体skill赋予了AI助手从错误中反思、学习并自动繁衍新通用技能的持续进化能力。 1 实际案例 帮我运行测试,看看为什么登录模块失败。 流程如下: 第一步,任务开始前,Hook 触发 activator.sh(通过 UserPromptSubmit 触发)。它不会输出一大堆规则,只是提醒 AI 一…...

别再花冤枉钱!手把手教你用Arduino+ESP32自制车机CAN模拟器(附开源代码)

用ArduinoESP32打造高性价比CAN总线模拟器&#xff1a;从硬件搭建到报文解析全指南 在汽车电子和工业控制领域&#xff0c;CAN总线作为可靠的通信标准已经存在三十余年。面对市面上动辄上千元的商业CAN模拟器&#xff0c;许多开发者、学生和DIY爱好者常常望而却步。实际上&…...

用Fiddler和Proxifier抓包分析易游网络验证API,手把手教你模拟合法请求

网络验证API抓包与模拟请求实战指南 在当今数字化产品生态中&#xff0c;网络验证机制已成为软件授权管理的核心组件。不同于传统的本地验证方式&#xff0c;网络验证通过远程API交互实现更高安全性的许可控制&#xff0c;这也使得协议层分析成为理解其工作原理的关键切入点。对…...

Perplexity学术模式尚未开放的4个隐藏功能(仅限IEEE Fellow级用户测试通道泄露)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity学术模式尚未开放的4个隐藏功能&#xff08;仅限IEEE Fellow级用户测试通道泄露&#xff09; 离线语义缓存预热接口 Perplexity 内部测试版暴露了 /v2/academic/cache/warmup 端点&#xff…...

MediaCreationTool.bat:解决Windows安装媒体创建痛点的灵活工具

MediaCreationTool.bat&#xff1a;解决Windows安装媒体创建痛点的灵活工具 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...

3步解锁百度网盘下载限速:零成本体验高速下载的完整指南

3步解锁百度网盘下载限速&#xff1a;零成本体验高速下载的完整指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘的蜗牛速度而苦恼吗…...

Elasticsearch 查询日志:每个查询一行协调器级别日志,适用于 ES|QL、DSL、SQL 和 EQL

作者&#xff1a;来自 Elastic Najwa Harif 及 Valentin Crettaz 通过 Elasticsearch 查询日志&#xff0c;可以轻松理解查询对集群性能的影响。每个请求由一条协调器级别日志记录&#xff0c;覆盖 ES|QL、DSL、SQL 和 EQL&#xff0c;并提供完整的查询文本、追踪信息、可选用户…...

嵌入式处理器IP选型指南:从ARM到RISC-V的权衡与实战

1. 从一场早餐会聊起&#xff1a;为什么32位处理器IP依然是嵌入式开发的硬通货最近在整理资料时&#xff0c;翻到一篇十多年前的老新闻&#xff0c;说的是IP供应商CAST要在DesignCon 2012上办一场免费的早餐研讨会&#xff0c;主题是他们新推出的BA22 32位处理器IP核。新闻里笔…...

Python 爬虫进阶技巧:多线程异步爬取大幅提升数据采集速度

前言 常规单线程爬虫采用串行阻塞式请求模式&#xff0c;严格按照 “请求页面 — 解析数据 — 保存入库 — 下一页请求” 的线性流程执行&#xff0c;每一次网络请求都需要等待服务器响应、网络传输延时完成后&#xff0c;才能发起下一次任务。在大批量站点列表、分页数据、多…...