节选自《大数据日知录:架构与算法》十四章
14.1.2 TAO图数据库
Facebook是目前世界上最著名的社交网站,如果从数据抽象的角度来看,Facebook的社交图不仅包括好友之间的关系,还包括人与实体以及实体与实体之间的关系,每个用户、每个页面、每张图片、每个应用、每个地点以及每个评论都可以作为独立的实体,用户喜欢某个页面则建立了用户和页面之间的关系,用户在某个地点签到则建立了用户和地点之间的关系……如果将每个实体看作是图中的节点,实体之间的关系看作是图中的有向边,则Facebook的所有数据会构成超过千亿条边的巨型实体图(Entity Graph)。实体图中的关系有些是双向的,比如,朋友关系;有些则是单向的,比如用户在某个地点签到。同时,实体还具有自己的属性,比如某个用户毕业于斯坦福大学,出生于1988年等,这些都是用户实体的属性。图14-2是Facebook实体图的一个示意片段。
图14-2 Facebook实体图(Fbid是Facebook内部唯一的ID编号)
Facebook将所有的实体及其属性、实体关系数据保存在TAO图数据库中,网站页面的数据读写请求都由TAO来