我以为我理解了数据库索引正在分块/数据库中的水平分区是什么。我读过这关于系统设计的文章,在文章中,作者为Twitter构建了一个“搜索”系统。有一个存储tweet的数据库,然后作者为搜索建立了一个索引,其中键是搜索中的一个单词,值是tweet- in。到目前为止,我们可以找到所有的tweetID以及包含一个单词的tweet。
但后来作者谈到了分块索引,这让我很困惑!数据库本身是否存在索引,以便于从DB中查找数据?作者讨论了如何将索引保存在内存中,然后对该索引进行切分。在下面的图像中,数据库显示了一个单独的索引服务器和一个数据库(索引生成器服务器只是重建索引的助手):

因此,我感到困惑的是,索引是否可以位于DB之外,或者单独的DB是否可以用作另一个DB的索引(这看起来很慢!)我试着搜索“索引服务器”,但是我没有看到任何相关的东西。如果我错了,请纠正我!
这似乎是可以在最初的tweet数据库中使用第二个索引来实现的,这个索引是tweetIds的单词,对吗?主要索引是tweetIds,它将是唯一的。
发布于 2022-04-08 06:43:01
我认为作者的意思是,对于多个数据库,您可以使用"Index-Builder“将这些不同的碎片索引连接在一起。这将提供一个中心索引,即来自所有数据库的所有Word+TweedID引用。
https://stackoverflow.com/questions/71681071
复制相似问题