加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:45:55 所属栏目:MsSql教程 来源:网络整理
导读:我只是想知道facebook可以发布多少个db查询来呈现用户的主页.有没有人对facebook DB的设计有所了解.我听说它运行 MySql并且有数千个副本加上比DB服务器更多的内存缓存服务器. Facebook数据是否被shard-ed? 如果是的话,它会转到每个分片并搜索我朋友的最新更
我只是想知道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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读