订阅
纠错
加入自媒体

探索图数据库在数据资产可视化中的应用

2020-07-09 10:04
EAWorld
关注

Apache Atlas为组织提供了开放的元数据管理和治理功能,以建立其数据资产的目录,对这些资产进行分类和治理,并为数据科学家,分析师和数据治理团队提供围绕这些数据资产的协作功能。

此图为Atlas的架构图,主要包含的组件如图所示,我们主要关注于在Core组件中使用JanusGraph图数据库来存储元数据对象。Atlas采用了分布式图数据库JanusGraph作为数据存储,目的在于用有向图灵活的存储、查询数据血缘关系。默认情况下元数据存储配置为 HBase ,索引存储配置为 Solr。也可以通过构建相应的配置文件使用BerkeleyDB存储元数据存储 和使用ElasticSearch存储 Index。元数据存储用于存储元数据对象本身,索引存储用于存储元数据属性的索引,其允许高效搜索。

Atlas定义了一套atlas-graphdb-api,允许采用不同的图数据库引擎来实现api,便于切换底层存储。所以Atlas读写数据的过程可以看作就是将图数据库对象映射成Java类的过程,基本流程如下:

在Atlas中查询某一个元数据对象时往往需要遍历图数据库中的多个顶点与边,相比关系型数据库直接查询一行数据要复杂的多,当然使用图数据库作为底层存储也存在它的优势,比如可以支持复杂的数据类型和更好的支持血缘数据的读写。

JanusGraph与应用的集成,有如下两种方式:

第一种:可以把JanusGraph嵌入到应用程序中去,JanusGraph和应用程序处在同一个JVM中。应用程序中的客户代码(相对JanusGraph来说是客户)直接调用Gremlin去查询JanusGraph中存储的图,这种情况下外部存储系统可以是本地的,也可以处在远程。

第二种:应用程序和Janus Graph处在两个不同JVM中,应用通过给JanusGraph提交Gremlin查询给GremlinServer,来使用JanusGraph,因为JanusGraph原生是支持Gremlin Server的。(Gremlin Server是Apache Tinkerpop中的一个组件)。

下面就展示实际基于JanusGraph图数据库的可视化展现情况:

基于以JanusGraph图数据库为例,结合Atlas获取hadoop生态系统的元数据思路,未来数据资产可视化扩展对大数据的采集能力,以kafka作为消息系统,解耦生产者和消费者,图数据库作为数据处理核心,以Hbase、solr,es,zookeper等技术作为辅助手段。为数据存储,关系建立,数据血缘建立,数据快速查询提供便利。

写在最后

基于对图数据库知识的探索,图数据库在未来数据资产可视化中的应用将会是促进数据价值提升,提高企业数据资产配置效率的有效手段,企业可以通过图数据库建立企业数据资产全景图,快速搜索定位,形成有效的数据交汇,以个性化展现企业的数据资产,方便使用者获取关键信息,更好的了解数据资产的各个方面。

以上是我分享的内容以及一些不成熟的思考,希望跟大家一起探讨。

精选提问:

问1:图数据库增删改查有特定语法吗?

答:根据不同类型的图数据,所支持的语法也是不一样的。

问2:看到上面列举了四种图数据库的比较,在实际使用中,倾向于用哪个产品?为什么?

答:每个图数据库都有不同的优点和缺点,需要看产品的需求,注重哪方面的,比如说更关注于性能,更专注于扩展性等。

问3:有些公司字段依赖是自己解析sql实现的,但是我还没具体思路。。。老师能提示下吗?

答:目前是通过sql解析器对sql脚本做解析,例如sqlparser,比如说解析存储过程,perl脚本什么的。

问4:mongodb支持图数据库吗?图数据库的应用场景在哪里?

答:mongodb属于nosql数据库的一种,和图数据是不一样的。图数据库的应用场景有很多,比如最典型的知识图谱,在数据资产管理中,我认为更多的应用数据资产可视化展现,以及数据地图,数据影响/血缘分析等。

问5:生产者和消费者解耦,有啥优势?

答:生产者和消费者更多的应用在并发的过程中,可以并行的执行。把生产者和消费者当做两个独立的并发主体,不互相依赖,也就是说生产者生产完直接把数据丢到缓存中,并不需要关系消费者是否使用,而消费者也并不需要等待生产者,可以加快处理速度。

问6:不过现在市面上,还有一个产品是百度Hugegraph,您觉得这个与Neo4j和JanusGraph有什么区别和优缺点?

答:HugeGraph是基于TinkerPop,很大程度上借鉴了JanusGraph,只是再次基础上做了二次开发和封装,更加的易用。而JanusGraph可能更多的需要自己做配置。

问7:如何做传统关系型数据库数据和图数据库的数据迁移呢?

答:大部分的图数据库都会给出接口或者导出脚本,把数据库从关系型数据库迁移到图数据库上,但是导出的性能会有很大差异。现在并没有统一的标准,更多的依赖开源。

问8:如果是中小型企业做基于工商数据的图数据库,在学习成本及硬件,软件成本上。市面上这几种图数据库有优先级么?

答:个人认为,在关注于学习成本、软件成本、易用性等方面考虑的话,推荐使用收费的软件,不推荐使用开源的软件,目前企业版收费的有Neo4j,ArangoDB等,项目成熟,社区活跃,文档也很成熟。企业学习部署更方便。

<上一页  1  2  3  4  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号