我一直想知道Twitter,facebook,google plus等社交网站的架构。出于好奇心我想知道,他们如何管理所有这些长短信(包括图片,网页链接等)以及对它们的评论。他们将它们存储在数据库或xml文件中,还是混合搭配?他们如何实际管理如此大量的数据?
由于
答案 0 :(得分:0)
一般来说,对于像这些一样大的站点来说,规模和速度是一个巨大的优势,它们很大程度上依赖于内置于系统中的自动冗余的分片数据库结构。它们通常不使用参照完整性或甚至定义的模式等数据库概念,因为它们会显着影响数据库性能。对于Facebook,如果我没记错的话,他们基本上存储了描述数据的JSON对象,并且可以在必要时轻松地将新字段添加到对象中以支持新的数据结构。如果你在一个大规模的桌子上进行一次列操作,并且在许多不同的独立机器上进行操作,那么让它们同步而不是让系统完全脱机将是一场噩梦。
HBase at Facebook page有一些有趣的图形和信息,您可能会觉得有用。