技术构架:
Facebook使用LAMP(Linux、 Apache、 MySQL、 PHP)作为技术构架。Facebook的一个技术构架工程师Steven Grimm在博客中写到:
几乎我们所有的服务器都运行开源软件。我们的Web服务器是Linux,Apache和PHP。我们数据库是MySQL。我们使用memchached来保证网站的快速反应。一些后台应用Python、Perl和Java,以及一些gcc和Boost。程序员用Subversion和git来进行代码管理。还有很多--象很多网站一样,从头到脚都是开源软件。
Facebook的域模型:
下图(点击看大图)用UML类图的形式,显示了Facebook系统所管理的信息。它提炼出了Facebook数据库中的实体、关系、字段。
(Facebook域模型,点击看大图)
比如,图中显示了有关工作、学校、信用卡、显示用户名等的字段。(黄色方框代表类)
请注意该图为概念类图,而不是具体实施的细节。如欲了解更多数据模型的细节,请参考Facebook查询语言(FQL)--一种类似SQL的查询语言的相关资料。
Facebook使用LAMP(Linux、 Apache、 MySQL、 PHP)作为技术构架。Facebook的一个技术构架工程师Steven Grimm在博客中写到:
几乎我们所有的服务器都运行开源软件。我们的Web服务器是Linux,Apache和PHP。我们数据库是MySQL。我们使用memchached来保证网站的快速反应。一些后台应用Python、Perl和Java,以及一些gcc和Boost。程序员用Subversion和git来进行代码管理。还有很多--象很多网站一样,从头到脚都是开源软件。
Facebook的域模型:
下图(点击看大图)用UML类图的形式,显示了Facebook系统所管理的信息。它提炼出了Facebook数据库中的实体、关系、字段。
(Facebook域模型,点击看大图)
比如,图中显示了有关工作、学校、信用卡、显示用户名等的字段。(黄色方框代表类)
请注意该图为概念类图,而不是具体实施的细节。如欲了解更多数据模型的细节,请参考Facebook查询语言(FQL)--一种类似SQL的查询语言的相关资料。
Facebook主要采用LAMP技术栈,包括Linux、Apache、MySQL和PHP。此外还利用memcached提升响应速度,并采用Python、Perl和Java等语言进行后台开发。Facebook的数据模型通过UML类图展示,详细描述了其数据库中的实体、关系及字段。
517

被折叠的 条评论
为什么被折叠?



