请问像知乎这种超大型的论坛项目是数据库底层是如何设计的?

2019-05-09 11:08:39 +08:00
 noble4cc

底层持久化肯定要分库分表了,像这种要分多少库呢?每个库中的回答或者说评论又要分多少表呢?

打开首页看到的是关注人的热数据 这种肯定不是靠直接查库了(肯定分布在不同的库中),这种功能又是如何实现的呢?

只是想和大家头脑风暴下,大牛轻喷

6840 次点击
所在节点    Java
26 条回复
ccchooko
2019-05-09 11:33:30 +08:00
mark~前排搬个小板凳
CEBBCAT
2019-05-09 12:38:59 +08:00
BihuBihu 我不知道,bilibili 我倒是可以推荐给你 (逃)

@ccchooko #1 有更好用的收藏功能可用,或者加浏览器书签
noble4cc
2019-05-09 12:54:05 +08:00
@CEBBCAT 大佬详细说说 b 站的也行,交流下
SmallDream1995
2019-05-09 13:24:42 +08:00
@noble4cc 这位老哥应该只是在调侃之前的 B 站源码泄漏事件。。
janxin
2019-05-09 13:28:35 +08:00
哪有提前要知道自己要分多少的...
gemini767
2019-05-09 13:31:52 +08:00
从来都是按照业务的发展来定义的,没有银弹

热门数据肯定有推荐系统,查库太粗暴了
jswh
2019-05-09 13:37:46 +08:00
分库分表并没有定数,一定是根据你的业务属性做的。
推荐系统基本不会直接查库。以前做的推荐系统设计,是每一个发布的内容进来,会推到队列里面等着做特征的计算,然后和之前的已经算好的用户特征做匹配,然后推到每个用户自己的内容队列里面。最终的 api 只有从这个内容队列里面取数据就行了,然后组合其他的非推荐内容数据就行了。
leegoo
2019-05-09 13:46:17 +08:00
经常查的数据肯定不会直接通过数据库查询的,性能太差(相比于搜索引擎), 估计你看知乎大部分都是看知乎推荐给你的,或者是排行榜的 自己去搜索内容肯定很少是吧? 至少别人肯定也是用 es 什么的来提供这方面的功能,当然降到最底层肯定是用数据库了,或许都不是你认为的关系型数据库呢?论坛这种东西丢一条回复又有什么影响呢?而且知乎的后端好像还用 Golang 重构过
uxstone
2019-05-09 14:37:05 +08:00
首先 知乎目前用的是啥数据库?
taozle
2019-05-09 15:09:08 +08:00
这么感兴趣,投个简历进来看看就知道了
opengps
2019-05-09 15:10:54 +08:00
这个能说的太多了,对于很多数据既然只读性质,那么肯定有内存性数据库当缓存用
est
2019-05-09 15:19:14 +08:00
zhihu 哪里算大了。。。。。天天都在 X 治 X 感删帖。
geniusmyn
2019-05-09 15:22:44 +08:00
插眼
raysmond
2019-05-09 15:25:17 +08:00
可以研究一下 reddit 以前的设计,memcache+cassandra+postgres,网上有分享。
gramyang
2019-05-09 17:36:28 +08:00
我记得知乎上有回答的,知乎的架构,你要搜索一下
nimrc
2019-05-09 17:40:04 +08:00
逼乎就是个小破站 啊 一台 mysql 绰绰有余
jjianwen68
2019-05-09 17:47:22 +08:00
不同模块可能是不同的系统提供的服务,不同的系统可能又是不同的设计
OakScript
2019-05-09 19:12:29 +08:00
看到是多种存储啊,应该是 redis/memcache + mysql/postfresql + mongo/dynamo... 组合使用
Weixiao0725
2019-05-09 19:23:03 +08:00
知乎好像也上 TiDB 了吧
noble4cc
2019-05-09 19:23:36 +08:00
@jswh 每个用户都有自己的推荐队列是否是太浪费存储了

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

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

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

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

© 2021 V2EX