我在OceanBase开发者大会充电的一天——干货满满、CPU已烧

avatar
作者
筋斗云
阅读量:1

目录

一、OceanBase 开发者大会参加实录和有感

大会开场

主题演讲 - 云时代的分布式数据库

主题演讲 - 分布式 + AI 的未来

主题演讲 - 分布式数据库最好的时代

技术专场 - 开发者互动和实践

二、从技术角度介绍一下Oceanbase

Oceanbase架构+使用场景+数据存储原理图

1、Oceanbase六大核心特性

2、OceanBase整体架构

总结与感想

 博主v:XiaoMing_Java


一、OceanBase 开发者大会的一天

2024年4月20日,OceanBase开发者大会在上海举办,有幸参加了这场面向开发者的盛会,与来自各行各业的数据库大咖和开发者朋友一起,探讨了关于分布式数据库的前沿技术和最佳实践。

大会开场

大会在一片热烈的氛围中开场,来自 OceanBase 的创始人和技术领导层分享了 OceanBase 的发展历程和未来愿景。从2010年第一行代码,到2022年发布4.0版本,OceanBase 已逐渐成为企业级分布式数据库领域的重要玩家。尤其是其突破性的“三地五中心”城市级容灾能力,赢得了金融、互联网等行业的青睐。

主题演讲 - 云时代的分布式数据库

上午的主题演讲环节由《云时代的分布式数据库》开始。他深入探讨了分布式数据库在云时代的发展趋势,强调了 OceanBase 在实现高可用性和云原生特性方面的创新。通过分享 OceanBase 如何通过自研技术实现高效的分布式数据管理,他鼓励开发者积极拥抱分布式数据库,并强调在云时代,这一趋势将愈加明显。

主题演讲 - 分布式 + AI 的未来

接下来,另一位演讲嘉宾分享了关于分布式数据库和人工智能(AI)结合的可能性。他指出,随着 AI 技术的发展,数据库不再只是传统的数据存储与查询工具,而是一个可以与 AI 深度融合的基础设施。通过在分布式数据库中嵌入 AI 算法,未来可以实现更智能的数据处理和决策支持。

主题演讲 - 分布式数据库最好的时代

顾星宇的演讲以“分布式数据库最好的时代”为题,他认为目前正是分布式数据库的黄金时代。随着云计算、大数据、AI 等技术的迅速发展,分布式数据库的应用场景愈发广泛。他提到了 OceanBase 如何通过自身技术的演进,不断拓展在各个行业的应用场景,并与开发者一起共建生态。

技术专场 - 开发者互动和实践

下午的活动更加多样化,不仅有关于技术产品的深入讨论,还有许多互动体验环节,如产品 Demo、Hands-on Workshop、Developer Hub、人才集市等。通过这些活动,我感受到 OceanBase 致力于打造一个与开发者紧密互动的生态环境。

在技术生态专场中,OceanBase 团队详细介绍了如何构建完整的分布式数据库生态系统,包括技术支持、社区活动、人才培养等。在专有云实践专场中,演讲者展示了 OceanBase 在关键业务系统中的应用实例,并分享了在构建分布式数据库时遇到的挑战和解决方案。

二、从技术角度介绍一下Oceanbase

OceanBase 数据库(OceanBase Database)是一款原生分布式数据库。

在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新 TPC-C 标准测试,单集群规模超过 1500 节点,具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。

Oceanbase架构+使用场景+数据存储原理图

1、Oceanbase六大核心特性

高可用:独创 “三地五中心” 容灾架构方案,建立金融行业无损容灾新标准。支持同城/异地容灾,可实现多地多活,满足金融行业 6 级容灾标准(RPO=0,RTO< 8s),数据零丢失。

高兼容:高度兼容 Oracle 和 MySQL,覆盖绝大多数常见功能,支持过程语言、触发器等高级特性,提供自动迁移工具,支持迁移评估和反向同步以保障数据迁移安全,可支撑金融、政府、运营商等关键行业核心场景替代。

水平扩展:实现透明水平扩展,支持业务快速的扩容缩容,同时通过准内存处理架构实现高性能。支持集群节点超过数千个,单集群最大数据量超过 3PB,最大单表行数达万亿级。

低成本:基于 LSM-Tree 的高压缩引擎,存储成本降低 70% - 90%;原生支持多租户架构,同集群可为多个独立业务提供服务,租户间数据隔离,降低部署和运维成本。

实时 HTAP:基于“同一份数据,同一个引擎”,同时支持在线实时交易及实时分析两种场景,“一份数据”的多个副本可以存储成多种形态,用于不同工作负载,从根本上保持数据一致性。

安全可靠:自 2010 年开始完全自主研发,代码级可控,自研单机分布式一体化架构,连续多年通过大规模金融核心场景的可靠性验证;完备的角色权限管理体系,数据存储和通信全链路透明加密,支持国密算法,通过等保三级专项合规检测。

2、OceanBase整体架构

OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,运行在普通 PC 服务器组成的集群之上,具备高可扩展性、高可用性、高性能、低成本、与主流数据库高兼容等核心特性。

节点和可用区(Zone)OceanBase数据库由多个节点构成,这些节点被组织在不同的可用区内。每个可用区代表一组具有相似硬件可用性的节点,是实现物理隔离和容灾的重要逻辑单位。在单一数据中心部署的场景中,一个可用区可能对应一个机架或交换机;而在跨数据中心部署的场景中,一个可用区则可能对应整个数据中心。每个可用区都具有特定的IDC(Internet Data Center)和地域(Region)属性,这些属性反映了节点所在的具体物理位置,对于优化数据复制和访问策略至关重要。

数据分区(Partition)和分片:OceanBase数据库中,表的数据会被水平拆分成多个分片,即分区。这种分区可以基于多种规则,包括hash、range或list等,以支持不同的数据管理策略。此外,OceanBase还支持二级分区,如可以将订单表首先按用户ID分区,然后根据月份进行二次分区。这种分层的分区策略不仅优化了数据的存储效率,还提高了查询性能。每个分区都存储在一个名为Tablet的存储层对象中,Tablet负责存储排序后的数据记录。为了数据的持久化,对Tablet中的数据进行修改时,需要将变更写入对应的日志流(Log Stream)中。

副本和数据一致性:为了保证数据的高可用性,OceanBase数据库为每个日志流和Tablet设置了多个副本,这些副本分布在不同的可用区中。在这些副本中,只有一个被指定为主副本(Leader),负责处理写操作,而其他的从副本(Follower)则负责同步数据。主从副本(主副本(Leader)、从副本(Follower))间的数据一致性通过基于Multi-Paxos协议的分布式共识机制来维护。一旦主副本发生故障,系统会自动从从副本中选举出新的主副本,确保服务的连续性。

服务进程和通信:每个节点上运行着名为observer的服务进程,这些进程通过TCP/IP协议交换信息,处理数据的存取和SQL语句的执行。observer进程内部含有多个操作系统线程,使得OceanBase数据库能够高效地处理并发请求。

总结与感想

OceanBase 开发者大会不仅让我对分布式数据库技术有了更深入的了解,还让我认识到与开发者互动的重要性。通过与业内专家和开发者的交流,我了解到分布式数据库的发展方向和可能的应用场景。此外,互动体验和实践环节让我对 OceanBase 的产品和技术有了更直观的感受。

这次大会让我深深感受到 OceanBase 致力于打造一个开放、友好的开发者社区,并通过不断创新,推动分布式数据库领域的发展。我相信,随着技术的不断进步,分布式数据库将成为越来越多企业的首选,而 OceanBase 将继续引领这一领域的发展。

 欢迎评论区留言讨论,如果本文对你有帮助 欢迎关注 、点赞 、收藏 、评论!!!

 博主v:XiaoMing_Java

  📫作者简介:嗨,大家好,我是     小 明

互联网大厂后端研发专家,2022博客之星TOP3 / 博客专家 / CSDN后端内容合伙人、InfoQ(极客时间)签约作者、阿里云签约博主、全网 10 万粉丝博主。


🍅 文末获取联系 🍅  👇🏻 精彩专栏推荐订阅收藏 👇🏻

 

专栏系列(点击解锁)

学习路线(点击解锁)

知识定位

🔥Redis从入门到精通与实战🔥

Redis从入门到精通与实战

围绕原理源码讲解Redis面试知识点与实战

🔥MySQL从入门到精通🔥

MySQL从入门到精通

全面讲解MySQL知识与企业级MySQL实战

🔥计算机底层原理🔥

深入理解计算机系统CSAPP

以深入理解计算机系统为基石,构件计算机体系和计算机思维

Linux内核源码解析

围绕Linux内核讲解计算机底层原理与并发

🔥数据结构与企业题库精讲🔥

数据结构与企业题库精讲

结合工作经验深入浅出,适合各层次,笔试面试算法题精讲

🔥互联网架构分析与实战🔥

企业系统架构分析实践与落地

行业最前沿视角,专注于技术架构升级路线、架构实践

互联网企业防资损实践

互联网金融公司的防资损方法论、代码与实践

🔥Java全栈白宝书🔥

精通Java8与函数式编程

本专栏以实战为基础,逐步深入Java8以及未来的编程模式

深入理解JVM

详细介绍内存区域、字节码、方法底层,类加载和GC等知识

深入理解高并发编程

深入Liunx内核、汇编、C++全方位理解并发编程

Spring源码分析

Spring核心七IOC/AOP等源码分析

MyBatis源码分析

MyBatis核心源码分析

Java核心技术

只讲Java核心技术

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!