Fil*_*und 19 graph neo4j graph-databases titan
如果有人在另一个数据库之上构建数据库,比如twitter已经完成,那么该数据库是否会继承底层数据库的限制和低效?
我对titan db(http://thinkaurelius.com)特别感兴趣,因为他们声称支持跨节点有效地分割数据集.
他们声称支持跨节点分发数据,因为cassandra的效率.然而,neo4j声称他们不在节点之间分配数据,而是在每个节点上复制整个数据集的原因是因为任何离开一个节点的图遍历,因此必须移动到以太网网络,这太慢了要切合实际.
由于cassandra不了解图形,因此无法优化以在一个节点上保持图形遍历.因此,大多数图遍历将跨越节点边界.
泰坦是否声称跨节点有效扩展?
小智 19
Titan确定底层存储后端的密钥排序顺序(Cassandra的BOP,HBase的默认值),然后将id分配给顶点,以便分配给同一分区块的顶点具有分配给同一物理机器的ID.换句话说,Titan"理解"底层存储后端如何分配数据并使用利用此感知的图分区技术.Titan使用半自动分区,其中包含领域知识.
在Pearson基准测试(http://arli.us/edu-planet-scale)中,图表根据大学进行划分,这是该特定数据集的近似最佳划分标准.如果没有分区,扩展到1200亿边缘几乎是不可能的.
Titan建立在成熟技术(用于扩展,持久性,热备份,可用性,灾难恢复等)的基础之上,同时在图层上进行创新.这与Twitter的Flock和Facebook的Tao所采取的路线相同.虽然这意味着Titan在非常深的遍历中速度较慢,但它确实允许Titan扩展到非常大的图形或非常多的并发事务(读取和写入).