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

84 天前
 bronyakaka

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

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

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

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

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

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