云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

Posted 阿里云数据库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起相关的知识,希望对你有一定的参考价值。


云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

《超级探访·春节特辑》之“启迪公交”篇



说起公共交通,在地铁还没有发达的时候,北漂的人们或多或少都经历过“公交车囧事”。有人因为公交卡没钱只能无奈下车;有人顶着严寒酷暑在公交车站“望车兴叹”——公交车一趟又一趟,就是没有自己要搭的那一路;还有人好不容易等到了车,结果发现公交车挤成了“沙丁鱼罐头”,使出浑身解数也挤不上去,只能继续原地等待下一辆或者选乘其他交通工具。


近些年随着云计算、大数据、物联网等新兴技术的高速发展,这些影响着人们出行的问题也得到了极大改善。如果公交卡忘记充钱,可以使用公交软件扫码先乘车后付款;在出门前,就可以通过手机APP实时了解公交车到站的具体时间和车辆拥挤程度,减少因等车浪费的时间;此前疫情横行的严峻形势下,为避免交叉感染,公交车严格控制乘车人数,人们还可以通过手机APP提前预定车次,既保证了有需求的人出行,也加强了防疫力度。


潜移默化间新兴技术究竟是如何改变了公共交通?这款帮助大家便利出行的手机APP又是“何方神圣”?它又是凭借哪些技术手段,帮助人们实现实时车辆动态查询等出行需求的?带着这些问题,我们来到了这款手机APP诞生的地方——启迪公交,探寻以上问题的答案。



数据高楼难建“地基”,启迪公交实行技术突围


众所周知,北京有着国内规模最大、车辆最多、计费方式最复杂的城市公交系统。而作为这个公交巨无霸系统的运营者,北京公交集团也是业内公认的“全球最大公交集团”,其拥有两万多辆公共电汽车,1000多条运营线路,日均客运量超过了800万人次。隶属于北京公交集团的启迪公交就是这个巨无霸背后的科技“智囊团”。

云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

“支撑北京公交庞大的系统运转,需要一个强大、高效、高性能、稳定性极强的系统支撑。2018年,启迪公交成立之初,便决定搭建包括‘北京公交App’在内的一整套数字公交软硬件系统,帮助北京公交近2.5万台公共汽车互联上云。”启迪公交产品研发总监周国礼面对镜头讲道。


但事实上,这并不是一个一蹴而就的事情。庞大的高并发数据量增加了研发的难度,巨无霸公交系统需要支撑北京市2万多辆公交车、早晚高峰出行1500笔/秒刷卡并发访问,且随着北京市日均800万人次的公交出行乘坐量,每日产生的上下车刷卡数据就能高达1600万笔,预计未来两年将会产生百亿级的数据存储和访问需求,这种数据高楼构建高可靠性系统架构地基的难度可想而知。


传统的IT架构显然很难支撑,它既缺少可靠的数据传输机制,同时也缺少有效的对硬件设备安全管控的机制,以及对设备远程监控和管理的能力,难以应对早晚高峰高达每秒上千的并发量级,无法解决传统公交管理上实时监控、实时调度、基于数据进行支撑决策的难题。


新的市场需求催生着更为强大的技术手段的出现,启迪公交需要一个强大的技术伙伴合力开展研究。


经过慎重抉择,最终启迪公交从市场上诸多数据库产品中选用了阿里云PolarDB-X分布式数据库,构建云上全部业务系统。据周国礼介绍,他们做出这一选择的主要原因是PolarDB-X技术经历过多年阿里巴巴双十一考验,能够有效地满足业务超高并发以及海量数据存储的需求,还可通过选用多可用区部署满足同城容灾诉求,以及使用在线变配能力解决业务高峰时段的弹性诉求。


基于以上诉求,双方快速达成了合作。



搭载PolarDB-X云原生分布式技术,启迪公交实现全业务系统上云


在乘客看不到的角落,新系统的开发上线总是会面临着诸多困难,例如如何才能在不影响居民正常出行的情况下快速完成数万台刷卡机的替换。“2019年的时候,启迪公交面临在不影响道路公交运营的情况下,为全市2万多辆公交车替换6万+机具的难题。”启迪公交研发总监王前说到。


以当时的情况来看,这似乎是一个“伪命题”,就在众人一筹莫展之际,阿里云云原生分布式数据库成为攻克难题的关键钥匙。


云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

“如果采用在场站等候的方式,至少需要一年的时间才能完成全部机具的更换,而基于PolarDB-X云原生分布式的快速部署能力,我们迅速开发和上线了机具辅助安装系统,通过安装人员GPS数据与车辆GPS相结合,实现了人找车快速部署机具,更换新机具的效率大幅提高,短短1个半月的时间,就完成原本要1年时间才能完成的机具更换工作。”


除此之外,PolarDB-X云原生分布式技术也成功支撑住了北京公交系统庞大的数据高楼,不仅保障了北京日均800万人次乘车,也支持了6万多台车载刷卡机的设备连接和管理,同时更顶住了大型节假日、重大赛事下公交出行客流峰值对底层核心系统带来的严峻挑战。

云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

“基于阿里云原生分布式数据库PolarDB-X产品,我们构建了包括支持扫码、刷卡、第三方支付、票务管理的核心业务系统,在帮助公交系统实时掌握道路运行情况的同时,也帮助乘客更便捷进行线路查询。”携手阿里云,启迪公交为北京市民交出了一份满意的答卷。


当被问及数据化给企业带来的直观感受时,王前以票务管理工作台为例进行了说明。


作为公交内部的核心业务系统,票务管理工作台不仅需要承担与票务相关的业务,还要能够通过累计的业务数据进行分析,实现科学合理的指挥公交的核心业务,在支持城市公交正常运作上有着举足轻重的作用。

云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

“以往公交集团获悉路上具体有多少辆公交汽车在运行,也没有办法知道这些公交车的一个状态,没有办法快速调度车辆。当我们采用了PolarDB-X构建票务管理工作台后,通过用户检录数据就可以实时同步到阿里云原生数据仓库AnalyticDB,继而分析出实时客流,结合公交汽车机具上传的扫码信息进行实时统一分析,支持指挥车辆调度,助力场站调度人员更加快速地进行业务策略调整,实现更加合理的调度排班方案。”


比如说在重大节假日时,以往公交系统排班和运力调配往往是根据经验来进行操作,在某些地点突发客流激增时会出现运力不足、道路拥堵的情况,搭载了PolarDB-X的公交系统可以实时了解客流分布情况、运力情况,以便及时对客流激增地区补排车辆。


云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

基于云原生分布式数据库PolarDB-X方案构建云上业务系统


当下,启迪公交已逐步将各个业务系统部署到了阿里云平台上,包括北京公交App的后端业务服务处理,刷码刷卡检录数据的采集和上传、合单、支付结算、清算、票务等等。阿里云平台统一提供云资源的分配、调度和支撑,包括系统的性能调优、梳理业务和技术架构、优化软件代码、协调内外部资源进行统一的研发、测试等一系列工作。除此之外,系统的整体安全性也由阿里云来支持配合。



TPS数高达1.4亿?云原生分布式数据库PolarDB-X的技术特性


作为承载了北京公交最为核心和基础部分的数据库,云原生分布式数据库PolarDB-X方案到底有哪些优势和特点?


云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起


从三种当前常见的数据库架构中便可窥一二,如上图所示,从左至右依次是单机数据库、共享存储数据库和分布式数据库。


单机数据库的计算资源和存储资源易受到单个节点的容量限制。共享存储数据库将开源数据库(如mysql)的底层存储替换成共享的分布式存储,容量的可扩展性得到了显著提升,可以做到完全兼容开源数据库,但由于其上层组件保留了单机数据库结构,仍然受到单个节点的性能限制。而以PolarDB-X为代表的云原生分布式数据库架构,所有节点之间互相不共享资源,节点间通过网络进行通讯,无论是存储还是计算资源,只要添加机器就可以了,具有良好的可扩展性。由此可见,作为一种分布式数据库架构,PolarDB-X的优势从一诞生便非常显著。


此外,PolarDB-X一直在朝着一个伟大愿景发力,即把各种架构的优势结合到一起,包括Sharding on MySQL的简单轻量,NewSQL的高扩容,Cloud Native DB存储容量的弹性扩展。其具有6个显著特点:


  • 高可用。基于Paxos协议,数据强一致;少数派节点故障下数据不丢、不停服;RPO=0 RTO<30s。

  • 高兼容。MySQL兼容,支持全局事务,二级索引;主流国产操作系统和芯片互认证;全局binlog日志,兼容数据库上下游生态。

  • 高扩展。水平扩展,按需在线扩缩容,不停服;PB级海量存储能力,单实例突破256节点(真实业务);千万级并发,可抵御双11流量峰值。

  • HTAP。智能读写分离,保障TP流量的稳定性;MPP并行查询,基于只读副本保障查询隔离;基于全局TSO时间戳,保证多副本的一致性读写。

  • 极致弹性。存储资源池化,自动按需伸缩,按需付费;扩容不迁移数据,突发流量支持快速升配。

  • 开放生态。拥抱MySQL开源社区,代码自主可控;闭环生态工具支持,DTS/DBS/DMS;产品架构简单开放,社会人才密度高。


作为阿里云自主研发的云原生分布式数据库,PolarDB-X可谓是身经百战。其采用分布式SQL引擎与存储引擎,专注解决海量数据存储、超高并发吞吐,历经各届天猫双十一及阿里云各行业客户业务的考验,在2020年双十一期间更是支撑了58.3万笔/秒创建订单的峰值,数据库处理TPS数高达1.4亿。


基于以上分析,PolarDB-X能够承载住北京公交系统如此庞大且繁杂的数据压力,也就并不足为奇了。


在和启迪公交的合作中,PolarDB-X将上述的6大特色运用到了极致,其以云原生一体化架构设计底层,采用多副本的高可用架构最大限度保证系统的可靠性,为北京公交APP端提供稳定的用户体验,同时也为公交票务管理实时大数据分析运行提供着重要的数据支撑。 

云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起

“公共交通出行关乎整个城市的核心基础保障,阿里云原生分布式数据库PolarDB-X方案极大地提升了公交运营效率和服务水平,助力启迪公交打造北京公交智能化业务系统,为首都人民提供了更加绿色和便利的公交出行服务。新基建时代下,未来希望我们能够更加紧密地结合,助力城市公交系统的智能化发展百尺竿头更进一步。”




点击“阅读原文”观看《超级探访·春节特辑》

以上是关于云原生分布式数据库PolarDB-X与北京公交系统的不解之缘,从脱离公交卡说起的主要内容,如果未能解决你的问题,请参考以下文章

猿创征文 | 国产数据库实战使用docker部署PolarDB-X云原生分布式开源数据库

斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代

深度干货|云原生分布式数据库 PolarDB-X 的技术演进

十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化

十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化

PolarDB-X 2.1 新版本发布 让“MySQL 原生分布式”触手可及