图数据库浅谈

图数据库分为两大类:native graph和non-native graph

native graph:

数据只能存放在一台机器上。不支持分片。如果你的数据量非常大,Neo4j是扛不住的。
它的优点是读写速度都非常快,查关系也非常快。
典型代表是Neo4j。网上查了很久,Neo4j的团队认为你应该只把最重要的数据存到图里。Neo4j不愿意牺牲速度。因为目前图数据库分片是一个NP complete的问题。他们说与其实现一个naive(幼稚的)分片,不如把速度搞好。显然这是冲着数据分析来的。速度上来了,配合spark,分析数据就更快了,这样才有可能挖掘出更有价值的数据。

non-ative graph:

数据可以存储在多台机器上。支持分片(partition/sharding)。这个自然是冲着大数据来的。好处是不用担心一台机器硬盘的容量不够了,坏处是牺牲了性能。
这一类的图数据库有titan,orly,cayley。

titan的backend可以配置成Hbase或者Cassandra,可以做到分片。

cayley如果backend配置的是分布式的mongo的话,也能做到分片。

orly不依赖第三方backend。直接做到分片,并且声称性能还很好。

虽然支持分片,但其实titan和cayley只是一个graph layer。因为他们底层依赖其他存储系统。既然是graph layer,有人就质疑说titan和cayley能否称得上真正的图数据库。titan和orly做的挺好,都被收购了,然后就死掉了。github上很久没人更新了。目前也只能寄希望于cayley了。这个是go语言写的。社区也很活跃。

插一段废话:
我不懂大数据,更不懂数据挖掘。只能谈谈自己的一点理解。
零散的数据没什么价值,但是一旦把数据关联起来,即便是看起来是垃圾数据也可能会得出非常有价值的结论。怎么关联?抽取实体,建立关系,抽象出模型。据说行话叫构建知识图谱。然后从关联的数据量找出有价值的东西。这需要对数据极度敏感,智力还要好。这种活我们这些小程序员可干不了,得数学家和科学家来。科学家是大朋友,我们只是小朋友。小朋友可以很容易培养,科学家却不可多得。李开复说的,我觉得说的很有道理。我们能做什么?做大数据采集。做爬虫也好,做大数据存储也好都是为数据挖掘的人服务的。哦,对了,怎么挖掘数据?我也不知道,大概是机器学习,深度学习吧。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值