JanusGraph:能撑住几十亿节点边的图数据库
文章目录JanusGraph能撑住几十亿节点边的图数据库1、 这玩意儿是干嘛的2、 为什么要用它3、 它的能力在哪一层4、 安装使用教程5、 适合哪些人用JanusGraph能撑住几十亿节点边的图数据库JanusGraph 在 GitHub 上已经拿到 5,807 Star 了。这是一个开源的分布式图数据库专干一件事在多机集群上存 billions 量级的图数据支持复杂遍历和分析查询。1、 这玩意儿是干嘛的图数据库的结构是顶点和边每条边都能带属性。社交关系、知识图谱、欺诈检测、网络拓扑这类东西用关系表去join 会非常痛苦图数据库直接沿着边走就完事了。JanusGraph 写起来是事务型的可以承载几千个并发用户在线跑复杂遍历。底层存储可以挂 HBase、Cassandra、Bigtable索引走 Elasticsearch、Solr、Lucene。说白了它本身只是个引擎存储和索引插件化外挂。2、 为什么要用它做图查询的人都会撞到几个墙。单机图数据库撑不住大图几亿条边加进去内存直接爆。事务型和OLAP分析查询混在一起互相打架。JanusGraph 解决的方式是把存储和计算拆开。你用 Cassandra 存顶点和边用 Elasticsearch 做全文检索再独立的 Spark 去跑分析。查询接口是 Gremlin走 Apache TinkerPop 那套标准写法跟大部分图数据库一致迁移成本不算高。它本身就是个分支进化来的2017 年从 Titan 项目分裂出来交给 Linux Foundation现在的赞助方包括 IBM、Google、AWS 这些。3、 它的能力在哪一层副本一致性可以按节点级别配置写多读多都能调。点查询、邻域查询、路径遍历这种 transactional 工作负载响应毫秒级。OLAP 分析直接挂 Apache Spark 把图当RDD 拉过去算。广为人知的一堆公司在用eBay 做商品关联、Netflix 做内容推荐、Crédit Agricole CIB 做金融拓扑、Uber 做知识图谱、Red Hat 用在迁移评估工具 Windup 里。非金融电商即大厂。4、 安装使用教程下载 release 包或者用 Dockerdockerpull janusgraph/janusgraphdockerrun-d-p8182:8182 janusgraph/janusgraphMaven 工程里加依赖dependencygroupIdorg.janusgraph/groupIdartifactIdjanusgraph-core/artifactIdversion1.1.0/version/dependency连上 Gremlin Console 就能跑查询。一个最简的图graphJanusGraphFactory.open(conf/janusgraph-cql-es.properties)ggraph.traversal()g.addV(person).property(name,alice).next()g.V().has(person,name,alice)存储后端切 Cassandra、HBase、Bigtable索引切 ES、Solr、Lucene改 properties 文件就能换。5、 适合哪些人用部署已经具备 HBase 或 Cassandra 的大厂想往上叠加图查询能力。做反欺诈、推荐、知识图谱的开发团队预算允许跑一套分布式存储。依赖 Gremlin 生态、希望 TinkerPop 工具链直接复用的人。个人单机玩玩就算了这个是为分布式部署设计的几台节点起步。机器小项目小Neo4j 社区版更省心。kerPop 工具链直接复用的人。个人单机玩玩就算了这个是为分布式部署设计的几台节点起步。机器小项目小Neo4j 社区版更省心。