出行365 CTO张劲涛:智慧公路客运出行,数据库先行

news2024/11/18 19:55:27

🎙️🎙️《DB大咖说》第二期来啦!

「DB大咖说」的第 2 期节目,我们邀请到的是盛威时代(出行365)CTO 张劲涛,在高铁、飞机如此发达的出行领域,他却深耕公路客运 11 年,他表示公路客运所提供的“门到门”服务是其他长途出行方式所不具备的。由技术出身,却也对出行行业有情怀,除此外,他还是一名数据库发烧友,接触数据库近 20 年,从 dBase、FoxBase、Access 这样的桌面级数据库年代,到现在百花齐放的数据库行业,他是技术发展的无数见证者之一......

本文从他的职场成长出发,到出行 365 与 OceanBase 的结缘,进行了细细交流,欢迎大家了解。

近十年来,国人的出行方式发生了天翻地覆的变化,以我们熟知的铁路出行为例,联网售票、电子客票、凭身份证进站的出现给铁路出行带来很大方便。与此同时,公路出行也发生了重大变化。今天的公路客运不仅实现了联网售票、电子客票、刷脸进站,还出现了定制客运、联程运输等新的业务形态,可以说,公路客运的转型同样也走得很快。

张劲涛正是这一变化的见证者和推动者。张劲涛是盛威时代集团副总裁、首席技术官,盛威时代集团是一家为公众出行和旅游提供服务的公司,其旗下的出行 365 通过 PC 端、APP、微信公众号、微信小程序、自助售取票设备等渠道提供汽车票、定制客运、网约车、火车票等出行服务,业务覆盖 28 个省(区、市),实现 3200 余个客运站互联互通。

出行 365 发展的背后是张劲涛所领导的技术团队的支持,这些年来,他们持续不断地将各种先进的互联网技术应用到公路客运,彻底改变了公路客运的出行体验。2022 年下半年,张劲涛又做出了一个大的决定,将现有的 MySQL、Oracle 数据库逐步迁往 OceanBase。数据库作为出行 365 整个系统的底座,其更换是一件牵一发而动全身的大事。而且,和大名鼎鼎的 MySQL、Oracle 相比,OceanBase 成名要晚得多,名气也小得多。张劲涛为何要做出这一举动,这一次升级是否顺利?带着这些疑问我们独家专访了张劲涛。

图片

盛威时代成立于 2012 年,与滴滴的成立同年,与滴滴改变了市内出行体验类似,盛威时代改变了公路客运体验。

张劲涛 2013 年加入盛威时代,担任 CTO,负责公司的产品和技术,见证了这一行业变迁的全过程。

“最近十年是长途客运行业竞争最激烈和变化最大的十年,在互联网等技术的支持下,出现了很多新的出行方式(如高铁和网约车),给传统长途客运行业带来巨大的冲击。” 张劲涛在接受采访时表示。

但公路客运依然是主力,尤其在 100-200 公里的范围,公路客运依然是性价比最高的出行方式。同时,公路客户还能实现门对门,这是铁路出行所不具备的优势。

面对竞争对手的挑战,同时也是响应新时代的出行需求,出行 365 做出了很多创新。比如,从以前的单独买火车票或者汽车票,变成了联合出行,还依托互联网技术推出了很多新的出行方式,比如定制客运、网约车、顺风车等。

“虽然公路客运的本质没变,就是承载老百姓的出行需求,但互联网技术已经深度融入这个行业,正在颠覆这个行业。”张劲涛说。

其中最大的变化就是全面联网和业务线上化。这一变化的直接后果就是数据从以前散落在各个业务系统中到如今实现了数据的全面汇聚,使得哪怕一个细微的变化就可以全局感知,包括乘客。这给张劲涛所领导的技术部门带来了很大的压力:一方面是给终端用户的产品要好用,产品的易用性和功能性必须能满足用户的需求;另一方面是后台的网络和系统必须能提供有效的支撑,尤其是数据库,要能支撑数据的快速交换。

“比如,和 12306 一样,任何一个点的购票行为都会引发余票的变化。余票的变化非常频繁,系统需要能快速地对数据进行更新,而且是全网更新,这就对数据库提出了很高的要求,需要数据库能支持。”张劲涛说。

张劲涛介绍,对数据库的高要求主要体现在大数据量和频繁更新上。比如,在出行365,用以呈现各种业务的班次量就达到上亿的规模,而在更新频次上,每秒可能更新上万行。

另外,交易量也很高。张劲涛介绍:“出行 365 每日交易量最高达到百万笔,而且是读写同时都多,这给数据库带来了很大压力。而目前使用的数据库要么性能不足,要么成本上吃不消。”因此,公司不得已做出了更换数据库的决定。

图片

提出数据库升级需求的首先是面向用户(比如客运站)的业务系统。这类系统部署在用户的数据中心,基于 Oracle 实现,部署的点多而且分散。2022 年,公司决定对所有部署到用户的系统进行整合,将众多分散的小系统整合为一个大系统,并采用集中的 SaaS 模式为用户统一提供服务。

数千个小系统的数据统一汇聚到一起,意味着这个数据库需要承载非常大的数据量,同时,新系统需要支持 SaaS 模式,不管是从成本的考虑还是数据量的考虑,Oracle 都不是理想的选择,选用新的数据库也就顺理成章。

提出升级需求的还有清分结算系统,该系统主要服务于财务人员,是用以和供应商、分销商进行结算的系统。由于各个业务系统的数据全部都会集中到这个系统中,不仅数据量很大,还需要按业务进行各种维度的分析,而且常常是跨周期(如按月、按年等)、跨纬度的分析,同时还要求实时的写入和聚合计算。

“针对一个供应商的一次计算就可能涉及上百万条的聚合数据,一旦数据量大了,聚合运算就变得非常非常慢,计算的压力非常大。”张劲涛表示。

以前设想过用数据仓库来进行聚合运算,但数据仓库不能支持 OLTP 业务,而出行 365 的系统对事务交易的要求比较高,因此无法用数据仓库来替换。

为了满足业务需求,张劲涛开始寻找各种解决方案。比如,对于面向客运站的业务系统最早曾试过用 PostgreSQL 来升级 Oracle。之所以考虑 PostgreSQL 是因为它对 Oracle 的语法兼容度很高,而且是开源的,但是,需要对应用程序进行修改来适配 PostgreSQL。

经过认真评估,张劲涛发现改动工作量有点大,同时,改完后性能也没有把握,最后放弃了这个选择。后来,又评估了几个国产集中式数据库,但改动量都不小,有的根本就胜任不了,最后都放弃了。

而在选择 MySQL 的升级对象方面,张劲涛主要评估的是各种分布式数据库,因为数据聚合量太大了,传统集中式数据库很难满足。张劲涛试过了几个分布式数据库都不满意。当时也曾考虑过采用数据库中间件 MyCat,通过分库分表来解决,但出行 365 的业务很复杂,不是某一种分库分表的模式就能解决的。另外,在测试时还发现,MyCat 在一些语法和事务方面支持不好,导致最后产生的数据有问题。

一番评估之后,张劲涛将目标转向了 OceanBase。通过测试后他惊讶地发现,一个 OceanBase 数据库就能同时满足上述两个需求。

张劲涛介绍,就数据库升级而言,他最为看重的是 OceanBase 与 Oracle 的语法兼容性。

“在出行 365 评估的所有数据库中,OceanBase 是与 Oracle 兼容度最好的,进行迁移测试时也是最平滑的。而且 OceanBase 还有完整的迁移方案,让我们非常容易地完成了数据库迁移,整个迁移过程不到 2 个小时。”张劲涛表示。

据悉,经 OceanBase 迁移评估工具 OMA(OceanBase Migration Assessment)的兼容性评估,OceanBase 的 Oracle 兼容率 99.81%,支持 GBK 字符集。这也是出行 365 用非常低的改造成本顺利从 Oracle 迁移到 OceanBase 的关键。

在数据库选型过程中,张劲涛另一个关注点是数据库的性能。出行 365 对 Oracle 和 OceanBase 进行了性能比对,发现两者在性能上没有明显差异,在某些场景 OceanBase 可能表现还更好一些。另外,OceanBase 已经在众多客户中得到部署和应用,产品成熟度也让张劲涛感觉放心。

而就对 MySQL 的升级而言,张劲涛最为关注的是对复杂聚合能力的支持, OceanBase 采用分布式的架构不仅可以很好支持海量数据的复杂聚合计算需求,而且在事务支持上不打折扣。

敲定采用 OceanBase 之后,出行 365 很快就着手开始升级。目前,出行 365 已经完成了多款系统数据库升级成 OceanBase ;同时,在互联网业务方面,也完成了清分系统对 MySQL 数据库的升级,到今年年底还会有几个数据库会逐步替换为 OceanBase。

张劲涛表示,OceanBase 数据库几个月运行下来,给出行 365 带来了不少好处:

首先,简化了软件栈。原来的 MySQL、Oracle 都统一到 OceanBase,简化了数据库的运维工作,而且采用云模式,出行 365 完全从复杂的数据库运维工作中解脱出来。

其次,提升了系统弹性。云服务交付的 OceanBase 能按需扩容,从而轻松应对流量高峰。

另外,凭借 OceanBase 自研高级压缩存储引擎,数据存储压缩率达 80%,如原本需要存储 10TB 的费用,现在仅需存储 2TB 的费用,大幅度节约出行 365 的数据存储成本。

“以前一到节假日,我们都提心吊胆的。现在升级到 OceanBase,产品稳定,再加上有他们的运维团队做保障,我们放心多了。上线几个月来,还没有遇到任何运维方面的麻烦。”张劲涛说。

图片

张劲涛是一个典型的技术男,同时也是一个成功的技术男。从计算机专业毕业,在进入盛威时代之前,曾在用友工作,做到了技术总监,来到盛威时代后直接担任 CTO,在职业发展路径上简单且清晰。

回顾自己的职业经历,张劲涛认为,他热爱技术,喜欢钻研,同时还能持之以恒,这可能是其能有今天的成绩的重要原因。张劲涛说,要想做好一件事,首先要热爱它,这是前提;其次是要勤于思考。

“计算机是一门基于实践的学科,需要用于尝试。尝试也许会失败,但持续不断地尝试,最终总会做出一些创新来。”张劲涛说。

张劲涛就是这么成长起来的。例如今天市场上很流行的低代码,张劲涛早在 10 年前就已经开始研究类似的工具;此外,数据库也是张劲涛非常感兴趣的技术之一,接触数据库近 20 年的他,与一般软件开发者不同,他并不满足于会用数据库,而是会主动挖掘数据库的底层技术。比如,张劲涛很早就曾专门研究过桌面数据库 FoxBase 的底层技术,对其数据的物理存储方式非常了解,比如一个表里数据是如何存放的、哪些位代表了什么等,还曾经用 C 语言编写了一个 B+ 树的索引,来辅助 FoxBase 对数据进行处理。

也正是因为张劲涛自己对数据库的兴趣,再加上从事企业软件的开发多年也一直和数据库打交道,因此,张劲涛对国产数据库也就多了几分关注。张劲涛说:“在国产软件上,国产数据库的发展比较成功,如今生态也基本建立。更为重要的是,人们都已经意识到作为根技术之一的数据库的重要性,国家在支持,也有一批企业和技术人员愿意在数据库上投入,逐渐进入良性发展的轨道。”

“数据库已经走出了一条相对成功的发展之路,虽然后面可能还很漫长,但相信国产数据库未来可期!”张劲涛表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/962445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用 AI 赋能云安全,亚马逊云科技的安全技术创新服务不断赋能开发者

文章分享自亚马逊云科技 Community Builder:李少奕 2023年6月14日,一年一度的亚马逊云科技 re:Inforce 全球大会在美国安纳海姆落下了帷幕。re:Inforce 是亚马逊云科技全球最大的盛会之一,汇集了来自全球各地的安全专家,共同学习、…

2024郑州光伏展|郑州太阳能光伏展|郑州光伏储能技术展览会

2024第四届中国(郑州)太阳能光伏及储能产业展览会 时间:2024年2月26-28日 地点:郑州.中原国际博览中心 2024年,郑州将举办第四届中国(郑州)太阳能光伏及储能产业展览会,这是该领域…

endnote插入论文文献完整设置

最近要开题了,之前word写论文用的是交叉引用,比较麻烦,听说用endnote插入文献挺方便,于是上网查了一下使用的规则,记录一下一些基本的设置。 首先我们插入文献要注意使用相关的样式(style)&…

C语言左旋字符串详解(付完整代码)

目录 暴力求解 优雅求解 左旋字符串,实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 暴力求解 每左旋转1个字符串,旋转k次,这种方法效率比较低,因为…

六、vim编辑器的使用

1、编辑器 (1)编辑器就是一款软件。 (2)作用就是用来编辑文件,譬如编辑文字、编写代码。 (3)Windows中常用的编辑器,有自带的有记事本(notepad),比较好用的notepad、VSCode等。 (4)Linux中常用的编辑器,自带的最古老的vi&…

进程管理死死的学

进程管理 文件属性 chattr【扩展】 chattr chattr i 文件名 # 添加权限 a 可追加,不可修改 i 只可查看 A 不修改访问时间 charrt -i 文件名 # 取消权限 -R 递归处理,将指令目录下的所有文件及子目录一并处理;lsattr 查看文件属性 lsattr …

具有高度的稳定性嵌入式ARM控制器BL304

嵌入式ARM控制器BL304系列是一款专为工业控制领域设计的坚固型工控设备。它采用NXP公司的处理器I.MX8M Mini四核64位处理器,搭配四核 Cortex-A53单核Cortex-M4构架,运行速度高达1.8GHz,具有高度的稳定性和可靠性。 处理器是嵌入式控制器的核心…

《Python趣味工具》——其他常见的RPG游戏梳理:

Hello,各位朋友们大家好!昨天我们一起制作了自己的第一个RPG游戏——《人生选择模拟器》,是不是还意犹未尽呢?哈哈,今天我们再来尝试做几款比较轻量级的小游戏吧! 文章目录 1. 猜单词游戏:2. 姻缘测试:3. …

高忆管理:大盘缩量震荡短期面临方向选择

大盘连续震荡格局,周四缩量小幅回调。 沪指当日低开震荡,盘中最低探至5日均线附近止跌,收盘跌幅有所收窄。深成指相同低开低走,盘中时刻短翻红后再度震荡回落。到收盘,沪指报收3119.88点,跌落0.55%&#x…

VScode远程连接主机

一、前期准备 1、Windows安装VSCode&#xff1b; 2、在VSCode中安装PHP Debug插件&#xff1b; 3、安装好Docker 4、在容器中安装Xdebug ①写一个展现phpinfo的php文件 <?php phpinfo(); ?>②在浏览器上打开该文件 ③复制所有信息丢到Xdebug: Installation instr…

骨传导耳机会影响听力吗?这是真的吗?

首先正常的使用骨传导耳机并不会影响我们的听力&#xff01;那是为什么呢&#xff1f;&#xff1f; 因为骨传导是一种声音传导方式&#xff0c;可以通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。 相对于通过耳道声波的经典声音传导方式&#x…

Mysql批量插入大量数据的方法

使用存储过程进行插入&#xff0c; 在navicate中示例如下&#xff1a; 输入需要的参数点击完成 在begin end中输入代码&#xff0c;示例代码如下 CREATE DEFINERskip-grants userskip-grants host PROCEDURE batch_insert() BEGINdeclare i int default 0; set i0;while i<1…

探秘C语言扫雷游戏实现技巧

本篇博客会讲解&#xff0c;如何使用C语言实现扫雷小游戏。 0.思路及准备工作 使用2个二维数组mine和show&#xff0c;分别来存储雷的位置信息和排查出来的雷的信息&#xff0c;前者隐藏&#xff0c;后者展示给玩家。假设盘面大小是99&#xff0c;这2个二维数组都要开大一圈…

解码注意力Attention机制:从技术解析到PyTorch实战

目录 引言历史背景重要性 二、注意力机制基础概念定义组件 注意力机制的分类举例说明 三、注意力机制的数学模型基础数学表达式注意力函数计算权重 数学意义举例解析 四、注意力网络在NLP中的应用机器翻译代码示例 文本摘要代码示例 命名实体识别&#xff08;NER&#xff09;代…

通过starrocks jdbc外表查询sqlserver

1.sqlserver环境准备&#xff0c;使用docker环境&#xff0c;可以参考使用flink sqlserver cdc 同步数据到StarRocks_gongxiucheng的博客-CSDN博客 部署获得sqlserver环境&#xff1b; 2.获取starrocks环境&#xff0c;也可以通过docker部署&#xff0c;参考&#xff1a;使用…

openlayers-15-坐标添加带箭头的线

ol的官网示例中有绘制带箭头的线的demo&#xff0c;那个是交互式绘制&#xff0c;而不是根据经纬度坐标添加&#xff0c;在其基础上稍作修改&#xff0c;即可转为通过经纬度添加带箭头的线的功能&#xff0c;线和箭头的粗细大小样式都可以自定义 代码如下 <!DOCTYPE HTML P…

Mybatis 动态SQL – 使用if, where标签动态生成条件语句

前面几篇我们介绍了使用Mybatis进行数据的增删改查&#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志&#xff1b;本篇我们继续介绍如何使用Mybatis提供的if,where标签动态生成条件语句。 如果您对数据的增删改查和Mybatis集成JDK日志系统不太了解&#xff0…

iOS开发Swift-7-得分,问题序号,约束对象,提示框,类方法与静态方法-趣味问答App

1.根据用户回答计算得分 ViewController.swift: import UIKitclass ViewController: UIViewController {var questionIndex 0var score 0IBOutlet weak var questionLabel: UILabel!IBOutlet weak var scoreLabel: UILabel!override func viewDidLoad() {super.viewDidLoad()…

QGIS合并矢量图层后layer属性显示不全 | QGIS踩坑实录

省流 QGIS【合并矢量图层】&#xff0c;自动生成layer字段时&#xff0c;遇到图层名中的“.”等不支持的字符会自动截断 问题描述 使用QGIS的【合并矢量图层】功能时&#xff0c;在合并结果中&#xff0c;QGIS会自动添加一个layer字段&#xff0c;用来记录当前数据是来自合并…

CPSC上月召回案例涉及多款常见产品有哪些?

CPSC上月召回案例涉及多款常见产品有哪些&#xff1f; ​每年的夏末秋初为美国产品热销节日&#xff08;感恩节、万圣节、黑五&#xff09;的备货期&#xff0c;卖家在大量备货的同时&#xff0c;务必保障自身产品通过相关安全测试&#xff0c;以免造成不必要的损失&#xff0…