gpt4 book ai didi

php - 社交网站的数据库关系或 friend 表设计

转载 作者:可可西里 更新时间:2023-11-01 06:38:47 26 4
gpt4 key购买 nike

您好,我正在创建一个社交网站,我想知道我将如何创建用户之间的关系。许多网站说我应该创建一个关系/ friend 表,但我展望 future 并认为这将是无效的。这个想法可能会像 facebook 一样流行,我想为那么多用户做好准备。 Facebook 有 4 亿用户,所以 friend 表至少是它的 150 倍。我认为查询 friend 的速度会很慢。因此,解决方案是为每个包含其 friend ID 的用户创建一个单独的表。或包含 ID 的关联 CSV 文件。对我的网站设计的任何帮助将不胜感激。谢谢

最佳答案

今天构建您需要的架构,而不是您认为 5 年后需要的架构。

您认为 facebook 设计的架构是否在第一天就支持 4 亿用户?当然不是。构建这种规模是复杂、昂贵的,老实说,如果你现在尝试,你可能会弄错,以后无论如何都得重做。

老实说:与很快达到 4 亿用户相比,您中彩票的机会更大。即使您这样做,到那时您的项目也会有数百名工程师——有足够的带宽来重新设计您的模式。

现在是构建简单的时候了。

编辑以添加一些可靠的示例:

Youtube :

They went through a common evolution: single server, went to a single master with multiple read slaves, then partitioned the database, and then settled on a sharding approach.

Keep it simple! Simplicity allows you to rearchitect more quickly so you can respond to problems. It's true that nobody really knows what simplicity is, but if you aren't afraid to make changes then that's a good sign simplicity is happening.

Livejournal 也从单一服务器上的单一数据库增长到 multiple sharded replicated databases

我相信您可以在 the highscalability blog 上找到更多示例

关于php - 社交网站的数据库关系或 friend 表设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3602731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com