易仓科技×OceanBase:打造跨境行业全生态链的新零售SaaS

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 易仓科技×OceanBase:打造跨境行业全生态链的新零售SaaS

“中国跨境电商看华南,华南跨境电商看深圳”。2021 年,中国跨境电商市场规模创 14.2 万亿元新高,年度同比仍然保持两位数的高速增长,达 13.6%。近 5 年来,中国跨境电商已经实现了近 10 倍的增长,在我国跨境电商蓬勃发展的同时,深圳也出现了一匹跨境黑马。
深圳市易仓科技有限公司(以下简称“易仓科技”)于 2013 年成立,一直致力于研发高效可控的跨境管理模式,是跨境行业中第一家拥有完整中台系统的服务商。2021  年 2 月 8 日,易仓科技获得 B 轮 4000 万美元融资,刷新跨境电商 SaaS 领域的最高单笔融资记录。韬光养晦近 10 年,易仓科技目前已和国内外众多跨境卖家、海外仓服务商和国际物流等跨境巨头合作,其海外仓系统 WMS 的市场占有率近 70%,处于行业绝对领先地位。
我们有幸邀请到在易仓科技负责数据库架构、数据库优化的 DBA 程涵,结合易仓科技在跨境行业的领先实践,分享跨境行业面临海量数据时应该如何选型、如何运用数据库,才能在企业侧降低每租户成本、提升运维效率,在客户侧提升产品体验、助力客户成功。(*下附程涵老师本人在《分布式数据库助力跨境企业降本增效快速发展》线下沙龙上的分享视频 ☟)


image.png

为什么说是新零售 SaaS?因为易仓科技是利用互联网+大数据在重构跨境生态,结合了各平台海外的买家、国内的卖家、国内的物流商、承运商以及国内的工厂供应商等关系。目前,易仓科技主要有跨境电商 ERP、国际物流 TMS、海外仓 WMS 和跨境分销 M2B 等产品,服务的租户(即各产品的客户)有上万家,是跨境行业第一家上下游全链路打通的软件服务商。

image.png

易仓科技是跨境电商 SaaS,说到 SaaS 这个概念,其实就离不开一个很重要的名词——租户。 相信跨境行业的同行都会遇到每租户成本太高的挑战,传统架构中,有以下几种方案来解决多租户的问题:

序号 具体方案 优点 缺点
1
共享数据库实例中一个租户一个schema  一对多的模式,创建租户快捷方便,对业务透明简单 存在资源争抢,相互影响
2
所有租户都使用一套库表,然后通过在所有表中增加一个字段(tenant_id)来区分不同租户 不需要创建多套库表 业务架构复杂,存在资源争抢,相互影响
3
每个租户创建一个单实例 资源隔离,对业务透明简单 严重存在资源碎片


从以上的解决方案中每个解决方案各有利弊,在目前的大环境下,易仓科技要做的就是在保证给每个租户提供好的服务的同时,还要尽可能把成本开销,控制在最低的额度。易仓科技根据不同客户的业务情况,适时地选择 1,3 两种方案。

image.png

我们可以看到 SaaS 中的租户其实是与具体的某个客户业务相关联的,而这恰恰与 OceanBase 中的租户概念及其设计理念不谋 而合。 易仓科技对租户按规模、费用来划分,头部的客户可能会独享资源,腰部的客户可能是混用的,尾部的客户可能是更大资源的混用,还有一部分免费使用或试用客户,我们会以更大的集群资源去混用。


image.png

独享资源是指从 Web 层到应用层到数据库全部独享,混用资源可能会分为 Web 层、应用层和数据库的分开独享。说到租户的独享与共享,在数据库架构层面是如何实现的呢?我们不可能做成手动的一个个根据租户去部署,而是根据租户采购易仓科技的产品,然后整个上下游自动开通服务。例如,一个独享的客户,会直接启动一个独享的数据库,如果是一个共享的客户,会有数据库池直接绑定新进来的客户。
易仓科技原来所有的租户,不管是免费、付费还是小客户、大客户,都是采用物理层面的隔离,也就是说数据库级别的隔离,大的租户有可能在实例上实行隔离。这样的话,拥有大量租户的我们,在面对上千甚至更多的服务器、上万甚至更多的数据库、PB 级的存储,以及流量洪峰等时,会遇到很多问题。


image.png

易仓科技已经有近 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 台时可能还不算多,但当你有上千台时,如果资源浪费严重,那损失的费用就会相当明显。


image.png

我们一直在寻求一款可以尽量满足,可以尽量解决我们这些痛点的数据库。前期,我们也使用过一段时间 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%,大幅降低我们的数据存储成本。


image.png

大数据同步。 因为易仓科技在各地都有服务器,以往,我们有 10-30 个同步任务链路,如果中间出现网络异常,需要全部拉回到国内做分析,所以我们对链路的要求非常高,对数据的实时性要求也非常高。现在,我们都在一个 OceanBase 大集群里面,只需要 1 个同步链路,只需要维护好这 1 个同步链路,其上所有租户的同步链路都可以保障稳定性。
HTAP 能力。 数据量大了之后,客户有可能会跨季度跨年度查询数据,我们有用一些大数据的方案去解决这一块的需求,但是对于像这类简单的、不是特别复杂的报表,我们希望不仅仅靠大数据,也希望用 HTAP 来解决,因为客户有时候需要实时查询。
目前来看,OceanBase 在 HTAP 这块的能力应该算是做得非常好的。不管是 TiDB 还是 PolarDB,或是我们自建的 Click House,目前都需要做额外的数据同步。如果用 Click House,我们需要将数据实时同步到 Click House,如果用 TiDB,也一样要搭建不一样的组件,而且它的数据行列存储在物理层面是分开的。但 OceanBase 不一样,是行列混存的。 我们一张表建好之后,数据放进去,所有数据的列存混存就分开了,这样的话我们就不需要做额外的数据处理,这是非常不一样的全新概念。



48

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
人工智能 自然语言处理 搜索推荐
|
存储 新零售 监控
新零售SaaS架构:多租户系统架构设计(1)
新零售SaaS架构:多租户系统架构设计
1013 1
|
新零售 安全 搜索推荐
【年终特辑】看见科技创新力量 洞见时代创业精神—新零售—恭喜科技:一站式服务做你的喜事管家
【年终特辑】看见科技创新力量 洞见时代创业精神—新零售—恭喜科技:一站式服务做你的喜事管家
157 0
|
新零售 新制造 UED
【年终特辑】看见科技创新力量 洞见时代创业精神—新零售—菱智科技:专注智能穿戴设备创新,打造品质生活
【年终特辑】看见科技创新力量 洞见时代创业精神—新零售—菱智科技:专注智能穿戴设备创新,打造品质生活
117 0
|
新零售 存储 数据安全/隐私保护
新零售SaaS架构:多租户系统架构设计(2)
新零售SaaS架构:多租户系统架构设计
783 0
|
新零售
|
监控 测试技术 分布式数据库
更易用的OceanBase|生态工具征文大赛正式开启!
OceanBase 一直在思考,什么样的数据库对用户而言更易用?
277 0
更易用的OceanBase|生态工具征文大赛正式开启!
|
7月前
|
Web App开发 编解码 Java
B/S基层卫生健康云HIS医院管理系统源码 SaaS模式 、Springboot框架
基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。
229 5
|
2月前
|
前端开发 算法 JavaScript
无界SaaS模式深度解析:算力算法、链接力、数据确权制度
私域电商的无界SaaS模式涉及后端开发、前端开发、数据库设计、API接口、区块链技术、支付和身份验证系统等多个技术领域。本文通过简化框架和示例代码,指导如何将核心功能转化为技术实现,涵盖用户管理、企业店铺管理、数据流量管理等关键环节。
下一篇
DataWorks