弓子介-从蚂蚁集团数据库演进之路看未来数据库的选择_第1页
弓子介-从蚂蚁集团数据库演进之路看未来数据库的选择_第2页
弓子介-从蚂蚁集团数据库演进之路看未来数据库的选择_第3页
弓子介-从蚂蚁集团数据库演进之路看未来数据库的选择_第4页
弓子介-从蚂蚁集团数据库演进之路看未来数据库的选择_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从蚂蚁集团数据库演进之路看未来数据库的选择弓子介(泓影)泛互联网&海外架构师负责人OceanBase

历程十年磨一剑第一篇OceanBase

发展历程及构架演进1.0

时代:坚定走向分布式架构2.0

时代:原生分布式数据库3.0

时代:混合引擎、混合部署4.0

时代:分布式一体化架构多个业务系统产品立项第一个用户2010扩大使用范围2013核心交易上线支付宝交易金融级核心业务2014全业务覆盖核心账务核心交易支付2016多家金融客户互联网核心系统2017打破世界纪录Oracle兼容公有云服务TPC-C

6088万2019独立商业化HTAP引擎TPC-C

7.07亿走向通用行业、更多头部客户核心系统2020规模化推广TPC-H

1526万社区版发布试点海外客户2021单机分布式一体化架构公有云上线公有云北美站点开服2022批量处理,企业级特性,HTAP公有云走向海外2004年支付宝诞生的第一笔担保交易2008年一库闯天下技术栈:webx系统1技术栈:IOEOracle 主备切换支付宝早期技术架构(2004年-2008年)系统2系统3Oracle支付宝早期技术架构(2008年-2014年)双11秒级支付峰值2009 2010 2011交易支付账务交易分库1交易分库2支付主库支付备库主备切换账务主库账务备库主备切换业务推进业务推进交易分库3交易分库4交易备库3交易备库4交易备库1交易备库2垂直拆分SOA化-拆!拆!拆!

(2008~2014年)技术栈:IOE技术栈:SofaStack水平拆分主备延迟了规模化运维带来的挑战CPU使用率告警表太大了,不敢做DDL了磁盘容量告警数据库升级机器又down机了,快切实例部署问题排查数据坏块性能又抖了数据量太大了,快帮我拆表连接数不够了SQL

ReviewSQL

调优7*24

oncallOracle

DBA时间碎片化响应时间幸福感支付宝技术架构重大转折点A 品牌策划与定位2015年527大规模瘫痪事件 舆情影响OceanBase

产品核心亮点100%自主知识产权的分布式数据库第二篇OceanBase

数据库产品架构Paxos协议

+

无共享架构

+

三副本多副本:一般部署为三/五个Zone,每个Zone由多个服务器节点(OBServer)组成,

基于Paxos

分布式协议的高效高可靠工程实现RPO=0,RTO<30秒,实现切换DBA无人值守多租户:实现数据库内核级虚拟化,满足数据安全隔离的同时提供基于业务画像的可伸缩计算资源,同时通过Leader打散实现混部。大集群:将长尾应用的多实例MySQL/Oracle统一进行管理,有效提高资源密度,消除存储碎片。运维:通过整合运维对象由实例转变为集群,降低运维成本,提高单兵人效比。OBServer(新增)P1P7OBServerZONE1P5P1P7OBServerZONE2P5OBServerP1OBServerZONE3核心优势-极致水平可扩展在线扩容(应用无感知),ZONE内增加OB节点在线扩容增加每个高可用域(ZONE)的OBServer节点的数量数据库租户也增加资源单元系统自动将表/表分区的各个副本重均衡分布到新增加的ObServer节点物理拷贝,每节点>500MB/s无需重新hash每条记录应用无感知,无需像分库分表那样对应用配合大量改造同样支持在线缩容P3 P4OBServerP8P3 P4P8P3

P4P2P2P2OBServerP5 P6P7 P8P6OBServer(新增)P2P6OBServer(新增)P6P 主副本P 从副本核心优势-平滑高可用/容灾切换ZONE3

机房整体故障,OB

Server

Z3-1和Z3-2

全部Crash!P1P7OBServer

Z1-1ZONE1P5P1P7OBServer

Z2-1ZONE2P5OBServer

Z2-2P1P2OBServer

Z3-1ZONE3P3 P4OBServer

Z1-2P4P8P7

P8P2P2P6P6P3的两个原从副本、P8的两个原从副各自本paxos协商出1个新的主副本提供服务P 主副本P 从副本OB

Server

Z3-1上的P1/P2/P4和Z3-2上的P5/P6/P7均是从副本,它们各自剩下的1主1从两个副本依然构成多数派,不影响业务;P3 P4OBServer

Z3-2P5 P6P8基于Paxos协议的典型多副本(三副本或以上)部署:数据强一致性持续可用主备自动切换,对上层业务透明单机、机房、城市级故障:OB内部自动故障切换,不停服务(

RTO

<

30秒),不丢任何数据(RPO=0)写事务到达超过半数库少数库异常不影响业务两地三中心多活灰度升级OceanBase内部自动切换、无需人工干预和复杂决策流程P3核心优势-计算资源整合和存储成本下降followerleaderfollowerleaderAZ

3followerfollowerleaderfollowerleaderfollowerfollowerfollowertenant

1tenant

2tenant

3tenant

4PhysicalServerPhysicalServerPhysicalServerMySQLx

5MySQLdatabase5TBOceanBase1TB存储成本至少省80%以上数据编码机制以及lsm存储架构无性能损耗存储费用下降到1/5OceanBaseCluster(5tenants)x

1计算密度提升5倍AZ

1 AZ

2OB

node1DBaSS能力,租户隔离(cpu/memory

resource

isolated)机器资源充分利用按需分配资源(升配迅速)读写能力都可以放在从节点上OceanBase

P2P架构APPOBProxyAPPOBProxyAPPOBProxy关键设计OBProxy与APP混部,数据链路无LoadBalance设备。P2P架构,单节点具备承担所有角色的可能。架构优雅,部署简单,无RPC通讯。一致性协议更换:Raft->Paxos多租户:实现数据库内核级虚拟化,满足数据安全隔离的同时提供基于业务画像的可伸缩计算资源,同时通过Leader打散实现混部。OceanBase

存储引擎增量

MemTable(WOS)Row-LevelIn-MemoryRedo/MVCCIn-Memory

HashIn-MemoryB

+-TreesGet ROW

CacheUpdat Small-QueryeLogsBlockCacheScanBig-QueryMemoryDiskReplicas 转储

SSTable 基线

SSTable(ROS)多个转储版本 合并前 合并后关键设计基于LSM理念自研存储引擎,未采用RocksDB宏块与微块:微块是数据的组织单元,宏块则由微块组成。Compact

操作时,可以在宏块和微块两个级别判断,是否可以复用。轮转合并:用多副本来解耦

Compact

操作和同时段的查询操作,避免磁盘

I/O

上的竞争。IO隔离:控制User

IO/System

IO,减少对前台请求影响Encoding:按行存储,按列编码,类似Google

PAX行列混合存储,一套存储支持TP/AP。CheckSum:三副本compaction的checksum,防止静默错误。Write

PathMemory Memory MemoryMemtable Memtable MemtableDisk Disk DiskTablet

Log Tablet

Log Tablet

LogSSTable

1 SSTable

1 SSTable

1SSTable

2 SSTable

2SSTable

31.Write 2.Flush 3.CompactOceanBase

SQL引擎ApplicationSQLExecutionmissPlan

CacheC1

C2 nhitSQLstatementFast

ParserAdd

to

cachePhysical

PlanSQLCompilerParserParse

TreeResolverStmtQueryTransformerXformed

StmtOptimizerLogical

PlanCode

GeneratorschemaCostEstimator关键设计Oracle/MySQL

两套Parser,兼容MySQL

5.7;Oracle

11gPlan

Cache:极大的节省语句的执行时间,几ms->几百us同时可以精细化的实现秒级的

SQL限流、绑定。SPM:计划灰度演进,确保永远往好的计划演进,不会出现CBO代价模型选错计划。ACS:典型的大小账号场景:存在数据倾斜,不同的参数对应不同计划的问题,

实现了自适应计划匹配。大查询队列:查询队列优先级区分隔离,防止大查询将实例打爆关键设计OceanBase数据复制-Paxos#1-#3为已经持久化和应答的事务日志#5-#9为已经收到但却不能持久化和应答的事务日志#4为未收到的事务日志。1 2 3456789Paxos与Raft:最本质的区别,在于是否允许日志空洞。

Raft必须连续,不允许空洞。Multi-Paxos允许日志空洞存在,应对复杂网络环境,更为鲁棒。WAL:一次Clog(Tidb:raft

log/rocksdb

log)示例:顺序投票策略对于主库的负面影响比较严重:出于性能提升的原因,数据库的多版本并发控制(MVCC)使得不存在相互关联的事务得以并发处理,但上述顺序投票策略使得事务#5-#9可能被毫不相干的事务#4阻塞,且必须hold在内存。ClientStateMachinePaxosModuleA=1A=1B=2B=2LogStateMachinePaxosModuleA=1B=2A=1 B=2LogStateMachinePaxosModuleA=1A=1B=2B=2LogOceanBase产品家族第三篇OceanBase

工具体系OceanBase

工具体系为

OceanBase

数据库从替换前、迁移中和使用后的不同阶段提供全方位产品化护航,助力业务稳定增长。迁移评估工具OMA数据迁移工具OMS开发者工具

ODC运维管理工具OCP01

评估改造自动采集自动转换回放压测数据库画像兼容性评估分布式改造02

实时迁移对象迁移增量迁移增量回写全量迁移数据校验数据订正04

生产运维部署升级容灾切换监控告警资源管理备份恢复自动巡检增量复制汇聚分发数据入湖双向同步数据抽取数据过滤权限管理安全协同数据脱敏操作审计变更管控安全治理全链路监控容量管理自动优化SQL

诊断自动恢复智能运维连接管理开发调试数据可视化对象管理导入导出模拟数据03

开发管理05

复制订阅06

安全管控07

诊断自治迁移评估工具

OMA产品架构产品特性完备的数据库画像:OMA通过连接源端数据库进行深度采集分析,生成源库的数据库画像,方便用户了解目前数据库的拓扑情况、应用拓扑情况和数据库的整体负载,会话情况,热点数据和特殊表分析,以便制定相应的迁移策略。提供多种评估方式:支持连接到指定数据库,自动获取和扫描源数据库对象以及

SQL

语句,也支持从客户端工具连接到指定数据库,获取

DDL

语句进行评估。OMA

还支持解析代码框架或负载捕获等离线文件中的

SQL

语句,对其兼容性进行评估。详细的评估报告以及转换建议:评估完成后,OMA

会自动生成详细的评估报告,包括兼容性评估结果和性能评估结果、数据库画像以及分布式迁移可行性分析和风险分析,方便用户根据评估结果改造计划制定迁移方案。产品优势全方位采集分析支持直连到指定数据库或者通过

OMA

提供的数据库采集器,来自动获取和扫描源源端数据库系统中全部数据库对象以及自定义范围的

SQL语句;提供兼容性评估分析、迁移可行性分析和风险分析。OracleMySQLPostgreSQL数据收集流量采集流量回放SQL

优化SQL/PL

改写负载评估对象兼容性评估DDL

转换SQL/PL

兼容性评估SQL/PL

改造数据库/应用画像配置推荐源码评估修改适配评估报告性能报告迁移计划改造优化对接数据库迁移OceanBase业务压测验证智能改造方案针对未完全兼容的场景,OMA

会基于

OceanBase

多年沉淀的核心业务迁移以及大规模验证的转换方案最佳实践,提供迁移至

OceanBase数据库的分布式改造方案。多种数据库和对象支持支持评估

Oracle、MySQL、PostgreSQL、TiDB

DB2

LUW

等主流数据库的常用版本与OceanBase

数据库的兼容性,包括

Table、Index、View、Sequence、Synonym、Function、Procedure、Package、…安全可靠无需修改体统配置,极大降低对源端业务系统开销。针对业务数据和敏感信息提供自动过滤和脱敏处理策略,最大程度保障用户的数据资产安全。数据迁移工具

OMSMySQL/MariaDBDB2

LUWTiDBPostgreSQLOceanBaseKafkaRocketMQDataHubAnalyticDBMySQLOracle…对象评估对象转换数据迁移数据汇聚数据校验修复建议回流保护持续校验数据转换抽取过滤数据同步消息订阅容灾双活灰度切流DDL

同步DML

过滤产品架构Oracle产品特性在线数据迁移:支持将Oracle、DB2

LUW等多种异构数据库在线迁移至

OceanBase

数据库,完成切换后支持将

OceanBase

数据库上所有的变更数据反向同步至源端数据库。实时数据同步:支持

OceanBase

与自建

Kafka、RocketMQ

之间的实时数据同步,支持数据过滤,提供完备的同步管理能力,广泛应用于实时数据仓库搭建、报表分流等业务场景。一站式交互:提供数据迁移过程的全生命周期管理,在管控界面上完成数据迁移和数据同步任务的创建、配置、监控和管理,交互简单方便。多重数据校检:多种方式的数据校检和保护,全面高效的保证数据正确性,展示差异数据,提供快速修复能力。产品优势一站式服务提供数据传输的全生命周期管理,支持语法转换,数据转换,任务管理等功能,提供迁移评估、数据迁移、数据订阅、数据校验等产品形态,从而方便客户轻松上“OceanBase”,

并满足企业客户的多样化需求。简洁高效提供可视化,所见即所得Web

管控平台,轻松完成数据传输项目的创建、任务配置和传输组件的监控运维,以及链路维护和故障诊断等便捷的操作,并提供多种保护级别支持定制化配置,提供实时的监控报警。灵活化基于实际业务场景,客户可以灵活选择合适的迁移、同步类型和功能,支持组合成不同的解决方案。同时提供多样性的部署模式及灵活的横向和纵向扩展、收缩能力,保障满足延迟敏感客户的业务需求。高性能OMS

使用多并发、并行复制和压缩加密传输等技术来保证迁移或同步项目都能拥有优异的传输性能。数据全量迁移可达

38万

RPS(Rows

Per

Second,每秒增量同步至目标表的数据行数),增量数据同步可高达10万RPS

及数据校验可达

66万RPS,从而提供稳定的秒级传输服务。对象管理SQL执行监控诊断执行设置模拟数据数据库管理PL

执行导入导出脚本管理ER

建模开发者工具OceanBase开发者工具SQL

解析权限框架数据源适配任务框架对象管理SDK审计框架连接管理配置框架基础框架管理员开发者DBA桌面版Web

版云平台用户角色资源管理变更流程操作审计生产变更权限管理风险规则流水线数据脱敏开发集成管控协同OceanBase产品特性对象管理:支持完整的数据对象和数据类型,引导式流程创建数据库对象,可视化对象修改,支持回收站机制。Web

控制台:通过

WebSQL

帮助开发人员使用

OceanBase

的各种特性和功能,支持

MySQL

Oracle

语法

高亮、格式化、智能提示、友好的

snippets

等特性,提供类似

Excel

的可视化数据编辑能力。导入导出:为

OceanBase

量身打造的高效数据导入导出工具,具备动态负载均衡和断点恢复等能力。安全审计:支持

14

类审计事件,确保安全合规,重要事件可追踪,审计报告可下载。流程管控:根据任务类型限制用户发起的变更内容、定制不同的审批流程,达到数据库变更安全的作用。

开发者工具

ODC 产品架构产品优势量身定制ODC

是为

OceanBase

量身定制的开发平台,其提供的表、视图、函数、存储过程、程序包、触发器、类型和同义词等对象可视化管理的能力是完全根据OceanBase

的内核能力定制,适配性好,体验更佳。轻松上手ODC

整体风格简洁明了,通过逐步引导,可快速进行表、视图、函数、存储过程、程序包、序列、触发器、类型和同义词等对象的开发与管理工作。丰富的工具集能力ODC

内置了一系列工具来辅助开发,如代码片段、执行计划分析、模拟数据、会话管理、回收站管理、导入与导出等。多形态跨平台ODC

支持客户端版和

Web

版,其中客户端版可在

Windows

Mac

平台上安装。Web

版支持在Linux

平台上部署,支持

X86

ARM

架构。“监控

-

告警

-

诊断”一体化诊断自治服务自感知

自扩容

自优化

自安全性能报告OBAR 数据库监控运维管控部署、升级、扩缩容、备份恢复、配置变更等全生命周期管理的全自动化运维。·

整体概要总结·

系统活动情况·

S

Q

L

运行状况·

缓存与队列等待信息·

参数配置·

总计超过

400+

项监控指标客户自研…第三方运维平台开源工具 商业工具开放

API

提供外部系统的接入OceanBase

集群ODP

集群ODP1ODP2ODP3多集群统一管控OCP

Web

管控台集中化运维管理平台诊断监控告警应急

OCP

管理服务基础数据

运行数据日志采集

|统一存放产品特性资源管理:提供

OceanBase

集群,租户,主机,软件包等资源对象的全生命周期管理,包括管理,安装、运维、性能监控、配置、升级等功能。监控告警:全局监控及告警设置,支持所有资源对象不同维度,实时准确的监控告警需求,支持自定义告警,满足定制化的告警需求。备份恢复:支持集群和租户表级别全量备份、增量备份及日志备份,支持周期性备份任务、多地备份,支持在备份周期内任意时间点的恢复,支持多种云平台介质的备份恢复。自治服务:日常运维的过程中,在

”发现-诊断-定位-优化/应急“

的链路上更好的人工或者自动化处理,极大的降低用户运维OceanBase

的成本。安全OCP

提供了基于用户角色的权限隔离机制,保障了资源的使用安全,OCP还提供了对所管理资源的企业级监控、告警、巡检、自治等功能,实时守护集群的运行安全。生态对接OCP

提供了开放

API,支持生态用户通过标准的

API

接口使用

OCP资源,同时

OCP

的监控、告警等数据,支持无缝对接到用户统一运维平台,降低用户的运维复杂度。简单易用OCP

基于

Web

的可视化管理能力,将复杂困难的数据库运维管理工作,通过产品能力实现标准化、自动化,用户可通过简单的页面操作来实现专家级数据库运维管理工作。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论