首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

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

  •  2
     
  •   noble4cc · 159 天前 · 4762 次点击
    这是一个创建于 159 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    26 回复  |  直到 2019-05-10 11:54:02 +08:00
        1
    ccchooko   159 天前
    mark~前排搬个小板凳
        2
    CEBBCAT   159 天前
    BihuBihu 我不知道,bilibili 我倒是可以推荐给你 (逃)

    @ccchooko #1 有更好用的收藏功能可用,或者加浏览器书签
        3
    noble4cc   159 天前
    @CEBBCAT 大佬详细说说 b 站的也行,交流下
        4
    SmallDream1995   159 天前
    @noble4cc 这位老哥应该只是在调侃之前的 B 站源码泄漏事件。。
        5
    janxin   159 天前
    哪有提前要知道自己要分多少的...
        6
    gemini767   159 天前
    从来都是按照业务的发展来定义的,没有银弹

    热门数据肯定有推荐系统,查库太粗暴了
        7
    jswh   159 天前   ♥ 4
    分库分表并没有定数,一定是根据你的业务属性做的。
    推荐系统基本不会直接查库。以前做的推荐系统设计,是每一个发布的内容进来,会推到队列里面等着做特征的计算,然后和之前的已经算好的用户特征做匹配,然后推到每个用户自己的内容队列里面。最终的 api 只有从这个内容队列里面取数据就行了,然后组合其他的非推荐内容数据就行了。
        8
    leegoo   159 天前
    经常查的数据肯定不会直接通过数据库查询的,性能太差(相比于搜索引擎), 估计你看知乎大部分都是看知乎推荐给你的,或者是排行榜的 自己去搜索内容肯定很少是吧? 至少别人肯定也是用 es 什么的来提供这方面的功能,当然降到最底层肯定是用数据库了,或许都不是你认为的关系型数据库呢?论坛这种东西丢一条回复又有什么影响呢?而且知乎的后端好像还用 Golang 重构过
        9
    uxstone   159 天前
    首先 知乎目前用的是啥数据库?
        10
    taozle   159 天前
    这么感兴趣,投个简历进来看看就知道了
        11
    opengps   159 天前
    这个能说的太多了,对于很多数据既然只读性质,那么肯定有内存性数据库当缓存用
        12
    est   159 天前
    zhihu 哪里算大了。。。。。天天都在 X 治 X 感删帖。
        13
    geniusmyn   159 天前
    插眼
        14
    raysmond   159 天前   ♥ 3
    可以研究一下 reddit 以前的设计,memcache+cassandra+postgres,网上有分享。
        15
    gramyang   159 天前
    我记得知乎上有回答的,知乎的架构,你要搜索一下
        16
    nimrc   159 天前   ♥ 2
    逼乎就是个小破站 啊 一台 mysql 绰绰有余
        17
    jjianwen68   159 天前
    不同模块可能是不同的系统提供的服务,不同的系统可能又是不同的设计
        18
    OakScript   159 天前
    看到是多种存储啊,应该是 redis/memcache + mysql/postfresql + mongo/dynamo... 组合使用
        19
    Weixiao0725   159 天前
    知乎好像也上 TiDB 了吧
        20
    noble4cc   159 天前
    @jswh 每个用户都有自己的推荐队列是否是太浪费存储了
        21
    dexterzzz   159 天前 via Android
    stack overflow 架构,表结构,数据都有公开
        22
    mamahaha   159 天前
    有钱能使鬼推磨,自己做好业务逻辑,剩下的花钱买机器雇人就行了。
        23
    mamahaha   159 天前
    我的花瓣+知乎+豆瓣全方位娱乐汇总网站马上就要出世了
        24
    ETiV   159 天前   ♥ 1
    我觉得,改造、优化 InnoDB,才能叫「数据库底层」

    标题改叫「用的啥数据库,数据表咋设计的,缓存咋用的」比较合理些
        25
    coder9778   158 天前
    @noble4cc 大 Vpush mq, 小透明直接查库。
        26
    Gempty   158 天前
    分享你刚编的故事~~~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1389 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 23:38 · PVG 07:38 · LAX 16:38 · JFK 19:38
    ♥ Do have faith in what you're doing.