云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例

云集电商,一家聚焦于社交电商的电商公司,专注于‘精选’理念,致力于为会员提供超高性价比的全品类精选商品,以“批发价”让亿万消费者买到质量可靠的商品。面对近年来外部环境的变化,公司对成本控制提出了更高要求,尤其是服务器与人力成本两大领域。当前,服务器成本已占据公司总成本的85%以上,因此,优化成本结构,实现高效降本,已成为我们当前工作的重中之重。

作为 DBA,以更低的成本支撑公司的运营是一项重要的成就;对个人而言,可以学到很多知识和方法论,包括成本分析和评估方法、服务器优化和调整方法、人力成本优化和提升方法等。

业务痛点

在做成本优化前,我们需要对自身业务情况及现有痛点有全局的了解。目前很多互联网公司都面临着架构上的痛点,云集也不例外。如下图所示,最上层的应用层采用微服务架构,增加了一个缓存,这是因为电商场景会有秒杀需求,需要写入很快。

1701329029

云集主要使用腾讯云上的CDB,业务微服务的架构导致数据库实例数很多。针对每一个微服务的数据库实例,会有基础的一主一从,另外还会有一个用户从库,一般一个系统会对应三个数据库实例。

从中间箭头再往下看,业务数据库通过Flink、Canal等组件输出到大数据以后,会做数据的统计分析,生成T+0、T+1的报表。同时,也会将部分大数据分析的数据同步回业务数据库,供用户查询,形成数据的循环。

右边的话有一个Cloud DB通过OMS到OceanBase的链路,比如有一个订单系统业务,分了32个实例,有个需求是业务需要做整个系统的聚合查询,在原来的分库分表架构下无法实现,因此同步到一个OceanBase集群里面,满足业务查询的需求。以上就是云集现在的整体架构。

那么这个架构存在哪些问题?总的来说,包括四个方面。

第一,数据孤岛。从公司整体角度来看,同一个查询理论上只需要执行一次即可,但由于业务需求不同,无形之中将一份数据在很多存储系统中存储多份。导致请求量放大很多,执行多次。而且数据也存放多份,导致成本上升。

第二,分库分表。分库分表主要依赖于一些中间件,而每个中间件有自己的特点和适用场景,更为关键的是分库分表中间件带来很多问题,需要从业务或运维侧避免:

  • 业务侵入,业务需要设计多张表来满足不同的查询需求,所有的查询需求需要围绕分区键,增加了业务复杂度。
  • 聚合查询和关联查询变得困难,当出现跨库查询或关联查询时,需要业务将数据收集到应用层进行处理,变得异常困难。
  • 运维变得复杂,当需要扩容或缩容时,异常痛苦,需要大量运维操作进行扩容和数据搬迁, 另外当备份和恢复时,也会非常复杂和繁琐。

第三,运营成本,随着微服务进行水平拆分或者垂直拆分,导致数据库实例数大幅增加,资源成本直线升高,另外,每个实例的资源并没有得到充分利用,CPU 利用率未满20%。如果CPU 超过20%,一旦业务波动,服务器就难以支撑,需要预留一定的硬件资源。

第四,数据安全,因等保审核要求,云集需要满足至少两地三中心的容灾水平,这会带来成本的成倍上升。云集在腾讯云上为生产环境做本地备份和远程备份,在远处备份过程中,会遭遇大量运维问题,比如拉取容易失败、拉取耗时过长。另外,因为数据量过大,需要更高的流量,这也导致流量成本大幅上升。

成本优化方案

基于上述架构痛点,我们探索了几种成本优化的方案。

  • 业务架构复杂,数据流循环和其他环节冗长,故障概率较高,决定舍弃分库分表架构
  • 在数据治理和数据归档方面,归档服务器存储容量有限,无法满足需求,通过将归档数据转移到OceanBase,利用其数据压缩率高的特性,在节省存储成本的同时,变相扩展容量上限,目前无明显瓶颈。
  • 整合业务实例,在保证服务可用的情况下,尽量申请更少的服务器资源;增加服务器资源闲时利用率,比如电商业务主要在白天运行,晚上业务较少的时候就可以生成T0、T1报表数据,充分利用资源。
  • 考虑使用具备HTAP特性的分布式数据库替代传统数据库,将在线和分析的业务集中在一套集群中完成,简化数据链路环节,降低业务架构复杂度,减少运维人力。并且在相同业务负载的情况下,发挥分布式数据库高性能的优势,使用更少的机器资源,优化成本。

上述的成本优化方案面临的阻力有哪些呢?

一个新的架构体系需要时间来验证是否能支持现有业务的发展,需要在架构替换前期证明它可以支持业务的发展,并且说服开发团队增加工作量以支持架构改造、学习和适应新技术是值得的。因此,人力和新技术的学习成本是云集架构改造面临的主要阻力。

云集+ OceanBase 的成本优化方案

在整个成本优化过程中,主要考虑了以下几个原则:

  • 稳定性强,保证整体业务的稳定和无感知。
  • 兼容性高,简化新技术和架构的应用,降低开发难度,减少学习成本。
  • 不过度优化,避免因过度优化而降低业务的波动能力。

之所以选择 OceanBase 作为数据存储解决方案,主要是因为:

  • OceanBase 与 MySQL 的兼容性,减少开发工作量和版本的稳定性。
  • OceanBase 的吞吐量和生态系统的支持良好。
  • HTAP 能力和水平扩展能够满足我们的 TP 和 AP 场景的业务需求。

1701329130

通过引入OceanBase,业务由原来的CDB + ETL + 大数据的架构转变为一套OceanBase集群支撑HTAP业务,减少了数据链路的中间环节,同一套技术栈同时降低开发工作量,通过OceanBase RTO<8s、RPO=0的高可靠性也满足了等保审核的需求,实现了成本上的优化。

1701329144

总结

本文介绍了基于目前大环境下降本的需要,云集的数据库架构以及使用痛点,探索了实施降本过程中的方案。最终通过引入OceanBase分布式数据库,在满足业务场景的基础上,通过其高性能、高压缩、高可靠、HTAP的特性,为云集节约了机器、存储、人力运维的成本。近几年的大环境变化使得云集业务流量减少了很多,由原来每月的服务器成本峰值达到800多万,降为现在不到100万。

这一成本降低的结果是非常显著的。通过技术的优化和适应环境变化,成功地实现了成本的大幅度减少。这不仅仅是对云集来说,也是对其他企业进行成本优化的一个启示。通过优化技术和适应环境,我们可以有效降低成本,提高效率,获得更好的经济效益。

未来,我们也会不断尝试OceanBase新的特性,比如最新的4.2.1 LTS版本,已经在测试当中,希望OceanBase在云集的业务场景里能带来更大的价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3188.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

认定出现不安全行为并通过系统发出告警信息的名厨亮灶开源了。

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算法加…

yolov5快速复现

源码下载 进入github官网搜索yolov5(网址&#xff1a;https://github.com/ultralytics/yolov5)如下图红框所示&#xff1a; 进入界面如下图所示&#xff0c;点击右上角绿色Code&#xff0c;选择下载压缩包&#xff1a; 开发环境设置 本文使用云平台开发&#xff0c;系统为Li…

“再探构造函数”(2)

文章目录 一. 友元‘全局函数’作友元‘成员函数’作友元‘类‘作友元 二. 内部类三. 匿名对象四. 对象拷贝时的编译器优化分析调用时的顺序 一. 友元 何时会用到友元呢&#xff1f; 当想让&#xff08;类外面的某个函数/其它的类&#xff09;访问 某个类里面的(私有或保护的…

一周内从0到1开发一款 AR眼镜 相机应用?

目录 1. &#x1f4c2; 前言 2. &#x1f4a0; 任务拆分 2.1 产品需求拆分 2.2 开发工作拆分 3. &#x1f531; 开发实现 3.1 代码目录截图 3.2 app 模块 3.3 middleware 模块 3.4 portal 模块 4. ⚛️ 拍照与录像 4.1 前滑后滑统一处理 4.2 初始化 View 以及 Came…

Redis(2):内存模型

一、Redis内存统计 工欲善其事必先利其器&#xff0c;在说明Redis内存之前首先说明如何统计Redis使用内存的情况。 在客户端通过redis-cli连接服务器后&#xff08;后面如无特殊说明&#xff0c;客户端一律使用redis-cli&#xff09;&#xff0c;通过info命令可以查看内存使用情…

2024年CG作品网站推荐(精选篇)

ArtStation https://www.artstation.com GGAC https://www.ggac.com/

GraphRAG如何构建知识图谱Knowledge Graph

GraphRAG工作的第一步&#xff0c;是将输入的文档集合&#xff0c;按一定的策略拆分成一个一个chunks&#xff0c;然后解析每个chunks&#xff0c;将chunk中所关注的实体(entity)和关系(relation)解析出来&#xff0c;以此构建知识图谱。 那问题来了&#xff0c;GraphRAG是如何…

Spring Security 框架篇-深入了解 Spring Security 的认证功能流程和自定义实现登录接口(实现自定义认证过滤器、登出功能)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 Spring Security 框架概述 2.0 Spring Security 核心功能-认证功能 2.1 过滤器链 2.2 登录认证流程 2.3 思路分析 3.0 登录认证具体操作 3.1 环境搭建 3.2 实现 U…

JavaScript基础语法部分-黑马跟课笔记

一、Javascript介绍 1.JavaScript是什么&#xff1f; 1.是什么&#xff1f; 是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互效果 2.作用&#xff08;做什么&#xff1f;&#xff09; 网页特效&#xff08;监听用户的一些行为让网页做…

qt QDir详解

1、概述 QDir是Qt框架中的一个核心类&#xff0c;它提供了对文件系统目录的操作接口。Qt是一个跨平台的应用程序开发框架&#xff0c;广泛用于开发桌面、移动和嵌入式设备上的应用程序。QDir类使得开发者能够方便地在不同操作系统上处理目录和文件&#xff0c;如进行目录遍历、…

Jwt加解密

概述 记录jwt加解密的demo。 JSON Web Token (JWT) 是一种开放标准 (RFC 7519)&#xff0c;用于在网络应用环境间安全地传输信息。JWT 通常用于身份验证和信息交换&#xff0c;因为它可以被签名和加密&#xff0c;确保数据的完整性和隐私性。 JWT 的基本结构 JWT 由三部分组…

鸥柏(OBOO)户外触摸广告屏科技创新 高速服务区收费站案例

鸥柏&#xff0c;作为户外液晶显示技术的品牌高端领先者&#xff0c;其新产品鸥柏户外触摸屏在高速服务区收费站入口处得到了真实且广泛的应用。OBOO鸥柏户外广告机能够存储和展示海量信息&#xff0c;包括新闻、政策、天气预报、实时路况等&#xff0c;为过往司乘人员提供丰富…

ASED6015SH-ASEMI中低压MOS管ASED6015SH

ASED6015SH-ASEMI中低压MOS管ASED6015SH 型号&#xff1a;ASED6015SH 品牌&#xff1a;ASEMI 导通内阻&#xff1a;90mΩ 启动电压&#xff1a;2V-4V 最大漏源电流&#xff08;Id&#xff09;&#xff1a;19A 漏源击穿电压&#xff08;VRM&#xff09;&#xff1a;150V …

`掌握Python-PPTX,让PPt制作变得轻而易举!`

文章目录 掌握Python-PPTX&#xff0c;让PPT制作变得轻而易举&#xff01;背景介绍python-pptx 是什么&#xff1f;如何安装 python-pptx&#xff1f;简单库函数使用方法应用场景常见Bug及解决方案总结 掌握Python-PPTX&#xff0c;让PPT制作变得轻而易举&#xff01; 背景介绍…

linux的用户账号与权限管理

一、用户账号 root 和zhang 表示当前的登录用户test1 表示当前的主机名/home&#xff1a; 表示当前所在的目录为/home~&#xff1a; 表示当前所在的目录为~#&#xff1a; 表示当前用户是管理员$&#xff1a; 表示当前用户是普通用户 1.切换用户 su - 用户名 &#xff08;完全切…

Qt项目实战:银行利息(贷款)计算器

目录 一.ui设计 二.初始化表单 三. 存款计算 四.贷款计算 五.效果 六.代码 1.h 2.cpp 一.ui设计 二.初始化表单 获取当前时间&#xff0c;并将开始日期设置为当前日期&#xff0c;将结束日期设置为当前日期加一年 三. 存款计算 1.从文本框获取当前资金、利率、定期期…

无人机高山景区物资吊运技术及前景分析

随着科技的飞速发展&#xff0c;无人机技术已经逐渐渗透到各个领域&#xff0c;并在其中展现出巨大的潜力和应用前景。在高山景区物资运输方面&#xff0c;无人机技术的引入不仅解决了传统运输方式中人力成本高、效率低下的问题&#xff0c;还极大地提升了运输的安全性和灵活性…

就是这个样的粗爆,手搓一个计算器:数线计算器

作为程序员&#xff0c;没有合适的工具&#xff0c;就得手搓一个&#xff0c;PC端&#xff0c;移动端均可适用。废话不多说&#xff0c;直接上代码。 HTML: <div class"calculator"><div class"input-group"><label for"a">…

NSET or MSET算法--原理解析

1.背景 NSET/MSET是一种非线性的多元预测诊断技术&#xff0c;广泛应用于系统状态估计、故障诊断和预测等领域&#xff1b;相比于传统的线性模型和方法&#xff0c;NSET/MSET能够更好地处理非线性系统&#xff0c;并提供更准确的预测和诊断能力。在早期&#xff0c;MSET融合了…

NAS端最强音乐库,多平台服务支持。海康存储部署『Navidrome』

NAS端最强音乐库&#xff0c;多平台服务支持。海康存储部署『Navidrome』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 对于我们NAS用户&#xff0c;我们总是喜欢将自己喜欢的音乐资源通过下载的方式保存在本地&#xff0c;不过海康存储目前对因音乐的支持和管理实在过于薄弱&am…