百度ai系列研究之自研图数据库BGraph

智先声

    每周一篇原创,关注5G、物联网、人工智能,跟着我坚持利用碎片时间学习
    简介
    今天我们进入知识图谱的学习,知识图谱是人工智能的一个重要分支,当前场景应用正在不断丰富。其中最核心的是图数据库,百度自研商业图数据库 BGraph 支持业界流行 Property Graph 模型和Gremlin语言(并进行扩展),在检索和实时深度连接分析上具有极高的性能。BGraph 具有高可用性,提供复制和分片技术进行分布式扩展,支持批量加载和实时更新,从而使您能够轻松构建基于图数据库的企业级应用,实时分析关联数据,挖掘数据价值。
    
    图来自百度官网
    应用场景
    欺诈检测:通过深度关联分析实时的检测欺诈模式,从而构建反欺诈应用。例如分析购买和转账关系是否有环,判断是否刷单作弊或恶意套现
    企业图谱:企业图谱应用将企业的董监高等信息以及企业之间关系存储在图数据库中,然后使用图查询全面的分析商业机会和商业风险
    公共安全:构建公共安全领域知识图谱,挖掘人物、事件、地点及其关联数据,利用专家经验和机器学习技术,支撑公安机关开展嫌犯追踪、案件分析和重大事件预警等工作
    智能运维:智能运维平台将网络设备和服务关联等信息存储在图数据库中,可以通过图查询和图计算来规划路由、诊断故障和收敛报警等
    技术特点
    高性能:自研的图存储和计算引擎,针对检索和深度连接分析做优化,并用C++ 实现,具有毫秒级查询响应,并能支持数万的QPS
    高扩展:能支持数亿级顶点的图数据,能通过分片和副本分布式可扩展,满足业务的快速增长
    高可用:BGraph 支持多实例副本,具有实时容错能力,单实例的故障不会影响查询服务,旨在提供超过 99.99% 的可用性
    开放性:支持业界流行的 Property Graph 数据模型和 Gremlin查询语言,并对Gremlin进行扩展,支持特色的高性能图算法
    常见图数据库
    Neo4j是一个流行的图形数据库,它是开源的。最近,Neo4j的社区版已经由遵循AGPL许可协议转向了遵循GPL许可协议。尽管如此,Neo4j的企业版依然使用AGPL许可。Neo4j基于Java实现,兼容ACID特性,也支持其他编程语言,如Ruby和Python。
    FlockDB是Twitter为进行关系数据分析而构建的。FlockDB迄今为止还没有稳定的版本,对于它是否是一个真正的图形数据库,尚有争议。FlockDB和其它图形数据库(如Neo4j、OrientDB)的区别在于图的遍历,Twitter的数据模型不需要遍历社交图谱。尽管如此,由于FlockDB应用于Twitter这样的大型站点,以及它相比其它图形数据库的简洁性,仍然值得我们值得关注。
    AllegroGrap是一个基于W3c标准的为资源描述框架构建的图形数据库。它为处理链接数据和Web语义而设计,支持SPARQL、RDFS++和Prolog。
    GraphDB是德国sones公司在.NET基础上构建的。Sones公司于2007年成立,近年来陆续进行了几轮融资。GraphDB社区版遵循AGPL v3许可协议,企业版是商业化的。GraphDB托管在Windows Azure平台上。
    InfiniteGraph基于Java实现,它的目标是构建“分布式的图形数据库”,已被美国国防部和美国中央情报局所采用。除此之外,还有其他一些图形数据库,如OrientDB、InfoGrid和HypergraphDB。Ravel构建在开源的Pregel实现之上,微软研究院的Trinity项目也是一个图形数据库项目。
    百度开源的分布式图数据库。支持标准的Apache Tinkerpop Gremlin图查询语言,支持属性图,可支持千亿级规模关系数据;支持多种后端存储(Cassandra,HBase,RocksDB,MySQL,PostgreSQL,ScyllaDB);支持各类索引(二级索引、范围索引、全文索引、联合索引,均无需依赖第三方索引库);提供可视化的Web界面,可用于图建模、数据导入、图分析;提供导入工具支持从多种数据源中导入数据到图中,支持的数据源包括:CSV、HDFS、关系型数据库(MySQL、Oracle、SQL Server、PostgreSQL);支持REST接口,并提供10+种通用的图算法;支持与Hadoop、Spark GraphX等大数据系统集成。
    免责声明:
    本公众号为个人研究专题学习分享,非商业公众号无任何商业目的,如果文章内容有侵权或者非法信息,请立即与本号联系删除谢谢