2

我一直想知道 twitter、facebook、google plus 等社交网站的架构。只是出于好奇,我想知道,他们如何管理所有带有评论的长篇和短篇文章(包括图片、网络链接等)。他们将它们存储在数据库中还是存储在 xml 文件中或一些混合和匹配中?他们实际上是如何管理如此大量的数据的?

谢谢

4

1 回答 1

0

Facebook 今年早些时候在 IBM 的硅谷实验室进行了一次技术演讲,并谈到了他们对 Apache hBase 的使用以及 MySQL 如何无法很好地对其进行扩展。他们没有深入研究数据的结构,而是深入研究为系统提供动力的基础设施以及他们如何专注于非常高速的读取操作。

一般来说,规模和速度对于像这样大的站点来说是一个巨大的问题,它们严重依赖于系统内置自动冗余的分片数据库结构。它们通常不使用参照完整性等数据库概念,甚至不使用定义的模式,因为它们会极大地影响数据库性能。对于 Facebook,如果我没记错的话,他们基本上存储了描述数据的 JSON 对象,并且可以在必要时轻松地将新字段添加到对象中以支持新的数据结构。如果您在一个巨大的表上并跨许多不同的独立机器进行列操作,那么让它们同步而不是让系统完全脱机将是一场噩梦。

Facebook 页面上的HBase有一些有趣的图形和信息,您可能会发现它们很有帮助。

于 2012-10-12T22:25:22.707 回答