AmzTrends x TiDB Serverless:通过云原生改造实现全局成本降低 80%

本文介绍了厦门笛卡尔数据(AmzTrends)在面临数据存储挑战时,选择将其数据分析服务迁移到 TiDB Serverless 的思路和实践。通过全托管的数据库服务,AmzTrends 实现了全局成本降低 80% 的效果,同时也充分展示了 TiDB Serverless 在简化架构、提升性能和降低成本方面的优势。未来,AmzTrends 计划继续利用 TiDB Serverless 的优势,扩展业务并提升竞争力。

厦门笛卡尔数据是一家专注于跨境电商数据分析的 SaaS 公司,AmzTrends 为亚马逊卖家提供品牌分析(ABA)、商机探测以及广告数据的可视化分析。目前,AmzTrends 主要以 SAAS 和 Chrome、紫鸟浏览器的插件形式为客户提供数据服务,以订阅模式为美国、日本、中国数万计的跨境电商卖家提高数据服务,帮助卖家在选品、运营、广告等运营环节提供专业的数据分析决策价值 。

业务挑战

AmzTrends 的数据主要以大单表的形式进行存储,最大的表数据量超过 22 亿,字段较多且某些字段很长的大宽表,单表中存在结构化与非结构化的数据结构,因此需要建立大量的索引,占用大量存储空间,而且过期数据还需要定期清理,经常使用 BATCH 进行批量操作,一旦遇到异常无法无法事务的一致性,因此数据维护压力巨大。

技术痛点

在业务初期,AmzTrends 选择了在百度云上自建 TiDB 集群,资源按月付费。集群规模包含 1 个 TiDB 节点、1 个 PD 节点(此种部署方式会损害 PD 的高可用性,为了节约成本的部署方式,是官方不推荐的高风险方案)、3 个 TiKV 节点,技术人员通过将亚马逊下载的原始 CSV 格式的数据批量写入到 TiDB 中进行数据分析。此外还单独配置了 3 台服务器部署 Spark,进行全量复杂的数据计算分析。但 Spark SQL 与关系型数据库不同,需要专人运维,复杂的业务架构造成了资源冗余,使得运维成本较高。

由于集群配置不够加上专业运维团队的缺失,弃用了 Spark,大量复杂且数据计算量巨大的任务由 Spark 转到 TiDB 直接运行,集群越来越不稳定,数据安全面临严重挑战。在这种情况下,AmzTrends 不得不寻找对技术要求更低且更安全的运维解决方案。在接触到 TiDB Serverless 后,AmzTrends 认为由于都是 TiDB 产品体系,全托管的一栈式数据库服务 TiDB Serverless 不仅可以充分发挥 TiDB 数据库原有的特性和优势,还可以帮助公司简化架构,提升系统的整体性能和健壮性。所以,AmzTrends 决定将整体应用从百度云部署方案迁入 TIDB Serverless,不仅风险更低且兼容性和性能都能得到有效保证,另外通过数据容量与请求量的成本预估,AmzTrends 发现迁移后成本能比现有的云服务器部署更低,因此有了这样一次充满挑战的数据迁移过程。

为什么选择 TiDB Serverless?

TiDB Serverless 是一种全托管的、自动化的数据库服务(DBaaS),能够快速部署集群,并按实际使用资源量计费。结合自身业务架构特性,AmzTrends 在考虑 TiDB Serverless 时重点关注以下特性:

 轻松扩展基础设施,按实际使用量付费 :商家只有在工作日时间才会使用 AmzTrends 的数据分析服务,而传统的云模式需要为预估的最大流量付费,容易造成闲时资源浪费。TiDB Serverless 可以秒级搭建起数据库环境,用户只需为实际的数据处理和存储付费,这让 AmzTrends 开发团队能够更专注于创新和发展。

 轻松上手,无需手动分片 :以前, AmzTrends 的 20 亿数据需要定期进行清理或者分片,应用 TiDB Serverless 可以帮助用户摆脱数据分片等数据库繁琐的操作任务,相当于只维护一张大表即可,既可以满足更长时间维度的查询需求,又无需反复对数据进行整理操作。

 自动伸缩,成本效益显著 :无论是存储、事务处理还是分析工作负载,AmzTrends 都能在几秒内根据应用需求自动伸缩,避免造成资源冗余浪费,既灵活又经济。

 全面托管,无感运维 :为 AmzTrends 提供最优化的 TiDB 部署方案,免去了服务器配置维护的烦恼。以前一旦出现故障就需要人工进行紧急处理,使用全托管的 TiDB Serverless 后运维人员可以安心入眠。

 熟悉的 SQL 接口,灵活应对业务增长 :TiDB Serverless 保持了开发者熟悉的 MySQL SQL 语言,AmzTrends 无需进行额外的学习即可高效地投入开发工作,同时 TiDB Serverless 具有一个高度灵活扩展的分布式架构,可以随需弹性扩缩容,应对业务的快速增长。

解决方案

决定迁移后,AmzTrends 采用 TiDB Serverless 替代了云上自建的 TiDB 集群,将数据全量迁移到 TiDB Serverless 中,简化了架构,大大缓解了运维压力,降低总体 IT 成本。

迁移后,AmzTrends 在 PingCAP 官方服务的帮助下也进行了架构简化、优化建表、索引优化,提高了整体数据处理效率,并使 AmzTrends 业务架构演进至云原生模式:

○ 索引优化:通过发现和删除冗余数据索引,节省了 50% 的数据库成本;

○ SQL 查询性能提升:优化索引后,不仅提高了查询速度,也显著减少了成本;

○ 架构简化:自建配置中心和服务注册要求的最小三台云服务器转变为单台云服务器,降低了成本和复杂性;

○ 业务缓存建立:在了解业务的基础上建立了业务缓存,进一步降低了实际查询量,节约成本。

项目收益

全托管一栈式数据库服务库服务

TiDB Serverless 提供全托管的服务模式,充分发挥了 TiDB 数据库的原有特点和优势,简化了 Amztrends 的整体架构,提升了性能和系统健壮性,同时降低了总体成本。

数据架构成本节省 50%

通过云原生改造,Amztrends 在数据架构方面节省了 50% 的成本。( Serverless 采用全分离架构,Amztrends 只需为使用付费,无需浪费闲置资源)

整体服务资源节约 30%

简化架构后,Amztrends 前端服务资源实现了 30% 的资源节约。

全局成本降低 80%

综合上述优化,Amztrends 实现了整体成本降低 80%。

总结

TiDB Serverless 作为全托管一站式的数据库服务,从根本上解决了 Startup 公司基础架构门槛高的难题,即使缺少专业运维人员,也可以拥有简化、健壮的数据基础架构,获得了更高的系统稳定性和可用性。同时,Serverless 的 “Pay as you go”模式提供了更灵活、更优化的资源利用率,AmzTrends 从百度云迁移至 AWS 之后,总体 IT 成本实现了大幅下降。在此基础上,这种灵活的资源使用模式也可以让 AmzTrends 探索更灵活、更具性价比的商业方案,为商业模式提供更多可能性。

AmzTrends PM Steve 表示:“迁移到 TiDB Serverless 后我们不会再去担心数据库的问题,完全放心交给 TiDB Serverless 就好了。用最简单的话来讲,没有问题就是最好的结果。”

未来

未来,Amztrend 计划继续利用 TiDB Serverless 的优势,进一步扩展其业务并探索更多的数据分析和优化机会。公司还计划通过持续的技术改进和优化,维持并提升其在市场上的竞争力。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka进阶(二)

文章目录 前言一、Ack机制二、ISR集合总结 前言 本篇主要介绍kafka 的 Ack机制 和 ISR集合 一、Ack机制 Kafka提供了三种不同的应答机制(ACK): acks0:这是最不可靠的模式。在这种模式下,生产者不会等待来自服务器的…

三、软考-系统架构设计师笔记-计算机系统基础知识

计算机系统概述 计算机系统是指用于数据管理的计算机硬件、软件及网络组成的系统。 它是按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。 冯诺依曼体系计算机结构: 1、计算机硬件组成 冯诺依曼计算机结构将…

正向代理的反爬虫与防DDoS攻击:保护网站免受恶意行为

目录 前言 一、正向代理的原理 二、正向代理的反爬虫功能 1. IP地址隐藏 2. 请求多样化 三、正向代理的防DDoS攻击功能 1. 均衡负载 2. IP过滤 结论 前言 在当前互联网环境下,网站常常受到各种恶意行为的侵袭,其中包括爬虫和DDoS攻击。这些行为…

#WEB前端(DIV、SPAN)

1.实验&#xff1a;DIV、SPAN 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 类? 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdev…

数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua&#xff0c;在这里我会分享我的知识和经验。&#x…

现代化数据架构升级:毫末智行自动驾驶如何应对年增20PB的数据规模挑战?-OceanBase案例

毫末智行是一家致力于自动驾驶的人工智能技术公司&#xff0c;其前身是长城汽车智能驾驶前瞻分部&#xff0c;以零事故、零拥堵、自由出行和高效物流为目标&#xff0c;助力合作伙伴重塑和全面升级整个社会的出行及物流方式。 在自动驾驶领域中&#xff0c;是什么原因让毫末智行…

Linux——基本指令

系列文章目录 文章目录 系列文章目录一、Linux基本常识二、Linux基本指令2.1 mkdir指令&#xff08;重要&#xff09;2.2 rmdir指令2.3 rm指令&#xff08;重要&#xff09;2.4 touch指令2.5 ls指令2.6 pwd指令2.7 cd指令2.7.1 Linux中的目录结构2.7.2 绝对路径和相对路径2.7.3…

对程序、进程、线程、并发、并行、高并发概念的讲解

一、概述 程序、进程、线程、并发、并行和高并发是计算机科学领域中非常重要的概念。 了解进程、线程、并发和并行的概念&#xff0c;可以更好地利用计算机的多核处理器和并行计算能力&#xff0c;提高计算机性能。 了解进程和线程为操作系统中的资源管理提供了基础&#xff…

【风格迁移】对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁

对比度保持连贯性损失 CCPL&#xff1a;解决图像局部失真、视频帧间的连贯性和闪烁 提出背景解法&#xff1a;对比度保持连贯性损失&#xff08;CCPL&#xff09; 局部一致性假设 对比学习机制 邻域调节策略 互信息最大化对比学习&#xff1a;在无需标签的情况下有效学习区分…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的教室人员检测与计数(Python+PySide6界面+训练代码)

摘要&#xff1a;开发教室人员检测与计数系统对于优化教学资源和提升教学效率具有重要意义。本篇博客详细介绍了如何利用深度学习构建此系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5的性能&#xff0c;展示…

[vue error] TypeError: AutoImportis not a function

问题详情 问题描述: element plus按需导入后&#xff0c;启动项目报错&#xff1a; 问题解决 将unplugin-auto-import 回退到0.16.1 npm install unplugin-auto-import0.16.1 安装完后再次运行就好了

差分题练习(区间更新)

一、差分的特点和原理 对于一个数组a[]&#xff0c;差分数组diff[]的定义是: 对差分数组做前缀和可以还原为原数组: 利用差分数组可以实现快速的区间修改&#xff0c;下面是将区间[l, r]都加上x的方法: diff[l] x; diff[r 1] - x;在修改完成后&#xff0c;需要做前缀和恢复…

PYTHON 自动化办公:压缩图片(PIL)

1、介绍 在办公还是学习过程中&#xff0c;难免会遇到上传照片的问题。然而照片的大小限制一直都是个问题&#xff0c;例如照片限制在200Kb之内&#xff0c;虽然有很多图像压缩技术可以实现&#xff0c;但从图像处理的专业来说&#xff0c;可以利用代码实现 这里使用的库函数是…

观成科技:加密C2框架Covenant流量分析

工具介绍 Covenant是一个基于.NET的开源C2服务器&#xff0c;可以通过HTTP/HTTPS 控制Covenant agent&#xff0c;从而实现对目标的远程控制。Covenant agent在与C2通信时&#xff0c;使用base64/AES加密载荷的HTTP隧道构建加密通道。亦可选择使用SSL/TLS标准加密协议&#xf…

Java网络通信TCP

目录 TCP两个核心类 服务端 1.用ServerSocker类创建对象并且手动指定端口号 2.accept阻塞连接服务端与客户端 3.给客户端提供处理业务方法 4.处理业务 整体代码 客户端 1.创建Socket对象&#xff0c;并连接服务端的ip与端口号 2.获取Socket流对象&#xff0c;写入数据…

Linux: Network: socket: sendto 如果返回0,是否一定代表发送成功?

最近遇到一个问题&#xff0c;虽然应用层使用的系统调用send已经返回成功&#xff0c;而且没有错误日志产生&#xff0c;也没有errno的设置。那是不是代表一定是没有问题&#xff1f;从抓包的结果看&#xff0c;虽然上层应用已经显示发出去&#xff0c;但是实际抓包的时候&…

被曝隐瞒添加剂、夸大产品功效,东方甄选再陷选品风波

号称专注为客户细心甄选好物的东方甄选&#xff08;&#xff08;HK:01797&#xff09;&#xff09;&#xff0c;又摊上事儿了。 近日&#xff0c;海关总署发布公告称&#xff0c;美国饮料生产企业JERRY&SONS PHARMACEUTICAL INC在申请注册时提供了虚假材料&#xff0c;且未…

C2_W2_Assignment_吴恩达_中英_Pytorch

Neural Networks for Handwritten Digit Recognition, Multiclass In this exercise, you will use a neural network to recognize the hand-written digits 0-9. 在本次练习中&#xff0c;您将使用神经网络来识别0-9的手写数字。 Outline 1 - Packages 2 - ReLU Activatio…

c语言经典测试题9

1.题1 #include <stdio.h> int main() { int i 1; sizeof(i); printf("%d\n", i); return 0; } 上述代码运行结果是什么呢&#xff1f; 我们来分析一下&#xff1a;其实这题的难点就是sizeof操作后i的结果是否会改变&#xff0c;首先我们创建了一个整型i&a…

分布式基础 --- Leader election

分布式基础 --- Leader election 为什么需要leader electionRing electionBully Algorithm 为什么需要leader election 在一组集群中, 需要选出一个leader来承担一些特别的任务, 比如 协调和控制系统操作&#xff1a;领导者负责协调和控制整个分布式系统的操作。它可以接收和处…