1. 相关背景
这是Google发表于2010年的论文, 描述了在分布式环境下如何执行图算法的一些思路. 包括最短路径, 最小连通图等等. 其后CMU的GraphLab实现了一个基本的开源版本, Spark GraphX和Apache Giraph接着跟进, 实现了相关的图算法. 这里需要注意的是CMU的GraphLab不是简单的实现Pregel论文, 而是魔改版
这两个图计算方案, 联合DataStax共享的图存储方案, 在 Apache Tinkerpop管理下统一成整体图解决方案, 这个项目就是Titan. 很可惜的是该项目已经实际上死亡了.
由于早期的Titan非常强的依赖Cassandra的一些特性, Cassandra的商业公司DataStax干脆停止了1.0的开发, 直接发布商业版的DataStax DSE Graph解决方案. 不同于neo4j, DSE面向的是1B Vertex + 1T Edge的规模来设计的.
Titan在国内有一个非常强的商业版分支由Huawei维护
在开源领域, 以Google的一部分工程师为核心, 开始在Titan的残骸上构筑Janus Graph开源解决方案.
Janus是罗马的门神, 而Titan的开发代号是Aurelius, 是罗马皇帝名
2. 理想中需要介绍的部分
- Pregel的基本思想
- Page Rank, Shortest Path, Bipartite Matching, Semi-Clustering算法基于Pregel的实现
- 图存储, 基于Titan1.0中HBase分支的解决方案
- Spark GraphX支持的基本算法
- Spark GraphX中Graph基于RDD的实现
- Spark GraphX中DAGScheduler对Pregel的实现
3. 题外话 Tinkerpop
这是一个非常好玩的项目

它的每个组件都有一个对应的卡通形象, 负责用户UI的绿色哥布林, 负责用户权限的黄色机器狗, 负责存储的红色机器人 etc
当前版本是3.x.x, 从1.x.x起, 每个动画角色有配套的漫画, 背景设定, 随着项目进展, 有剧情, 甚至有这个几个机器人可以进行合体的必杀技设定....真的是非常好玩的开源项目.
网友评论