共计 4888 个字符,预计需要花费 13 分钟才能阅读完成。
“中国跨境电商看华南,华南跨境电商看深圳”。2021 年,中国跨境电商市场规模创 14.2 万亿元新高,年度同比依然放弃两位数的高速增长,达 13.6%。近 5 年来,中国跨境电商曾经实现了近 10 倍的增长, 在我国跨境电商蓬勃发展的同时,深圳也呈现了一匹跨境黑马。
深圳市易仓科技有限公司(以下简称“易仓科技”)于 2013 年成立,始终致力于研发高效可控的跨境管理模式,是跨境行业中第一家领有残缺中台零碎的服务商。2021 年 2 月 8 日,易仓科技取得 B 轮 4000 万美元融资,刷新跨境电商 SaaS 畛域的最高单笔融资记录。 韬光养晦近 10 年,易仓科技目前已和国内外泛滥跨境卖家、海内仓服务商和国内物流等跨境巨头单干,其海内仓零碎 WMS 的市场占有率近 70%,处于行业相对领先地位。
咱们有幸邀请到在易仓科技负责数据库架构、数据库优化的 DBA 程涵 ,联合易仓科技在跨境行业的当先实际,分享跨境行业面临海量数据时应该如何选型、如何使用数据库,能力在企业侧升高每租户老本、晋升运维效率,在客户侧晋升产品体验、助力客户胜利。
意识易仓科技
从 2014 年起跨境电商 SaaS 萌芽,开启一轮浪潮增长至今,跨境电商 SaaS 经验了品牌思维的孕育与起步、疫情下行业的倒退,以及黑天鹅事件下的感性调整期。而易仓科技,则在 2013 年成立后就抓住了 SaaS 的倒退时机,通过多年内功修练,迅速成为行业领导者。
很多人认为,易仓科技是跨境行业全生态链软件服务供应商,但我更认可易仓科技是跨境行业全生态链的新批发 SaaS 服务商。
为什么说是新批发 SaaS?因为易仓科技是利用互联网 + 大数据在重构跨境生态,联合了各平台海内的买家、国内的卖家、国内的物流商、承运商以及国内的工厂供应商等关系。目前,易仓科技次要有跨境电商 ERP、国内物流 TMS、海内仓 WMS 和跨境分销 M2B 等产品,服务的租户(即各产品的客户)有上万家,是跨境行业第一家上下游全链路买通的软件服务商。
SaaS 的架构模式:天生多租户
易仓科技是跨境电商 SaaS,说到 SaaS 这个概念,其实就离不开一个很重要的名词——租户。 置信跨境行业的同行都会遇到每租户老本太高的挑战,传统架构中,有以下几种计划来解决多租户的问题:
序号 | 具体计划 | 长处 | 毛病 |
---|---|---|---|
1 | 共享数据库实例中一个租户一个 schema | 一对多的模式,创立租户快捷不便,对业务通明简略 | 存在资源争抢,相互影响 |
2 | 所有租户都应用一套库表,而后通过在所有表中减少一个字段 (tenant_id)来辨别不同租户 | 不须要创立多套库表 | 业务架构简单,存在资源争抢,相互影响 |
3 | 每个租户创立一个单实例 | 资源隔离,对业务通明简略 | 重大存在资源碎片 |
从以上的解决方案中每个解决方案各有利弊,在目前的大环境下,易仓科技要做的就是在保障给每个租户提供好的服务的同时,还要尽可能把老本开销,管制在最低的额度。易仓科技依据不同客户的业务状况,适时地抉择 1,3 两种计划。
多租户概念不约而同
咱们能够看到 SaaS 中的租户其实是与具体的某个客户业务相关联的,而这恰好与 OceanBase 中的租户概念及其设计理念不约而同。易仓科技对租户按规模、费用来划分,头部的客户可能会独享资源,腰部的客户可能是混用的,尾部的客户可能是更大资源的混用,还有一部分收费应用或试用客户,咱们会以更大的集群资源去混用。
独享资源是指从 Web 层到应用层到数据库全副独享,混用资源可能会分为 Web 层、应用层和数据库的离开独享。说到租户的独享与共享,在数据库架构层面是如何实现的呢?咱们不可能做成手动的一个个依据租户去部署,而是依据租户洽购易仓科技的产品,而后整个上下游主动开明服务。例如,一个独享的客户,会间接启动一个独享的数据库,如果是一个共享的客户,会有数据库池间接绑定新进来的客户。
易仓科技原来所有的租户,不论是收费、付费还是小客户、大客户,都是采纳物理层面的隔离,也就是说数据库级别的隔离,大的租户有可能在实例上履行隔离。这样的话,领有大量租户的咱们,在面对上千甚至更多的服务器、上万甚至更多的数据库、PB 级的存储,以及流量洪峰等时,会遇到很多问题。
现有数据库架构的特点
随着跨境电商行业的整体高速倒退,易仓科技的业务增长迅猛,客户数量多、体量大,整体的数据量在 PB 级。面对如此大体量的数据与客户,咱们应该如何设计数据库架构?
如下图所示,易仓科技的数据库次要应用主从架构,而后通过 ETL 将全链路买通,大数据可汇总至离线计算或实时计算供业务应用。因为是跨境业务,所以咱们的服务器在国内外都有部署。
▋ 痛点一:海量的数据与表,运维效率低下,数据库性能遇瓶颈
易仓科技曾经有近 10 年的历史,数据库实例十分多,数据存储量也十分大。特地地,易仓科技的表十分多,从最晚期一个租户 1000 多张表,到当初一个租户可能近 3000 张表。
海量的数据与表,运维起来十分艰难,咱们须要一个数据库运维平台去做调度工作散发,所有的实例不仅要做监控、报警,还要做根底运维,还要做服务自愈。如果是云数据库的运维还比拟不便,但如果是线下自建的,还在不同美国、俄罗斯、欧洲等不同区域,搭监控做智能化运维并非易事。
为尽可能利用进步资源使用率,咱们会在一个数据库实例上通过分等级尽量放更多的租户。比方,腰部客户可能是 10 个左右租户放一个实例内,尾部客户可能是 100 个租户左右放一个实例内,收费客户可能是 500 个甚至 1000 个租户放一个实例内。这样的话,如果咱们把 1000 个客户放在一个实例内,一个客户 3000 张表,一个实例须要解决的表就是上百万,这对任何一个数据库来说挑战都十分大。
易仓科技现有数据库面临最大的瓶颈就是表数量太多,不论是物理机房还是云上的所有资源,全副都会被咱们突破。因为百万的表构造,对应的物理文件可能就是上千个物理文件,所有的物理机可能都受不了。随着客户应用的工夫越长,数据库的性能瓶颈也会越来越浮现。
咱们选型了市面上的绝大部分数据库都很难去实现,哪怕在性能层面实现了,在很多其余层面也无奈实现,如备份会间接对操作系统提出挑战。
▋ 痛点二:大数据同步链路简单,无奈保障 SLA
易仓科技的数据源来自海内各平台上的卖家,从平台上来的数据会流到国内,而海内买家可能在北美、在欧洲、在东南亚等地,卖家的工厂在国内,发货的物流可能又分为国内和国外。这就会导致咱们的 ETL 链路十分多、十分长,其稳定性,可用性,实时性等在运维治理上也变更简单。
咱们要买通各个平台的数据进行汇总,大数据链路同步的实例太多,对于数据库的时效性要求和稳定性要求都十分高。如果你负责管理过上百台 RDS 实例或者 MySQL 数据库,当须要大数据同步时,你须要搭建和保护上百个同步链路,保障 SLA 就成了十分大的挑战。
如果一个月只呈现 1 次链路不稳固或者数据失落的问题,咱们的整个服务其实都是不稳固的。那么当咱们有上千台实例,这个问题就更体现在咱们背后,如何保障大数据服务是稳固的?如何实时同步数据不失落?是易仓科技必须要解决的。
▋ 痛点三:客户数据的存储老本逐年递增,资源节约多
易仓科技是替客户保存数据的,客户的数据永远是客户的数据。随着客户应用的工夫越来越久,三年、五年,哪怕客户每年的单量均匀在 1000 万单,三年就是 3000 万单的累积,实践上来说存储是越来越高,对应的免费也要越来越高。但站在客户的角度,本人每年的单量没有太大变动,比方一年就是 1000 万左右单,存储为什么会越来越高?因为咱们是 SaaS 模式,按订阅式的单量来付费,不可能让客户去付每年递增的数据存储费用。
但其实对易仓科技来说,随着客户越来越多,客户的数据积攒也越来越多,咱们的存储老本、服务器老本是每年都在递增的。
此外,还有资源节约的问题。置信大家如果用过 MySQL 或者用过数据库都晓得,特地是云上的数据库,有很多资源不论你有没有应用都曾经付费了,也都会存在肯定的节约。例如,购买一个 8C16G 的 1TB 存储的服务器资源,可能 CPU 内存只用了 70%,存储只用了 80%,这样每一台实例有可能都节约了 20%-30% 的资源。这些节约的费用,当你只有 5 台、10 台时可能还不算多,但当你有上千台时,如果资源节约重大,那损失的费用就会相当显著。
抉择原生分布式数据库
咱们始终在寻求一款能够尽量满足,能够尽量解决咱们这些痛点的数据库。后期,咱们也应用过一段时间 TiDB,也考查过很多云原生数据库、分布式数据库等,最终抉择了 OceanBase。 因为 OceanBase 对跨境电商 SaaS 中租户的了解是最佳贴切的。
跨境行业的小伙伴应该都晓得,当促销流动(国内的双“11”、双“12”,国外的圣诞节、彩色星期五)来长期,可能常常会有一些中小客户在一两天内的单量间接拉爆,也就是俗称的“爆单”。DBA 须要随时人工筹备解决这种非凡状况,保障流量洪峰时客户仍然能稳固运行。
咱们须要一款汇合资源,能够在租户上资源隔离、共享实例,且能够弹性伸缩的数据库。举个例子,咱们有 100 个租户,每个租户的物理资源是能够随便调度的,失常来讲每个租户都有本人的水位线,当有流量在水位线之上,能够迅速扩大,当有流量在水位线之下,也能够迅速缩下来。OceanBase 就提供了这样的能力。
以前,咱们 100 个租户放在一起可能须要 10-20 台 RDS,但当初只须要一个 OceanBase。这样的话,以前咱们在 10-20 台 RDS 上节约的资源,每一台可能节约 20%-30% 的资源,在 OceanBase 上只需节约 1 次,可能还不到 20%。OceanBase 的大集群多租户,不仅大幅晋升了数据库的资源利用率,也显著晋升了咱们 DBA 的运维效率。
存储节约 。OceanBase 极高的压缩比是咱们的确实际过的,例如,易仓科技某数据库 1.2TB 数据迁徙至 OceanBase 仅需 140G,数据压缩比高达 88%,大幅升高咱们的数据存储老本。
大数据同步。 因为易仓科技在各地都有服务器,以往,咱们有 10-30 个同步工作链路,如果两头呈现网络异样,须要全副拉回到国内做剖析,所以咱们对链路的要求十分高,对数据的实时性要求也十分高。当初,咱们都在一个 OceanBase 大集群外面,只须要 1 个同步链路,只须要保护好这 1 个同步链路,其上所有租户的同步链路都能够保障稳定性。
HTAP 能力。 数据量大了之后,客户有可能会跨季度跨年度查问数据,咱们有用一些大数据的计划去解决这一块的需要,然而对于像这类简略的、不是特地简单的报表,咱们心愿不仅仅靠大数据,也心愿用 HTAP 来解决,因为客户有时候须要实时查问。
目前来看,OceanBase 在 HTAP 这块的能力应该算是做得十分好的。不论是 TiDB 还是 PolarDB,或是咱们自建的 Click House,目前都须要做额定的数据同步。如果用 Click House,咱们须要将数据实时同步到 Click House,如果用 TiDB,也一样要搭建不一样的组件,而且它的数据行列存储在物理层面是离开的。但 OceanBase 不一样,是行列混存的。 咱们一张表建好之后,数据放进去,所有数据的列存混存就离开了,这样的话咱们就不须要做额定的数据处理,这是十分不一样的全新概念。
架构师后记
何志勇
OceanBase 解决方案架构师
很荣幸可能为易仓科技提供技术支持与服务,也正是借助这个机会理解到跨境 SaaS 的欣欣向荣。而易仓科技就是其中的翘楚,通过多年的深耕,其服务过的客户成千上万,通过一直的产品迭代,最终成为国内跨境行业全生态链全栈服务提供商。
当下,跨境电商全球化,数字化服务,要求越来越高。为能最大水平帮忙客户优化老本,晋升利用零碎的健壮性、稳定性、高效性、安全性、可靠性,以实现提供继续优质的服务,同时确保在行业内的老本劣势。易仓科技基于以后现状,一直摸索前沿技术,突破传统架构壁垒。从往年上半年开始便对 OceanBase 发展一系列测试调研,最初通过全面的、充沛的业务适配与验证后,OceanBase 最终与易仓科技业务零碎相融相生。
我置信,在有了 OceanBase 的退出后,易仓科技跨境生态链将会更加的齐备,将来,定有更多的业务与客户,和着春风,踩着祥云,踏歌而来!