出行365:依托分布式数据库,让出行无忧 | OceanBase案例

*本文首发自"新华社·环球"杂志,作者张海鑫


每年的暑期旅游旺季,都会触发一轮轮的文旅消费的热潮,对于互联网出行服务行业而言,这既是一场盛大的狂欢,也是对其综合实力的严峻考验。

然而,自去年暑假起,出行365的副总裁兼首席技术官,张劲涛先生,心态已经从容了很多。"有了原生分布式数据库------OceanBase 之后,我们对平台的业务支撑能力是越来越有信心了。"

一、翻天覆地的十年

回溯至十数年前,节假日期间最令人困扰的莫过于购票难题,汽车站、代售点随处可见的排队长龙,有人为了买到一张票甚至要排上一个通宵。最绝望的是,好不容易排到了,却发现已经没票了,于是精心计划了很久的行程又不得不临时更改。

这样的场景,曾经是很多国人的共同记忆,不过互联网科技已经为这样的时代烦恼画上了句号。如今,临行前打开出行 365,输入出发地和目的地,选择出行日期,汽车票、城际巴士、火车票等票务信息便一目了然的出现在了手机屏幕上。如今的日常是十几年前的人们很难想象的。

十年前,张劲涛进入出行 365 这个初创企业之时,人们还并没有养成预约出行的习惯,培养市场和人们消费习惯的养成是一个相当漫长的过程,不仅考验着企业的耐力和资金能力,也考验着从业者们的定力。如今,张劲涛已经在互联网出行行业摸爬滚打了十年之久,出行 365 也已经成为在线汽车票务运营服务商排名第一、定制客运网络平台运营商排名第一的品牌。

出行行业比较特殊,不仅平日里需要 24 小时在线服务,每逢节假日才是真正的硬仗。"每到节假日人们集中出行之时,我们都会高度紧张,要为涌入平台的流量做好各种备案,确保大家的出行体验万无一失。 "张劲涛说,"尤其是十一黄金周,我们要提前 40 多天就开始编写应急预案,列出一张可能出现的问题清单,针对每种问题还要进行应急演练。"

"特别是 2023 年,随着国内旅游市场迅速回暖,从业务量上来看,五一期间就出现了往年十一那种业务量的陡然上升。人们的旅游方式也在不断翻新,我们的定制客运业务量每个月创一个新高,接送服务的增长量也翻了好几倍。"张劲涛说。

十年,张劲涛早已习惯了这样的生活,十年,国人的出行方式也已经发生了翻天覆地的改变。当互联网出行成为一种生活方式,大量的新增数据处理、历史数据的查询、实时的高并发,也给出行 365 带了新的挑战。

二、寻找"互联网皇冠上的明珠"

出行 365 每日交易量最高达到百万笔,而且是读写同时的,用以呈现各种业务的班次量更是达到上亿的规模,而在更新频次上,每秒可能更新上万行。随着出行 365 的业务量增长,给数据库带来了很大压力,Oracle 这种单库数据库的局限性逐渐显露出来。

"如果说航空发动机是'工业皇冠上的明珠',那么数据库则可以类比为'互联网皇冠上的明珠'。因为互联网行业应用层面的很多东西都可以追溯到数据库,可以说数据库的高度就决定了你业务的高度和技术的高度。"张劲涛告诉记者,这么多年来出行 365 技术团队做的很多工作实际上都是为了弥补数据库的局限,但还有很多想实现的服务迟迟无法拓展。

比如清分结算系统,"这是我们用于和供应商、分销商进行结算的系统。由于各个业务系统的数据全部都会集中到这个系统中,不仅数据量很大,还需要按业务进行各种维度的分析,而且常常是跨周期、跨纬度的分析,同时还要求实时的写入和聚合计算。针对一个供应商的一次计算就可能涉及上百万条的聚合数据,一旦数据量大了,聚合运算就变得非常非常慢,计算的压力非常大。所以很多时候,我们都要等业务量不大时才能运行。"张劲涛说。

为了解决这些问题,出行 365 曾设想过用数据仓库、数据库中间件 MyCat 等多种方案,但均效果不佳,选用新的数据库似乎成了不二之选。特别是 2022 年,公司决定对所有部署到用户的系统进行整合,将众多分散的小系统整合为一个大系统,意味着这个数据库需要承载非常大的数据量,并采用集中的 SaaS 模式为用户统一提供服务。不管是从成本的考虑还是数据量的考虑,Oracle 都已经无法满足发展需求。

但数据库迁移并非易事。"首先,它要能在语法上跟 Oracle 能够兼容,否则改动的工作量会很大,其次在性能上要能很好支持海量数据的复杂聚合计算需求,而且在事务支持上不打折扣。"从 2021 年开始,张劲涛很多功夫都花在了数据库的遴选上,但尝试了国内外很多数据库产品后仍未找到合适的。就在张劲涛惆怅不已之时,OceanBase 出现了。

通过测试后他惊讶地发现,一个 OceanBase 数据库就能同时满足上述两个需求。"在出行 365 评估的所有数据库中,OceanBase 是与 Oracle 兼容度最好的。而且在性能比对上,Oracle 和 OceanBase 没有明显差异,在某些场景 OceanBase 可能表现还更好一些。 "张劲涛说,"此外,进行迁移测试时 OceanBase 也是最平滑的。而且还有完整的迁移方案,让我们非常容易地完成了数据库迁移,整个迁移过程不到 2 个小时。"

三、站在数据库的肩膀上,轻松"远足"

2022 年下半年,出行 365 完成清分结算、云车站等数套系统的数据库升级之后,2023 年便迎来了旅游市场的一路"狂飙",让张劲涛很满意的是,尽管面对流量的暴增,系统依然运行非常平稳。

2023 年 8 月 31 日,为期 62 天的铁路暑运结束。据中国旅游研究院数据显示,今年暑期全国国内旅游人数达 18.39 亿人次。"这么大的客流量,每一秒中可能都有很多人在同时发生购票行为,这带来的余票变化非常频繁,系统要随时更新,而且是全网更新,这就对数据库的要求很高。但在 OceanBase 的支撑下,整个暑期我们的系统没有遇到任何运维方面的麻烦。"张劲涛说。

此外,除了解决运维烦恼之外,数据库迁移之后的成本优势也非常明显。张劲涛介绍,由于 OceanBase 采用自研高级压缩存储引擎,数据存储压缩率达 80%,如原本需要存储 10TB 的费用,现在仅需存储 2TB 的费用,大幅度节约出行 365 的数据存储成本。

"国产数据库带给我最大的感受就是,发现这个困扰我很多年的问题突然不见了,我们不必再为了迁就数据库而在业务功能上做平衡和取舍了。 "张劲涛感慨,"放在十几年前,国产数据库的研发对我们来说似乎是一件遥不可及的事情。"因为他们这一代 IT 人,经历过太久国外技术"一统天下"的岁月了。

"别说软件,那时候像手机、电脑等很多硬件产品大家都会首选国外的产品。但这些年,硬件方面国货已然崛起,并且逐渐在国际上占有一席之地。如今这样的逆袭故事也开始在软件领域上演了。"对此张劲涛十分期待。

如今从复杂的数据库运维工作中解脱出来张劲涛还想借助国产数据库开发更多新的业务。"现在我们有更多精力可以研究一些以前无法实现的计算量巨大的业务功能,比如我们的清分结算系统中通算功能等等。未来我们计划将更多的业务迁移到国产原生分布式数据库。"

如果说,出行 365 用互联网技术改变了国人的出行方式,让更多人能够轻松抵达"诗和远方";那么对于像张劲涛这样的软件开发人员来说,数据库等根技术的创新也改变着他们的开发模式,让技术人员站在数据库的肩膀上轻松"远足"。


OceanBase 云数据库现已支持免费试用,现在申请,体验分布式数据库带来全新体验吧 ~

相关推荐
OpsEye3 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
OceanBase数据库官方博客1 天前
OceanBase 中常用的查询语句
sql·oceanbase·分布式数据库·查询语句
OceanBase数据库官方博客4 天前
如何解决JAVA程序通过obloader并发导数导致系统夯住的问题 | OceanBase 运维实践
java·运维·oceanbase·分布式数据库
OceanBase数据库官方博客4 天前
如何配置 Flink CDC 连接 OceanBase 实现数据实时同步
大数据·flink·oceanbase·分布式数据库
OceanBase数据库官方博客4 天前
如何实现主备租户的无缝切换 | OceanBase应用实践
oceanbase·分布式数据库·高可用
靖顺6 天前
【OceanBase 诊断调优】—— ocp上针对OB租户CPU消耗计算逻辑
oceanbase
一名数据库爱好者6 天前
OceanBase 闪回查询
数据库·oceanbase·dba
OceanBase数据库官方博客6 天前
ODC 如何精确呈现SQL耗时 | OceanBase 开发者工具解析
sql·oceanbase·分布式数据库·开发者·生态工具
一名数据库爱好者7 天前
OceanBase单表恢复(4.2.1.8)
adb·oceanbase
靖顺7 天前
【OceanBase 诊断调优】—— OceanBase 数据库统计信息被禁用,状态为 broken 的原因和解决方法
数据库·oceanbase