图数据库是用于做什么的?


图数据库是下一个大趋势 。首先 。图数据库是一个产品 。但成为产品前 。经历了很长时间的理论期 。比如欧拉图其实已有超过 200 年历史 。数学理论很完整 。在图中有很多经典算法 。像这两个点之间最短路径是?物流该怎么去优化?社区该怎么划分?它已有很多现成、成熟的算法和科学理论 。但从理论到工业界的产品 。这里一直存在巨大空白 。
直到 2002 年时 。出现一家公司 。做了第一代“图数据库” 。但他们不想把数据打乱 。放到几个表里 。而就想存成一个真正的图 。所以一个词叫 Native(汉语翻译成“原生图”) 。就是说:我就是真正用一种图的数据结构来存图 。这样我性能会好很多 。
但因为是 2002 年前的老技术 。那时还没有大数据概念 。还没有分布式系统的进展 。这家公司做的就是单机版 。数据只能在一台机器里跑 。你数据量一大 。它就没办法 。但这个公司十几年来就做这么一件事 。然后不断教育市场 。它现在还很有名 。叫 Neo4j 。这是图数据库一代 。也叫图 1.0 。
然后大概 6、7 年前 。因为有 hadoop/MapReduce 和其他开源的分布式系统 。又有人做了些开源工具 。做了些分布式图数据库 。相当是有了一个捷径:你不用从头到尾做一个图数据库了 。我用现有分布式存储系统来存数据 。但在上头 。我做个中间件 。模仿一下图的 API 。然后给终端用户终端开发者一个图的 API 概念 。比如说:我朋友的朋友是谁?朋友是谁有哪些类型的节点?有哪些类型的边?这样就号称可以存很多数据 。不受一台机器限制 。但缺点是性能差 。整个过程很慢 。
也就是说:第一种性能好 。但数据量一大 。就没办法;第二种是多机版 。它跑得过来 。但性能差 。没实时处理数据的能力;之后是图 3.0 。像全球首家实时图分析平台 TigerGraph 在干的事 。
图 3.0 需要设计既是分布式、又是原生图 。跟第一代一样 。存储全是自己做 。这样性能好 。但设计时又是分布式的 。所以数据量大也没问题 。1 台或几十台机器去跑 。没有限制 。你都可以跑 。这样就可以解决一些数据量超级大的公司 。比如以前像支付宝 。“单机版”不可能有能力处理 。因为数据量实在太大 。但是如果你突破到“多机版” 。性能还非常好 。就解决了很多以前根本没法用图数据库的一些应用场景 。
简单说 。图数据库是大数据能给到客户最多价值的一个方向 。也是行业发展的新方向 。以前能从数据挖掘里看到的商业价值、洞察 。可能只是将来用“深度链接”分析能得到的冰山一角 。
【图数据库是用于做什么的?】以上内容参考硅发布关于图数据库的跨境直播《Uber 和蚂蚁金服的共同点?》 。

    推荐阅读