暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

海程邦达携手 SelectDB,实现查询时间缩短99% | SelectDB 最佳实践

636

作为供应链物流领域的先锋企业,海程邦达选择了 SelectDB 作为助力其实施数字化转型的解决方案提供商,帮助其从零到一构建云数仓体系。通过一站式的技术服务,SelectDB 充分满足了海程邦达高性能、高可用、高兼容的业务需求,在帮助海程邦达实现业务数据查询时间大幅缩短的同时,大幅度降低了其在开发和运维方面的成本。通过提供在物流行业实时和离线数据分析双场景下的解决方案,SelectDB 完美地满足了海程邦达的实际应用需求。




企业介绍

海程邦达集团成立于 1996 年,一直专注于供应链物流领域,通过打造优秀的国际化物流平台,为客户提供端到端一站式智慧型供应链物流服务,当前集团年营业额逾 100 亿人民币,网络遍及全球 200 余个港口,在海内外有近 80 家分、子公司。
作为一家专业的综合性现代物流企业,海程邦达主要以各类进出口贸易客户为服务对象,为其规划、设计并提供专精于跨境环节的标准化物流服务产品与定制化供应链解决方案。通过个性化专业化的供应链物流解决方案,赋能客户供应链,让科技驱动供应链创造更大价值,助力中国企业与世界互联互通。
2021 年 5 月海程邦达在上海证券交易所主板上市,海运、货代也在 2021 后疫情时代需求爆发,引发运费疯涨、港口拥堵、一箱难求等问题。随着进出口市场需求不断增长,公司业务随之快速增长,原有的系统架构成为业务增长的掣肘,许多矛盾开始暴露出来:传统 DBLINK 架构无法满足灵活的业务需求与开发效率低之间的矛盾、数据更高时效性要求与存储效率低之间的矛盾以及高数据质量要求与数据准确度较低的矛盾,这些日益凸显的矛盾迫切需要海程邦达进行大数据变革。




痛点分析

>>> 早期架构
作为一家传统货代公司,海程邦达在 2021 年才正式启动数字化转型,在这之前,海程邦达其实没有传统意义上的数仓架构,虽然其涉及业务广泛,但是各个业务之间的数据相对独立,也就形成了数据孤岛,每个业务之间都是通过结算的 SQL Server 数据库冗余字段作为数仓来开发报表,T+1 定时通过 SQL Server 存储过程将数据写入 Oracle 数据库,然后通过帆软报表展示。

>>> 企业痛点
面对多维度数据,包含海运、空运、陆运、报关等业务数据,数据质量、查询效率和开发效率已经无法得到保障,不能满足日益增长的业务需求,主要体现在:
  • 数据孤岛壁垒:铁运,海运,陆运等事业部都有独立的业务流程,ER 图不完整,数据源种类多,因此对应各个事业部存在不同的业务系统,这就导致事业部之间的数据无法互通,数据质量无法保证,出现存在数据相同但含义不同、字段理解困难等问题,使得跨部门数据合作的沟通成本居高不下。
  • 清洗效率低:关系型数据库中 OLAP 场景下的数据分析支撑有限,SQL Server 存储过程在多表 Join 模式下处理复杂业务逻辑性能较差,经常耗时几十分钟甚至几小时才能出结果,查询效率无法保证;后面使用 DBLink 写入 Oracle 过程中写入速度越来越慢,且频频报错。
  • 系统架构不够健:业务数据库作为数仓,最大的问题是会影响业务库的性能,而且 SQL Server 数据库无法做到计算能力和存储能力横向扩容,导致后期只能靠堆硬件以及数据的定期归档才能勉强支撑业务发展带来的压力。
  • 开发效率低:没有数仓分层设计,存储过程逻辑复杂,在接到新开发需求时无法复用之前的存储过程,只能重新开发,开发成本高;除此之外,事业部大部分统计人员无法系统全面、规范掌握统计制度和规则,且质量问题导致数据经过人工静态流转处理,报表数据的可靠性不高。



企业方案

>>> 产品调研
为了解决以上问题,海程邦达开始寻找可以替代 Oracle、同时能够支持他们高效或者敏捷开发的数据库。基于此目标,海程邦调研了市面上较流行的几款产品:ClickHouse、TiDB 和 SelectDB。由于 SelectDB 具有性能极致、成本经济、极简易用、开发成本低等特点,海程邦达最终选择了 SelectDB 来完成从零到一的数仓构建。

   极致性能

  • SelectDB 具备高效列式存储与索引以及现代的 MPP 计算架构,同时支持向量化计算,能够极大程度提高计算性能。

  • 存储方面,SelectDB 依托列式存储引擎、类似 LSM 树的结构和底层存储引擎提供的丰富索引类型,为企业提供快速的数据读写支持,大大降低查询响应时间。

  • 经海程邦达验证,SelectDB 在 Join 查询时,可实现分钟级别产出,远远快于 Hive 数小时级别的查询时间;在 BI 介入时则能够秒级响应,并且可实现快速的明细和汇总的数据查询。总结来说,SelectDB 能够完美满足海程邦达对数仓秒级别的查询响应和复杂查询逻辑支持的需求

   极简易用,降低开发和运维难度

  • SelectDB 兼容 MySQL 协议和标准 SQL,便于开发人员快速上手,降低学习成本。

  • SelectDB 架构简单,组件精简,只有 FE 和 BE 两个节点,同时 Broker 扩容非常方便;另外,SelectDB 提供强大完善的管理控制台Spark/Flink/DBT/Kafka 等丰富的连接器,可有效降低运维门槛。

   高性价比,降低成本

  • SelectDB 采用完全云原生的架构设计,基于高性能云磁盘、对象存储等设计了一系列云原生技术,能够有效实现资源的弹性伸缩、按需自动扩容、冷热数据分级存储等功能,为企业带来高性价比。

同时,对于海程邦达一些个性化的开发需求,SelectDB 也能完美满足。例如:SelectDB 能够提供针对不同数据源的多种数据导入方案;并且在海程邦达 ETL 建设的过程中,与多类热门大数据工具和产品友好结合:如:Hive 、 DataX 等,同时实现极高的数据导入效率。


总结下来 SelectDB 有以下优点:

>>> 解决方案
   总体架构
下图是海程邦达目前整体的架构图,其业务数据源涵盖海运、空运、陆运、关务、财务、报关、结算等,涉及到 MySQL、Oracle、Sqlserver、PG 4 种数据库。在目前的架构中,海程邦达将离线数据使用 DataX 通过全量和增量的方式抽取到 SelectDB 和 HDFS 的 ODS 层,再经过海豚调度,将数据经过清洗到 DWD-->DWM-->DWS/ADS,以对外提供报表和接口服务;对于实时数据,海程邦达则采用 Flink CDC 实时同步到 SelectDB 的 ODS 层,并在抽取过程中利用 Flink CDC 的特性做初步的清洗和合并,将分库分表的数据实时合并到 SelectDB 的同一个目的表。

同时,通过 Hadoop 和 SelectDB 结合也完美发挥了 SelectDB 的优势。SelectDB 完美兼容 HDFS,采用 Broker Load 使得可以充分利用现有 Hadoop 计算资源做大量计算结果入仓 SelectDB。

   应用场景
目前,海程邦达已经在 SelectDB 中接入了结构化的业务数据,总的资源使用规模是384核CPU,768GB内存,6TB存储空间这样集群规模对于当下的需求是足够使用的。之后海程邦达计划陆续将其他业务(海运、财务、人事)相关的数据、非结构化的数据接入到 SelectDB 中来。
在落地实践方面,SelectDB 已经在海程邦达的多个核心业务完成落地和验证,帮助海程邦达构建起覆盖离线及在线数据分析场景的多个解决方案,持续为海程邦达的业务运行提供快速、稳定的支持。

01
铁运系统
铁运系统是供应链解决方案公司物流运输的重要依托,海程邦达选择使用 SelectDB 实现其铁运业务数字化的转型。该场景的特点为:存在大量无法上云的核心结算数据,同时业务方对 BI 报表查询的数据实时性要求不高,T+1 的离线数据即可满足需求 。
在开发过程中,海程邦达采用 SelectDB 的节点资源划分功能,通过专线将阿里云和 IDC 机房网络打通,在阿里云和 IDC 分别部署 3 台 BE 组成一个 SelectDB 集群,将核心的结算数据通过 Datax 离线全量和增量同步到 IDC 中的 BE 中;在 ETL 建设方面,海程邦达将 Datax 容器化,运行在 K8s 集群中,实现动态扩缩容。在铁运中,由于铁运系统与结算系统相互独立,海程邦达将铁运和结算的数据通过 DataX 同步到 SelectDB 中完成清洗,再接入到 BI 报表,业务方可以通过 BI 报表快速的查询到数据。
02
仓储系统
仓储系统是供应链物流公司中一个重要的环节,海程邦达通过仓储系统帮助客户进行实时的仓库代运营和管理。在该场景下,当供应链物流公司接到客户下单后,需要在约定的时间内完成订单出货,这就对数据仓库的实时性能有较高的要求。
SelectDB 的实时性能帮助海程邦达完成了这一场景的构建。目前,海程邦达将其当前仓储系统的数据保存在 MySQL 中,将数据实时同步到 SelectDB 中,然后再进行数据清洗,以实现实时查询订单。如果有即将超期的订单,将通过报表进行超期提醒。



企业收益

   查询时间99%大幅度缩短
得益于 SelectDB 的数据存储和计算的极致性能,以及 SelectDB 对向量化计算的支持,海程邦达数据查询得到了极大的提高。海程邦达运用 SelectDB 后查询时间缩短为 0.649s ,相较于应用 Hive 时 56.6s 的查询速度 ,查询效率得到了大幅度提升。
   易于上手,降低开发学习成本
SelectDB 支持 MySQL 协议和标准 SQL,同时,其结合数仓分层架构极大降低了开发难度,这赋予了 SelectDB 极简易用的特点,令开发人员学习成本低,容易上手。
   开发效率提升,开发周期缩短为原来1/3
SelectDB 自带的三种数据模型可针对不同的业务提供合适的数据模型,免去了开发者自己做数据的合并计算的成本。节省了开发的人力,原先需要3天的开发周期,在接到明确需求的情况下,只需要一键自动接入 SelectDB,等待 Stream load 自动完成同步到 ODS,结合海豚完成清洗调度,一天就能完成数仓建模开发。
  高性能峰值完美应对业务需求
ETL 写入性能峰值可以达到20万以上,完全能解决结算业务历史变化导致的需要全量同步带来的性能问题,dws 层数据结合物化视图和 bitmap 可以实现秒级别的查询。
   存算分离,降低成本
SelectDB 计算资源和存储资源能够独立分开,具有极强的扩展性,可通过简单的方式,横向扩展计算的存储资源。

现阶段,海程邦达基于 SelectDB 的数据血缘、数据质量管理的方案也正在进行中。在未来,海程邦达计划基于 SelectDB 为核心构建整个数据中台,将公司业务全线接入 SelectDB。


                                                                               作者介绍:
沈洋,GDTC/ 大数据总监
王新,GDTC/ 数据架构师








SelectDB 产品咨询及体验
如果您想了解更多关于 SelectDB 的产品详情,请将您的需求告诉我们,SelectDB 专业人员将为您进行 「1对1 专属服务」。同时,您还可以申请 SelectDB 云版本的「免费使用」体验。


扫描下方二维码,开启您的 SelectDB 云上之旅





关于我们 





SelectDB,即北京飞轮数据科技有限公司,是一家专注于开源技术创新的云原生实时数据仓库厂商,成立于2022年1月,公司总部位于北京。2022年4月,SelectDB 完成天使轮和天使+轮融资,由 IDG 资本、红杉中国等顶级 VC 投资,融资金额为3亿元人民币。SelectDB 创始团队由原百度智能云初创人员和 Apache Doris 项目核心成员组成,在云计算、大数据、人工智能方面具有丰富经验。作为依托于开源技术的科技创新公司,SelectDB 将开源作为长期核心战略,不断更新迭代开源版本与企业级商业版本。


大家都在看

▶  Apache Doris 在小米数据场景的应用实践与优化
▶  如何将 Pulsar 数据快速且无缝接入 Apache Doris
▶  Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时


文章转载自锋哥聊DORIS数仓,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论