请问存储百万条或者千万条抖音评论应该选用什么数据库?怎么设计?

2021-06-03 09:44:38 +08:00
 iiq2000
每个抖音作者都会有数条视频,而每条视频下又会有数条评论。估计会有数百个抖音作者,千万条评论,读写会比较频繁,可能会日增几万条或者十万条数据,老板想把这些评论信息都存到数据库(评论者抖音号、评论内容,评论时间,对应的视频 id )。

我目前想到的是存到 MongoDB,每一个作者抖音号是一个集合名字,集合里就是这个作者下所有视频的评论(每条评论里会包含对应的视频 id );

同事建议用关系型数据库,把表分细一点,然后设置外键,查询的时候联合查询,如果数据量大的话,哪种方式会更好一些呢?是应该选用关系型数据库还是非关系型呢?烦请赐教。
8338 次点击
所在节点    程序员
44 条回复
luoqeng
2021-06-03 15:27:53 +08:00
tidb yugabyte cockroachdb
realpg
2021-06-03 15:58:36 +08:00
这点数据量 而且模型简单 任何关系数据库都没问题
felixcode
2021-06-03 16:46:01 +08:00
这点数据关系型完全没问题,哪来什么海量数据啊
qiayue
2021-06-03 16:53:56 +08:00
我们有个 mysql 表,现在六千万行数据了,每天新增一两百万条,用的就是最简单的方案,暂时没遇到瓶颈。

我的建议是,先做先实现,后面遇到瓶颈了,再来考虑优化。
lululau
2021-06-03 16:55:33 +08:00
这个量级,MySQL 就行了
yogogo
2021-06-03 17:00:17 +08:00
@czfy
#18 灰产还是少做点,容易迷失方向。你现在这么说只是在安慰自己而已
moen
2021-06-03 17:09:36 +08:00
推荐用 timescaledb,既有关系型数据库本身的优点(本身就是 pg ),又能处理像这样的海量时序型数据(可以自动分表和压缩旧数据)
ipwx
2021-06-03 17:13:48 +08:00
es 不就干这种事么,而且还能做全文检索。。。多好
wzq001
2021-06-03 17:25:59 +08:00
抖音 才可能会日增几万条或者十万条数据???
wzq001
2021-06-03 17:26:29 +08:00
MySQL:你是不是看不起我???
czfy
2021-06-03 17:32:56 +08:00
@yogogo 啊哈哈哈,走一步算一步吧
winnerczwx
2021-06-03 17:58:33 +08:00
@czfy #16
这类爬虫本身就不合法, 所有绕过应用反爬措施的爬虫都是非法的(逆向, ip 代理等等)

甚至见过改 UA 都被判的案例
Valid
2021-06-03 18:00:59 +08:00
你们会被律师含的
czfy
2021-06-03 18:12:59 +08:00
@winnerczwx 有没有裁判文书可以参考一下?
anexplore
2021-06-03 18:32:37 +08:00
然儿~执~法~ 部门也需要爬虫收集数据
ijustdo
2021-06-03 18:38:53 +08:00
clickhouse
whahuzhihao
2021-06-03 18:44:01 +08:00
千万级别直接 mysql 可以啊。或者找个 clickhouse 之类的。如果要分析关系啥的,还可以上图数据库
iluckypig
2021-06-03 21:34:55 +08:00
没有更新需求的话,看看能不能处理成宽表存 clickhouse
perpetually
2021-06-04 00:02:13 +08:00
只有我想知道这抖音是怎么爬下来的么?千万级?还只有 5 个人?
能分享一下技术思路么
winglight2016
2021-06-04 09:05:09 +08:00
几千万数据量,不算大数据,不需要从这个角度考虑特别的技术架构。人-作品-评论,这种关系用 mongodb 或者 mysql 都没什么问题,查询统计可能 mongodb 支持 mapreduce 会更快一些,但是这个千万数量级做一下索引优化就够了,实在用不着针对性的设计。

另外,如果老板希望交互界面好看,你又不想自己开发,那么 es 的确最适合你。但是,仍然推荐先存到 mongodb 或 mysql,再做另外的同步程序推送到 es 。

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

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

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

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

© 2021 V2EX