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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 作者:InfoQ 马红伟

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

image.png

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

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

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

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

单机数据库的计算资源和存储资源易受到单个节点的容量限制。共享存储数据库将开源数据库(如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方案极大地提升了公交运营效率和服务水平,助力启迪公交打造北京公交智能化业务系统,为首都人民提供了更加绿色和便利的公交出行服务。新基建时代下,未来希望我们能够更加紧密地结合,助力城市公交系统的智能化发展百尺竿头更进一步。”

目录
相关文章
|
10月前
|
Kubernetes 大数据 调度
Airflow vs Argo Workflows:分布式任务调度系统的“华山论剑”
本文对比了Apache Airflow与Argo Workflows两大分布式任务调度系统。两者均支持复杂的DAG任务编排、社区支持及任务调度功能,且具备优秀的用户界面。Airflow以Python为核心语言,适合数据科学家使用,拥有丰富的Operator库和云服务集成能力;而Argo Workflows基于Kubernetes设计,支持YAML和Python双语定义工作流,具备轻量化、高性能并发调度的优势,并通过Kubernetes的RBAC机制实现多用户隔离。在大数据和AI场景中,Airflow擅长结合云厂商服务,Argo则更适配Kubernetes生态下的深度集成。
1166 34
|
8月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
812 79
|
6月前
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
318 2
|
11月前
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
203 0
|
6月前
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
219 3
|
6月前
|
安全 关系型数据库 数据管理
阿里云数据库:构建高性能与安全的数据管理系统
阿里云数据库提供RDS、PolarDB、Tair等核心产品,具备高可用、弹性扩展、安全合规及智能运维等技术优势,广泛应用于电商、游戏、金融等行业,助力企业高效管理数据,提升业务连续性与竞争力。
|
8月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
349 1
分布式新闻数据采集系统的同步效率优化实战
|
8月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
620 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
8月前
|
SQL 监控 安全
数据库安全审计系统
Next-DBM数据库审计系统助力企业解决数据安全难题,提供统一身份管理、全方位监控、智能风险识别、完整审计追溯及精细化权限管控,有效防范数据泄露与内部威胁,保障企业核心资产安全,满足合规要求,提升运维效率。
|
10月前
|
人工智能 Cloud Native 容灾
深圳农商银行三代核心系统全面投产 以云原生架构筑牢数字化转型基石
深圳农商银行完成第三代核心系统全面上云,日均交易超3000万笔,峰值处理效率提升2倍以上。扎根深圳70余年,与阿里云共建“两地三中心”分布式云平台,实现高可用体系及全栈护航。此次云原生转型为行业提供可复制样本,未来将深化云计算与AI合作,推动普惠金融服务升级。
704 17

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB