分布式数据库OceanBase架构演进与业务场景实践 周跃跃OceanBase架构师 周跃跃OceanBase架构师 专注于数据库特别是分布式数据库领域多年,熟悉分布式数据库技术原理与解决方案落地,目前主要从事OceanBase数据库方案落地和技术布道。 ” www.top100summit.com 讲师简介 “ www.top100summit.com 目录 •架构升级以及背后的故事 •核心特性以及原理解读 •OceanBase在企业场景落地实践 •进一步开源开放的OceanBase生态 www.top100summit.com 架构升级以及背后的故事 OceanBase发展历程及构架演进 V0.1 合 SQLSQLSQL 分布式,三副本高可用,松耦 ChunkServer V1.0 Zone OBServer OBServer Zone OBServer OBServer Zone OBServer OBServer 分布式事务,多租户,一体化 V2.0~V3.0 Zone OB-MySQL OB- Oracle Zone OB-MySQL OB- Oracle 高兼容(+oracle)高性能混合负载 V4.0 H) (TPCC、TPC Zone OB-MySQL OB- Oracle 单机分布式一体化 OBServe r OBServe r OBServe r OBServe r 2022 UpdateServer 2010 UpdateServer UpdateServer 2016 2018 www.top100summit.com 分布式架构 无共享架构+Paxos协议+分区级高可用 APPAPPAPP OBProxyOBProxyOBProxy OBServer OBServer OBServer •多副本:一般部署为三/五个Zone,每个Zone由多个服务器节点(OBServer)组成 •对等节点:每个节点均有自己的SQL引擎和存储引擎,自主管理各自承载的数据分区,TCP/IP互通,协同服 P1P2 P3P4 P1P2 P3P4 P1P2 P3P4 务 •无需存储设备共享:数据分布在各个节点上,不基于任何设备级共享存储技术,不需要SAN网络 •分区级可用性:分区是可靠性与扩展性的基本单元,自动实现访问路由、策略驱动负载均衡、自主故障恢复 OBServer P5P6 P7P8 OBServer P7 P6 P5 OBServer P5P6 ZONE_2 P8P7P8 •高可用+强一致:多副本+Paxos分布式协议的高效高可靠工程实现,确保数据(日志)持久化在多数派节点成功 ZONE_1 Paxos Group OceanBase三副本架构 ZONE_3 www.top100summit.com www.top100summit.com 核心特性以及原理解读 www.top100summit.com 什么是单机分布式一体化数据库? 单机、主备、分布式架构动态转换 主库备库 OBServer 主SQL 备 无损容灾 库Storage OBServer SQL Storage 写操作读操作 SQL路由 ZONE_1 OBServer 驱动/OBProxy ZONE_2 OBServer 弱一致性读 ZONE_3 OBServer SQLSQLSQL OBServer ZONE_1ZONE_2ZONE_3 P1P1P2P1 SQL OBServer OBServer OBServer P2P2 三 垂直扩展副 SQL SQL SQL P0P4 P0P4 P0P4 Storage 本Storage Storage Storage OBServer SQL P5P6 OBServer SQL P5P6 OBServer SQL P5P6 更 读写分离 大OBServer 规SQL P7P8 P7P8 P7P8 •小业务 •初创企业 格的 单Storage 机 •中等规模业务 •中等规模企业 基于Paxos复制的日志流,RPO=0,RTO<8s •大规模业务 •大型企业 www.top100summit.com 不为你不需要的特性买单:你为什么需要分布式数据库? www.top100summit.com 方案价值 •不再需要中间介质来实现 •租户级别主备 •RTO秒级、RPO秒级 •主备独立,互不感知 架构升级-主备模式 典型场景介绍 •单副本高可用架构 •高网络延迟架构 像使用MySQL一样使用OceanBase(租户主备) 3.X架构局限性-paxos选举开销 “从大到小”,不仅仅是架构变小,更要解决在小规格配置时流畅的使用OceanBase 极端场景测试 测试场景一测试场景二 www.top100summit.com 3.x架构下,选举就会消耗不少的CPU资源,小规格资源无法承担业务 www.top100summit.com 分布式事务 现象:参与者的数量变多的时候,到4个时,性能大概会减半;当参与者到100个的时候,性能会再减半;结论:参与者的数量越多,事务的性能就会越差。 www.top100summit.com 4.X如何解决 合并日志流 降低选举开销 •Paxosgroup、分区 降低分布式事务开销 •单机多分区、跨机 核心:日志流数量太多 目标:单机单日志流就像MySQL一样 架构升级-单日志流 4.X分区与日志流解耦 3.X分区与日志流高度耦合 场景 1、数据量大造成分区数量巨大(建议5-8w)2、频繁创建、删除和truncate表和分区等 问题 1、系统开销(状态机):网络、CPU、内存等 2、性能损失:多分区两阶段提交 单个日志流可服务多个分区 优化后 1、开销小(日志流数量非常小) 2、日志流内一阶段提交 单机分区达到百万级别 性能、资源、稳定性进一步提升 www.top100summit.com www.top100summit.com 更多优化 资源占用更小,执行更快 优化内存 存储层元数据按需加载 大数据结构内存按需扩张 优化CPU 减少不必要的后台线程数量 按需降低后台线程扫描频率 优化SQL 增强自动改写,生成更好计划 优化执行引擎,提升执行效率 性能表现与对比 小规格下性能表现优于MySQL 结论:Insert、update性能是MySQL的2倍,其他项与MySQL相当甚至更好 www.top100summit.com 存储收益 结论:OB4.0存储成本只有MySQL/CockroachDB1/4左右;另外一个是rocksDB,OB的成本也只有它的一半左右。 www.top100summit.com 功能特性 —基于Paxos+数据同步的灵活的容灾架构— 单机房三副本 同城三机房 双机房主备 两地三中心 三地五中心 自研一体化架构兼容经典模式,实现单机和分布式、TP和AP的融合 —灵活的部署模式— 公有云/多云 专有云/混合云 物理部署 —集中式/分布式一体化架构— 分布式调度 分布式事务 分布式存储 —HTAP引擎(TP+AP)— 存储过程 并行执行引擎 SQL优化引擎 —原生多租户架构— MySQL兼容 Oracle兼容 完全自主研发的数据库,才能做到核心替代的真正落地 ★原生分布式 全量数据校验真正实现数据强一致,数据不丢失,高可用,平滑扩展 ★单机分布式一体化 自研一体化架构突破高性能和高可用,实现应用无限扩展和服务永远在线 ★HTAP 一份数据既能做事务处理又能实时分析,通过HTAP助力拓展更多可能 ★MySQL平滑迁移 业务少量修改甚至不改即可迁移到OB,自动评估和迁移工具 ★低成本 基于LSM-Tree的高压缩引擎平衡了“性能”和“压缩”的瓶颈,有效降低存储成本70%-90% ★多租户 资源隔离按需使用,灵活管理,适合微服务架构和SaaS行业应用 www.top100summit.com www.top100summit.com OceanBase在企业场景落地实践 www.top100summit.com 历史库 低成本|生命周期自动管理|超大容量 通过OceanBase智能化的历史库迁移平台,帮助用户快速、安全的完成冷数据归档,一次配置即可自动管… 多租户 资源池化|降低成本 过OceanBase的分布式多租户架构,实现基于面向服务 (SOA)的多数据库资源整合。 7x24不停机高可用异地多活|单元化 丨极致弹性 OceanBase通过强大的异地部署能力和灵活的副本变换 以及负载均衡能力,帮助企业在关键核心场景中构建… 高并发 分库分表聚合库|极速扩展|弹性扩所容 基于OceanBase的在线扩缩容能力和高并发低延迟特性,快速应对业务负载变化,支撑业务高速发展 实时数仓 极低延迟|极简架构|海量存储 集数据加工处理以及数据即时查询于一体的OceanBase原生分布式HTAP据库解决方案,为业务提供实时数仓支撑 OBKV 低成本|平滑替代|更高性能 平滑替代HBase业务,大幅提升性能,节省大量HBase相关组件,统一技术栈,降低运维成本. 六大典型场景解决方案 www.top100summit.com 基于数据日志分离的低成本存储技术 传统的Paxos协议中,系统需要三个副本(五副本),OceanBase数据库将用户数据和日志数据分离,比如日志数据基于Paxos协议使用三副本(五副本)存储,而用户数据本身可以使用两副本(三副本/四副本)进行存储。在保障相同可用性的前提下,数据日志分离可节省20%-40%的用户数据存储成本。 基于数据编码的存储压缩技术 采用行列混合存储格式,磁盘数据块按列组织,自研一套对数据库进行行列混存编码的压缩方法(encoding),使用行列的字典、差值、前缀等编码算法,在通用压缩算法之前对数据做了编码压缩,从而带来更大的压缩率。 支撑OLTP业务在线高压缩比 LSM-Tree架构、动态修改写内存、静态数据无修改;批量写高压缩支持、强数据校验、对SSD友好无随机写。 内存 硬盘 OLTP应 用读数据 热点缓存 CLog落盘Paxos同步 合并时统一压缩 多级转储提升写性能 转储数据 基线数据 OLTP应MemTable 用写数据 典型场景一:历史库(高级压缩技术) 显著降低存储成本 数据压缩是降低海量数据存储空间占用的关键手段。OceanBase高压缩比的分布式存储引擎,摒弃了传统数据库的定长数据块存储,采用基于LSM-Tree的存储架构和自适应压缩技术,创造性的解决了传统数据库无法平衡“性能”和“压缩比”的难题,并基于数据日志分离方法的分布式存储技术,进一步降低存储成本,实现了高性能和低存储成本。基于LSM-Tree的存储引擎,利用编码压缩大大降低存储成本。 基于数据变长-定长的存储压缩技术 通过使用压缩率较高且解压缩较快的压缩算法对数据进行压缩,提高数据压缩倍率,减少数据的存储成本。同时由于LSM-Tree的结构特性,采用读写分离设计和行级细粒度记录更新,变更数据保存在内存中,并批量写入到磁盘上。因此能达到内存数据库级写入性能和磁盘数据库的存储成本,并消除了传统B+Tree的磁盘随机写瓶颈和存储空间碎片化问题,使得数据写入性能比传统的实时更新数据块的方式更高。 同一业务的数据存储量 OceanBase仅为MySQL数据库的 1/8-1/10 显著提升业务系统稳定性、安全性有效降低存储成本 70%-90% www.top100summit.com OceanBase 收益 •运维更加高效与便捷:单集群替换300+套MySQL环境,运维管理成本大大降低,同时管理更加方便。 •低成本:支撑上百TB数据存储场景且性能和稳定性有保证,同时相比较之前的方案,OceanBase方案的存储成本降低75%,降本效果明显。 •架构收益明显:使用