用百万用户设计大数据库

时间:2014-04-25 12:29:05

标签: database database-design web

我要为我的网站设计一个数据库,我的网站会有很多用户,每个用户都有一个" Sub Domain"我的网站(如博客)。每个用户都可以在他/她的博客上写文章,其他用户可以为该帖子写一些评论 这是我的问题,"数据库的最佳设计是什么?",我为每个子域创建一个表(包含该用户帖子的每个用户的表)或创建单个表是否更好?对于每个用户?
我搜索找到答案,但我给出了不同的答案!有人告诉我将所有数据保存在一个表中,因为你可以编写更有效的查询,但有些人告诉我们将每个用户的数据保存在一个单独的表中,因为你会减少行数,你可以快速搜索数据。 所以我不认识巫婆,为什么?请告诉原因。 例如facebook为保存用户数据做了什么?每个人都有一个单独的表或所有用户数据(帖子)都在一个表中吗? 有些人告诉我,如果我使用多个表而不是单个表,我可以为我的数据库使用多个服务器,因为每个服务器可以轻松保存一些表,但如果将所有用户数据保存在单个表中则使用两个服务器则更加困难。

2 个答案:

答案 0 :(得分:2)

如果你想留在关系数据库中,像voltDB这样的newsql db可能会有所帮助。如果你想要一个快速数据库,索引是非常重要的,你可以split your data into multiple tables,如果有的话重复,例如你有一个颜色,语言等的列表......用户可以从中选择。 / p>

为百万用户设计应用程序不仅仅是数据库问题。 Facebook可能会进行cqrs和事件采购,并仅使用关系数据库和nosql数据库进行读取缓存,但这只是一个意见......所以你需要设计一个可以很好地扩展的分布式架构...根据你的问题你通过设计这样的应用程序没有多少技能,所以我认为你应该相信这个项目的人,有很多在线市场,例如freelancer.com,你可以做到这一点。

答案 1 :(得分:0)

我建议使用类似http://www.ukwda.org/之类的内容,并为您的项目提供一些认真的帮助

你问的问题听起来好像你可能需要帮助你想要做的事情背后的基础设施。你正在谈论设计大量的东西。

祝你好运!