理想情况下,像Facebook这样的应用程序会在哪里存储“朋友”数据? 在数据库表中?在xml文件中?
答案 0 :(得分:5)
“我们已经是世界上第二大流量最多的PHP网站(雅虎排名第一),并且是世界上最大的MySQL安装之一,运行着数千个数据库。”
和
“我们构建了一个轻量级但功能强大的多语言RPC框架,它允许我们无缝轻松地将用任何语言编写的子系统连接在一起,在任何平台上运行.Facebook内置PHP,C ++,Perl,Python,Erlang ,Java,甚至一点点ML-它们都在一起工作。 *我们是memcached世界上最大的用户,这是一个开源缓存系统。最初由LiveJournal开发,我们已经进行了如此多的可扩展性改进和性能升级,我们将成为下一个主要版本中功能的主要贡献者。 *我们创建了一个定制的搜索引擎,每天提供数百万个查询,完全分发并完全在内存中,并提供实时更新。“
答案 1 :(得分:4)
答案 2 :(得分:2)
查看此博客:http://highscalability.com/许多系统架构的实际示例以供学习
答案 3 :(得分:2)
“朋友”数据在图表数据库中有详细描述。 Neo4j就是一个例子,但我知道这并不是Facebook存储这些信息的方式。
Facebook使用了许多可能涉及的数据库技术:
答案 4 :(得分:1)
最有可能它应该包含一些其他机制。例如,搜索引擎不会将其索引保留为数据库或XML文件。为了获得最大性能,他们通常保留一些树(二进制搜索树或更复杂的树)并以性能有效的方式将它们存储在磁盘上。所以我猜这种机制。
答案 5 :(得分:0)
当然不在XML文件中。
是,在数据库中,在一个或多个表中。而对于facebook的精确例子,在几台服务器上。