数据库 – Facebook DB设计可能应该是什么

前端之家收集整理的这篇文章主要介绍了数据库 – Facebook DB设计可能应该是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是想知道facebook可以发布多少个db查询来呈现用户的主页.有没有人对facebook DB的设计有所了解.我听说它运行 MySql并且有数千个副本加上比DB服务器更多的内存缓存服务器.

Facebook数据是否被shard-ed?

如果是的话,它会转到每个分片并搜索我朋友的最新更新.在最糟糕的情况下,如果我有100个朋友并且假设facebook有101个分片,那么我的朋友可能会使用不同的分片. facebook怎么可能处理这个?

如果有人可以向我提供“如何为社交网站设计数据库”这样的内容,我将非常感激.我只是好奇!

解决方法

Facebook正在使用 LAMP structure.Facebook的后端服务使用各种不同的编程语言编写,包括C,Java,Python和Erlang,并根据需要使用它们.使用LAMP Facebook使用一些技术来支持大量的请求,比如

> Memcache – 这是一个内存缓存系统,用于通过缓存RAM中的数据和对象来加速动态数据库驱动的网站(如Facebook),以减少阅读时间. Memcache是​​Facebook的主要缓存形式,有助于减轻数据库负载.拥有一个缓存系统可以让Facebook在调用您的数据时尽可能快.
> Thrift (protocol) – 它是一个轻量级的远程过程调用框架,用于可扩展的跨语言服务开发. Thrift支持C,PHP,Python,Perl,Ruby,Erlang等.
> Cassandra (database) – 它是一个数据库管理系统,旨在处理分布在许多服务器上的大量数据.
> HipHop for PHP – 它是PHP脚本代码的源代码转换器,用于节省服务器资源. HipHop将PHP代码转换为优化的C语言.执行此操作后,它使用g将其编译为机器代码.

如果我们进一步详细说明,那么回答这个问题会更长.我们可以通过以下帖子了解更多:

> How Does Facebook Work?
> Data Management,Facebook-style
> Facebook database design?
> Facebook wall’s database structure
> Facebook “like” data structure

原文链接:https://www.f2er.com/mssql/77886.html

猜你在找的MsSQL相关文章