我有一个简单的基本问题。假设我有一个大型网站,如 facebook、gmail 等。这个网站每天可能会保存数百 GB 的信息。我的问题是这些网站如何将这些大量信息保存在他们的数据库中(因为数据库容量)。只有一个数据库吗?这个网站只有一台服务器吗?如果有另一个服务器和数据库,它们如何相互通信?
问问题
403 次
2 回答
1
他们显然没有使用一台计算机...
如此大型站点背后的系统非常复杂,并且分布在多个数据中心。见 - http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/
于 2012-11-30T16:32:27.673 回答
0
查看此站点以获取有关这些站点(和此站点)所采用的各种架构的信息:http: //highscalability.com/all-time-favorites/
这些站点中的大多数都采用了一种称为 NoSQL 的策略——即它们不使用传统的 RDBM 数据库,而是创建了自己的具有持久化能力的对象关系框架。这种策略在大规模上运行良好,因为它消除了许多会严重影响传统 DB 方法性能的约束。然而,这通常是以降低可靠性为代价的,这通常被认为对于这些站点的场景是可以接受的。
附言。如果您的问题是普遍的兴趣,那么不用担心。如果您正在尝试构建一个高度可扩展的应用程序,请稍等片刻——您是要为世界上很大一部分人口提供服务,还是要为可能有几千名用户编写一个站点。如果是后者,则不需要 Facebook 样式缩放;将您的精力和资源投入到其他地方。如果是前者,那么从小处着手,改进您的系统,随着用户群的增长带来投资和专业知识。
于 2012-11-30T16:37:54.177 回答