首页 > 其他分享 >客户说|PolarDB分布式版助力韵达“客户管家”全面上线

客户说|PolarDB分布式版助力韵达“客户管家”全面上线

时间:2023-12-29 17:34:48浏览次数:26  
标签:客户 分库 运单 PolarDB 韵达 MySQL 我们

韵达物流作为国内快递行业第一梯队的领军企业之一,在全国拥有近5千个加盟商、超过3万个门店网点,随着公司在枢纽转运中心、设备自动化智能化、运力运能提升。数字化信息化建设等核心资产方面的投入逐渐完善,客户管家便是其中的一个典型。

 

客户管家已于今年年初正式上线,借助后台强大的计算能力以及以客户体验为中心的产品设计,得到用户的一致好评,客户管家是韵达物流提供的一站式、全新数字化管理工具,客户管家系统从已揽收、运输中、派件中、已签收等多维度,对客户发出快件进行全链路跟踪和数据可视化展示,协助客户实现对店铺快件全流程的可视、可控,提高运单管理效率。

 

庞大的运单量,让客户管家的设计面临挑战

 

 

 

客户管家存储的是韵达全量的运单数据和客户数据以及售后工单数据,在立项之初就被定义为我们的核心的业务系统,面对这样核心业务,我们在设计时需要解决下面几个最基本的问题:

 

如何存

韵达目前日增运单量超过数千万,预计总量接近数百亿,工单数据也接近数十亿的量级。将这些信息存储并进行关联,才能为客户提供丰富的业务服务。按我们的以往的惯例会采用分库分表方案,按照我们以往使用的经验,我们后续将面临扩容、运维管理、代码侵入等一系列的问题。

如何管

按监管要求,我们需要保存数年的数据,面临日增千万的数据量,存在任何一个数据库哪怕是分布式数据库内,也是一个极大的挑战,即便我们的DBA可以定期的人肉备份、清理,绝大部分数据库也不能及时地回收空间,需要DBA额外的介入,整个管理流程繁琐且效率低下,还很容易影响系统的稳定性。

如何容灾

运单数据对物流公司的意义不亚于账单数据对银行的意义。核心业务按照要求需要有完整的异地容灾方案,传统分库分表意味着每一个分库就需要维护一条同步链路,管理的复杂度随着分库数的增加而指数级上涨,同时数据一致性和完整性也很难得到保证。

 

跟分库分表说拜拜

 

借助阿里云瑶池旗下的云原生数据库PolarDB分布式版(PolarDB for Xscale,以下简称PolarDB-X)和韵达成立的物流行业创新实验室的机会,我们在这个项目中成功引入了PolarDB-X作为我们的核心数据库。

 

一体化

PolarDB-X通过一体化的分布式设计一体化的运维管理方案,让我们不再需要额外管理海量的MySQL实例。从维护多套转变成维护一套,彻底摆脱了分库分表带来的运维困扰。

 

兼容性

同时与单机MySQL高度兼容的使用体验,也大大解放了业务层的代码设计,让我们不再去顾虑之前传统分库分表给我们带来的各种限制。更重要的一点,PolarDB-X提供的Binlog协议兼容,完美匹配了我们公司内部的数据同步方案,让我们的体感更多的是我们只是引入了一个超级大的MySQL而已,原公司内部MySQL的周边生态包括基于Binlog的上下游同步机制都被完整地继承了下来。

 

TTL让运单“滚”起来

 

TTL-数据的生命周期管理也是我们选择PolarDB-X很重要的原因,运单数据有着明显的时间周期属性,通常1年内的数据对客户是有意义的,太久远的运单大部分情况不会被高频地访问。按照以往的做法,我们会定期将过期数据备份导出后原地进行删除,由于MySQL的特性delete之后不会回收空间,还需要在业务低峰执行optimize回收空间。有多少套MySQL就需要重复多少次这样的管理动作,DBA毫无幸福感可言。

 

PolarDB-X提供了TTL功能,在建表时除了指定按照运单打散之外,还可以指定时间分区,并指定分区过期策略:

 

 

 

以我们真实的表结构为例,这里可以理解为是一个2级分区表,第一级分区是已运单号,第二级分区是时间,每个月一个分区,12个月后过期。到第13个月时,自动会将第1个月的数据进行detach后删除处理。如果结合云上的数据归档功能一起用的话,PolarDB-X还可以帮我们把过期的数据detach之后自动转储到OSS上,我们随时可以进行查询操作,体验与普通表一致,唯一的限制就是不能修改。而且整套动作内核自动完成,DBA只需要在建表时指定规则即可,DBA的幸福感瞬间爆棚。

 

CDC让异地容灾更加简单

 

 

 

因为我们抛弃了分库分表的方案,借助PolarDB-X一体化的架构,异地容灾的架构也相应地变得简单,存储节点提供的Paxos协议多副本能力,每个DN自行可以完成跨地域数据同步。然后我们又遇到了另一个现实问题,我们的备机房规格要比主机房规格相对较低一些,如果直接采用Paxos协议多副本同步方案,我们的备机房的资源略显吃紧,就在我们打算放弃多副本方案采用canal双向同步的时候,阿里云的同学为我们同步了PolarDB-X的另一个最新的能力,PolarDB-X可以通过CDC节点自行实现2个实例间的双向同步,看起来就像两个单机MySQL在通过Binlog同步一样。这下我们的备机房资源不但节省了,连同步工具都不需要了。

 

结语

 

继去年打标业务投产成功之后,客户管家是运行在PolarDB-X上的首个核心业务场景,自上线以来,PolarDB-X数据库运行平稳,整体QPS峰值接近10万,而SQL的响应时间稳定在5毫秒以内,很好的支撑了整个管家平台的平稳运行。平稳的性能加上轻量的运维让我们可以把更多的工作重心放在了业务设计上,大大提高了我们的业务迭代效率。我们也相信PolarDB-X凭借出色的分布式能力和极致的单机体验,未来在物流行业的其他领域如轨迹、仓储、物流等都会有它的一席之地。

标签:客户,分库,运单,PolarDB,韵达,MySQL,我们
From: https://www.cnblogs.com/aliyunyaochidatabase/p/17935376.html

相关文章

  • 某保险客户的统一服务治理方案
    背景近年来,保险行业正经历着数字化转型的浪潮,这一转型主要是由金融科技的快速发展和日益增长的数据处理需求所驱动。核心变化在于从传统的集中式IT架构转向更灵活、高效的分布式架构。这种转型不仅有助于降低成本和提高系统的灵活性,还能应对越来越大的交易量和数据量。同时,随着数......
  • GitKraken 9.10 (macOS, Windows) - 传奇的 Git 客户端
    GitKraken9.10(macOS,Windows)-传奇的Git客户端作者主页:sysin.org全球数百万开发者和团队选择GitKraken客户端。它拥有超直观的GUI、强大的终端,并为Windows、Mac和Linux提供无缝体验。Git的全部功能触手可及可视化无法直观地看到您在Git中所做的更改可能会带来压......
  • 【Python高级应用课程设计 】大数据分析——银行客户认购产品预测
    一、选题背景随着大数据时代的到来,银行客户认购产品的预测分析变得越来越重要。在竞争激烈的市场环境中,银行需要更好地了解客户需求,提供更精准的产品推荐和服务,以提高客户满意度和忠诚度。同时,通过预测客户认购产品,银行可以更好地规划产品线和营销策略,提高业务效益和盈利能力......
  • Cisco Secure Client 5.1.1.42 (macOS, Linux, Windows & iOS, Andrord) - VPN 和远程
    CiscoSecureClient5.1.1.42(macOS,Linux,Windows&iOS,Andrord)-VPN和远程访问客户端思科安全客户端(包括AnyConnect)作者主页:sysin.orgCiscoSecureClient(includingAnyConnect)思科安全客户端(包括AnyConnect)安全访问只是开始您的团队需要轻松访问公司资源和私有应......
  • 为什么企业需要客户crm系统?
    客户CRM提供数据储存,数据调配,数据分析。让传统的人工操作,让系统去完成。企业只需要提供原始数据就行了。举几个栗子:1、客户资料的集中管理:可以集中存储和管理客户信息,包括联系方式、工商信息,购买意愿等。这使企业能够更全面、准确地了解客户,为提供个性化的服务和解决问题提供基础。......
  • java客户端访问nacos配置使用总结
    客户端访问nacos配置:父工程:com.alibaba.cloudspring-cloud-alibaba-dependencies2021.0.5.0pomimport子工程:<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</art......
  • 锁定1.17|PolarDB开发者大会,我们将聊些什么?
     大会免费门票领取通道已开启 扫描图片二维码 or点击「报名」即可注册报名 现场还有机会领取多款PolarDB定制礼品 2024年1月17日 北京·嘉瑞文化中心 期待与你相聚~......
  • [手机端RPA]监听闲鱼消息,实现秒回客户,不怕错过任何消息
    你好,我是盆子,00年的国企程序员。目前正在探索各种副业,分享互联网一些有意思的东西,微信pzistart1。文末有总结。前言最近一个月在弄闲鱼无货源的项目,遵循着一机一卡一号的原则,手机从1台也变成了3台。频繁的切换手机看闲鱼app,看有没有客户发来咨询,是一件十分很繁琐的事情......
  • 【Python数据分析课程设计】大数据分析—利用k-means 聚类分析对客户细分分析
    一、选题的背景在当今社会,大数据已经成为了企业决策的重要依据。通过对客户进行细分分析,企业可以更好地了解客户的需求和行为,从而制定更加精准的营销策略,提高市场竞争力。要达到的数据分析目标是通过对客户数据的分析,找出不同客户群体的特征和需求,为企业提供有针对性的营销......
  • 智能客户关系管理的AI伦理与道德
    1.背景介绍智能客户关系管理(CRM,CustomerRelationshipManagement)是一种利用人工智能(AI)技术来提高企业与客户之间的互动和关系的方法。随着AI技术的不断发展,CRM系统的智能化程度也在不断提高,这为企业提供了更好的客户管理和营销策略的支持。然而,与其他AI应用一样,智能CRM也面临着一......