图数据库入门

本文介绍了图数据库的基本概念、优势,特别聚焦于Neo4j、Dgraph两个主流图数据库的特性、安装部署、查询语法以及应用场景。 Neo4j以其ACID事务、高性能和友好的Cypher查询语言脱颖而出,而Dgraph则以分布式、低延迟和GraphQL支持吸引眼球。此外,还对比了两者的特点,并提及了JanusGraph作为另一种选择。
摘要由CSDN通过智能技术生成

1,图数据库简介

随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。

在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少巨头,如Oracle、MySQL和MSSQL,它们也被称为关系数据库管理系统(RDBMS)。然而,随着关系数据库使用范围的不断扩大,也暴露出一些它始终无法解决问题,其中最主要的是数据建模中的一些缺陷和问题,以及在大数据量和多服务器之上进行水平伸缩的限制。同时,互联网发展也产生了一些新的趋势变化:

  • 用户、系统和传感器产生的数据量呈指数增长,其增长速度因大部分数据量集中在Amazon、Google和其他云服务的分布式系统上而进一步加快;
  • 数据内部依赖和复杂度的增加,这一问题因互联网、Web2.0、社交网络,以及对大量不同系统的数据源开放和标准化的访问而加剧。

而在应对这些趋势时,关系数据库产生了更多的不适应性,从而导致大量解决这些问题中某些特定方面的不同技术出现,它们可以与现有RDBMS相互配合或代替它们——亦被称为混合持久化(Polyglot Persistence)。数据库替代品并不是新鲜事物,它们已经以对象数据库(OODBMS)、层次数据库(如LDAP)等形式存在很长时间了。但是,过去几年间,出现了大量新项目,它们被统称为NoSQL数据库(NoSQL-databases)。
数据库发展趋势

1.1 什么是图?

图由两个元素组成:节点和关系。

每个节点代表一个实体(人,地,事物,类别或其他数据),每个关系代表两个节点的关联方式。这种通用结构可以对各种场景进行建模 - 从道路系统到设备网络,到人口的病史或由关系定义的任何其他事物。

1.2 什么是图数据库

图数据库(Graph database) 并非指存储图片的数据库,而是以 图 这种数据结构存储和查询数据。

图形数据库 是一种在线数据库管理系统,具有处理图形数据模型的创建,读取,更新和删除(CRUD)操作。

与其他数据库不同, 关系 在图数据库中占首要地位。这意味着应用程序不必使用外键或带外处理(如MapReduce)来推断数据连接。

与关系数据库或其他NoSQL数据库相比,图数据库的数据模型也更加简单,更具表现力。
图形数据库是为与事务(OLTP)系统一起使用而构建的,并且在设计时考虑了事务完整性和操作可用性。

1.3 图数据的优势

图数据库并不是用来取代关系型数据库的,而是针对一些复杂类的查询提供另外一种解决思路。图数据库有其特定的应用场景,而这些特定的应用场景如果使用 MySQL 数据库等往往会有巨大的性能开销。

  • 更快的数据库操作。当然,有一个前提条件,那就是数据量较大,在MySql中存储的话需要许多表,并且表之间联系较多(即有不少的操作需要join表)。
  • 数据更直观,相应的SQL语句也更好写(Cypher,gremlin语法与传统SQL有很大不同)。
  • 更灵活。不管有什么新的数据需要存储,都是一律的节点和边,只需要考虑节点属性和边属性。而MySql中即意味着新的表,还要考虑和其他表的关系。
  • 数据库操作的速度并不会随着数据库的增大有明显的降低。这得益于Neo4j特殊的数据存储结构和专门优化的图算法。
    关系型数据库模型

要使用关系数据库创建一个项目部门组织的存储结构,必须为项目、部门、组织、人员单独创建表结构,各个表结构之间通过外键约束相互关联,对于多对多的复杂关系还必须创建“中间表”(如Department_Members表),通过E-R图可以看出,各个表结构中创建了大量的主键、外键列,并创建了中间表来维护复杂关系,这消耗了大量的系统资源。
图数据库模型
如果采用图数据库创建一个项目部门组织的存储结构则容易得多,只需要为项目、部门、组织、人员创建节点,并且节点不需要主键、外键,也不需要中间表,只保留必要的属性即可。各个节点直接通过关系指向来表达节点之间的复杂关系。使用图数据库可以更加简洁、明确地描述数据间的复杂关系

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值