当前位置:  开发笔记 > 编程语言 > 正文

数据库系统是否更适合社交网络?

如何解决《数据库系统是否更适合社交网络?》经验,为你挑选了1个好方法。

这个问题的灵感来自于文章" 为什么Facebook,Digg和Twitter如此难以扩展? "在highscalability.com上

那么哪些数据库系统(无论多么模糊)能够更好地处理这类数据呢?



1> thobe..:

拥有一个数据库系统,其中数据模型是为您尝试表示的数据结构定制的,这通常是有利的.社交网络非常适合Graph数据库,例如Allegro Graph,Neo4j等.

有一个在Neo4j的博客好文章就如何代表社交网络的图形数据库,用Neo4j的例子.

图形数据库的好处是存储数据,以便遍历实体之间的连接是一个非常快速的操作,允许您快速遍历复杂的网络.在关系数据库的当前实现中,这些操作通常是(最多)昂贵的连接操作.与关系数据库一样,图形数据库在向外扩展到多个硬件节点时仍然存在轻微问题.然而,对于图形数据库而言,对于社交网络类型的数据的关系数据库,对多个硬件节点的需求应该少得多,单个机器上的几十亿个节点都没有问题.扩展到多个硬件节点是键值存储发光的地方,因为键值存储中的实体彼此完全隔离.这里的问题是社交网络中没有任何东西被隔离,这意味着要模拟连接需要对数据库进行多次查询,每个实体一次.这将是缓慢的,特别是对于朋友的朋友类型的查询,其中您只发现每个查询的一个级别的朋友.

免责声明:我是Neo4j团队的成员.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有