想了解下高并发+海量数据+复杂业务一般是怎么存储、使用数据的, mysql 支持分布式吗?还是说用 oceanbase、polordb 这种分布式数据库

2024-07-25 19:47:31 +08:00
 bronyakaka

个人做内部项目比较多,数据量不小,一般存 ES 或者 CK 就可以了,并发量不高,大多是离线计算型。

如果是美团、阿里这种 toc 大体量的业务,并发量很大,数据量也非常大(比如每日几十亿新增),假设业务比较复杂,关联数据比较多,这种情况下数据是放在分布式数据库里吗?比如 oceanbase 、polardb 、tidb 之类的。

单机大概不支持存储这么大的数据量,而且大概是用机械盘而不是固态,那又如何保证性能呢?缓存总没法缓这么大的数据量吧

有没有做过类似业务的懂哥分享下

1886 次点击
所在节点    数据库
10 条回复
sampeng
2024-07-25 19:55:56 +08:00
每个部门同一套。然后合并,然后又分开。然后自研合并
Inn0Vat10n
2024-07-25 20:01:43 +08:00
数据是可以分片的,大多数情况还是全内存操作的
每日几十亿新增太夸张了,都赶上整个淘宝商品表的量级了
现在服务器集群全固态很正常
分部署缓存达到 TB 级也很正常
RuLaiFo
2024-07-25 20:27:57 +08:00
这种高性能高并发的系统肯定是上固态了,怎么可能用机械硬盘,我们组的归档库存储都是用的 ssd ,量级大概几十 TB 。另外隔壁组是纯内存操作,单机内存就接近 1tb ,十万行代码的逻辑在响应 10ms 以下,这样带来的就是启动速度、大堆管理的挑战。
sagaxu
2024-07-25 20:33:30 +08:00
2020 年之后采购的服务器,基本上是全固态了,单机最小几个 TB ,内存最低 64G(就算 16G 够用也买 64G)

大厂技术分享网上很多,你能看到各种方案都有,水平拆分,垂直拆分,手动分库分表的有,上中间件的也有,直接用分布式 DB 的也有,条条大路通罗马
akira
2024-07-25 21:11:22 +08:00
不管是啥数据库,一个数据库扛不住 就加一个咯。 一个集群扛不住就两个集群咯
xiaotianhu
2024-07-25 22:50:11 +08:00
有很多是靠文件系统的啊。mysql 大规模还是太贵了。
之前公司自己拿 rocksDB+Raft 自己撸的分布式存储。
R4rvZ6agNVWr56V0
2024-07-26 03:39:54 +08:00
infoq 上有很多以前架构分享的文章,大多比较经典。 架构这事情,case by case ——业务和体量不同,无法一概而论的。
chutianyao
2024-07-26 10:28:51 +08:00
都是多套存储混用的,面向不同的使用场景.
比如面向 C 端用户,追求 TPS 和 TP99,有些场景直接用 redis 缓存扛量(购物车秒杀等),然后再异步写数据库(mysql 分库分表、tidb 之类); 很多系统会再存一份 es 数据,面向 B 端复杂查询; 至于离线场景, 通常又会通过 ETL 抽数,数据同步到 hadoo spark flink 之类的大数据平台
8355
2024-07-26 10:43:33 +08:00
业务的需求是不一样的,不好说统一的方案,不同的业务方向使用不同的架构。
日增 PB 级以下 polardb 这种都可以比较轻松的管理,
实时统计和离线计算用大数据实时数仓和离线数仓这一套。
大体量 toC 业务的核心主体是在缓存的设计和数据结构上,
不要去纠结什么机械硬盘和固态硬盘了,讲的是 iops ,
硬件系统有硬件系统的架构,不要用单机容量上限的思维去思考云厂商的方案,这是令外一件事。
1252603486
2024-07-26 14:57:42 +08:00
https://pphc.lvwenhan.com/
可以看看这个系列里面的文章,就是找单点,然后解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX