你有多久没摸过现金了?
中国互联网络信息中心发布的第47次《中国互联网络发展状况统计报告》数据显示,截至2020年12月,我国移动支付用户规模达到8.54亿;中国人民银行发布的数据显示,截止到2020年年底,我国移动支付业务1232.20亿笔,金额432.16万亿元。
这些数据与我们每个人都息息相关,上班路上的早餐、小区里的停车费、假日的一场电影、深夜小吃摊上的一份夜宵……移动支付早已成为社会的重要基础设施,组成了街头巷尾的人间烟火气,你也一定听过机器发出的“收钱吧到账X元”的声音。
收钱吧成立于2013年,是聚合支付行业的开创者,目前已渗入百万线下商家,为数亿民众赋能。
随着移动支付的逐步成熟,收钱吧沉淀了大量的门店交易数据。收钱吧将这些数据高效利用,面向商家推出移动支付收款、营销管理软件、广告、供应链、共享充电宝、商家社区等服务。如今,收钱吧已经从早期的聚合支付服务商,发展成为数字化门店综合服务商,让百万级的中小型商家实现了最基础的数字化转型。
面对千亿级别的数据量,以及每天超过3200万笔交易的数据增量,收钱吧如何实现海量存储和账单查询?让我们一起走进收钱吧,去探索背后的故事吧。
以下为「超级探访」第四期——《阿里云数据库助力收钱吧,如何帮数亿用户管好账本?》的节选对白。
1.帮数亿用户管好账本
张一甲:收钱吧目前服务多少商户、用户的规模有多少?
收钱吧CTO/高级副总裁常建龙:收钱吧服务网络已经覆盖中国境内660个城市,服务400万线下实体商家,日均服务3200万人次,累计服务200亿人次,从个人消费者到夫妻店到国际连锁品牌,都能看到收钱吧的身影。
张一甲:如何存储和管理因此产生的海量账单呢?
毛宇-收钱吧开发总监:这要抓住两个关键。首先需要一个集中存储和管理支付账单的数据中心。
其次,收钱吧覆盖了不同的客户类型,我们需要想办法满足不同用户的差异化需求。
因此,收钱吧自主研发了分级账户系统,可详细统计各品牌、各分店、各收银员收款数据,清晰记录每一笔账目,并可根据财务要求定制对账单,解决客户关心的痛点问题。
张一甲:支付是一个很敏感的业务,商家和消费者都非常关心自己账本。收钱吧如何保障用户的财产安全,解决用户的后顾之忧?
毛宇-收钱吧开发总监:针对财产安全,收钱吧强调的是管理和掌控,老板不用到店也能掌握详情——远程管账、管店、管人。收钱吧APP提供日账单、月账单和所有收款记录,方便对账。APP随时随地查看所有交易信息,收银员、老板都方便。
张一甲:在研发这个系统时遇到的最大挑战是什么?
毛宇-收钱吧开发总监:主要挑战有三个,第一是存储可靠性,第二是存储成本,第三是海量数据下的多维组合实时查询。
存储可靠性毫无疑问非常重要。试想如果账单丢失,客户的帐单、银行的帐单、商家的帐单等完全无法核对和查询,这是不可接受的。
关于存储成本,我们目前已经存储了千亿级别的数据,每日新增3200万数据,这个数据增量非常大,对存储成本的挑战也非常大。
此外,不同的客户有不同维度的数据查询需求。B端的查询量相对较小,但查询维度复杂;C端用户的查询量比较大,但业务逻辑相对简单。
对于连锁商家,需要支持品牌、门店、收银员、时间等多个维度的随机组合查询;对于消费者,需要支持基于时间范围的账单查询。通过总结,收钱吧需要支持30+维度的随机组合查询,才能满足目前多种类用户的查询需求。
张一甲:收钱吧怎样解决这些问题?
毛宇-收钱吧开发总监:经过大量的调研、分析和测试验证,对比了不同的技术和产品,我们最终选择使用阿里云的云原生多模数据库Lindorm作为存储中心来构建整套账单系统,系统目前已经上线运行1年多。
选择Lindorm主要有三点考量:Lindorm基于多副本技术,提供99.99999999%的数据可靠性,一共10个9;
Lindorm具备最大10:1的压缩比,再结合冷热分离能力,将6个月前的历史账单转化为冷数据进行存储,综合存储成本下降2/3;
Lindorm提供了一体化的账单检索方案,能自动针对账单数据创建合适的索引,支持30多个维度随机组合的实时查询。
张一甲:6个月前的历史账单被高度压缩了,还可以被检索到?
毛宇-收钱吧开发总监:是的。有了阿里云Lindorm的保障,海量存储与实时查询,不再是矛盾。
2.海量数据辅助复工决策
张一甲:2020年因为疫情,线下门店都或多或少遇到了经营的困难,收钱吧作为服务线下商家的企业,给商家提供了哪些帮助呢?
毛宇-收钱吧开发总监:收钱吧致力于用网络和数据力量帮助线下商家经营生意,基于支付后产生的原生流量,推出了《全国线下商业消费指数的追踪数据》,能实时反应线下商业生产的活跃度。
这个数据一方面提供给政府,辅助政府制定支持中小微企业复工复产的政策;另一方面开放给我们的广大商家用户,帮助商家有效地制定合理的复工计划。
张一甲:这个指数是怎么计算出来的,如何保证数据的准确性和实时性?
毛宇-收钱吧开发总监:收钱吧的业务覆盖线下消费的各行各业,我们基于存储在Lindorm中的海量消费数据,根据一定的经济计量模型,实时计算得到商业消费指数。
张一甲:Lindorm依然在这个系统里发挥了重要作用?
毛宇-收钱吧开发总监:是的,整个系统的存储和计算都是围绕Lindorm来构建的。我们的所有数据都存储在Lindorm上,基于它提供的存储计算一体化方案,能轻松对接计算生态,帮助我们快速构建出一套数据处理架构,支持应用服务上线。
Lindorm同时提供了kv结构的宽表存储,兼容HDFS文件存储,SQL查询和数据检索功能,我们的源数据、维表都存储在Lindorm上,计算得到的结果表也写回到Lindorm中提供给上层业务查询使用。有效避免数据迁移,简化系统架构。
基于Lindorm构建的这套方案,开发上线时间比预计缩短了一半。
3.数字时代想致富,做好数据库
张一甲:2020年阿里云发布了Lindorm,它有什么特点?
阿里云智能资深技术专家/Lindorm研发负责人沈春辉:Lindorm是阿里云发布的第一款自主研发的NoSQL产品,基于存储计算分离、多模共享融合的云原生架构,支持海量数据的低成本存储处理,支持丰富的数据检索能力,支持一键对接计算生态,进行交互式、批处理、流处理等计算处理,帮助用户快速构建出一套数据处理架构,在互联网、物联网场景中处于刚需。
同时,Lindorm虽然是自主研发,但非常坚定地拥抱开源生态,数据访问接口支持SQL、HDFS、HBase、CQL、OpenTSDB等开源标准,简单易用,无需额外的学习成本。
张一甲:阿里自主研发的数据库是出于自身电商业务的需求,从自有业务到to B服务,阿里云如何保持对需求的敏锐洞察?
阿里云智能资深技术专家/Lindorm研发负责人沈春辉:从用户中来,到用户中去,这是产品持续迭代的不变逻辑。在to B服务过程中,除了稳定性、成本诉求之外,我们比较难听到客户直接告诉你要什么,这是一个很大的挑战。而数据库直接连接业务,其需求是大量存在的。
为此,我们主要借助两个方式:一个是实地走访。数据库部门有一支专家服务团队,会定期拜访客户进行业务技术交流,及时了解产品的使用情况和诉求,探讨远程沟通与协同的效率优化方案;
另一个是趋势预判,包括行业趋势、技术趋势。比如Lindorm在物联网方向预投了很多技术研发,目标是数量级地提升终端设备的时序数据、位置数据的处理效率,存在一定的提前预测性,同时会伴随行业发展与应用反馈做适时调整。