第三十九期:原生图数据库的15条规则

不妨看一下原生图形数据库的15条规则。就像复杂的系统网格或空中交通管制图,图形数据库用节点和连接组成的网络(名为标记属性图)来表示。节点显示为圆形或正方形,代表人员、产品、公司或订单等实体。

 

就像复杂的系统网格或空中交通管制图,图形数据库用节点和连接组成的网络(名为标记属性图)来表示。节点显示为圆形或正方形,代表人员、产品、公司或订单等实体。

在Neo4j中,数据库节点之间的连接名为关系,那些关系与它们连接的节点一样重要。

每个关系都是定向的,知道开始节点和结束节点,而每个节点知道与之存在入站或出站关系的所有其他节点——这种优势名为免索引邻接。

原生图数据库的15条规则

原生图形存储和处理

但是属性图模型不仅仅是图形,它实际上描述了你如何访问和查询数据库中的信息。

为了最大限度地提高效率和性能,图形数据库平台必须存储和访问出现在数据库属性图中的数据。采用这种方法的数据库平台名为原生图形数据库。

非原生图形数据库付出的代价

对于连接、复杂或不断变化的数据集而言,非原生图形数据库方法因性能、完整性、易用性和可扩展性方面的风险而存在固有的缺陷。

关系数据库附加在额外的处理层上,这些处理层将图形查询转换为底层数据库技术使用的基于关系表的存储和处理模型。结果是性能和应用程序响应速度大大降低,常常导致图形应用完全无法使用。

大多数NoSQL数据库技术添加了类似的转换层,创建图形应用软件时效率低下,再次导致性能下降,甚至可能导致图形查询结果损坏或失败。

原生图形数据库的15条规则

图形数据库管理系统必须完全通过原生数据存储和图形处理方法来建模、管理和访问数据及其关系。想成为原生图形DBMS,一项技术必须符合这些基本规则。

关系数据库和NoSQL数据库因在非图形数据上添加图形功能而违反规则,饱受性能、延迟、一致性和数据损坏等问题的困扰。

1. 原生存储和建模。以关系图的形式存储和建模数据,而不是采用行和列、索引记录或任何其他结构的形式。

2. 原生图形管理。完全通过原生图形功能,而不是通过位于非图形存储或处理基础上的图形逻辑层来管理数据和关系。

3. 一等公民的关系。将图形数据元素之间的关系视为一等公民的数据库元素,附带图形数据库引擎使用的方向和量化属性。

4. 实时可用性。实时查询数据,不管其底层关系的数量或复杂性如何。

5. 免索引邻接。将每个数据元素直接链接到入站和出站关系,因而每秒可以遍历数百万条记录。

6. 全面的数据管理。全面处理数据和底层关系的检索、插入、修改和删除。

7. 离散管理。添加和修改数据和关系,不必更改现有的数据库模式、数据或关系。

8. Cypher支持。全面支持Cypher,这是行业领导者积极接受的一种开放标准查询语言。

9. 非颠覆。禁止绕过openCypher或破坏图形数据库实施的完整性规则和约束来企图访问或修改数据。

10. ACID事务。确保所有事务均为ACID,即遵循原子性、一致性、隔离性和耐久性的规则,以保证图形和数据的一致性。

11. 一致的读取。确保读取和重新读取数据的用户始终看到相同的数据,除非其他用户执行干预更新。

12. 一致的写入。确保写入和更新数据的用户始终看到最新数据,除非其他用户执行干预更新。

13. 完整性独立性。将数据完整性的约束存储在图形数据目录中,而不是存储在应用程序中。

14. 数据独立性。底层图形数据存储表示或访问方法变化时,应用程序在逻辑上不受影响。

15. 无缝表示。以统一的方式存储和显示数据关系图,为用户提供数据库整个图形模型的无缝视图,不管数据存储在何处。

关系数据库技术死了吗?

这一切是否意味着关系数据库技术的时代即将结束?当然不是。

关系方法适用于拥有静态模式的表格数据,但不适用于高度关联或变化的数据集的需求。如果是通过图形数据遍历多个级别的查询(比如“朋友的朋友的朋友”查询),由此生成的大量表索引查找会使关系数据库性能降低到不可接受的程度。

形成鲜明对比的是,图形数据库使用免索引邻接,以亚秒级的响应时间遍历数百万条数据记录,即使那些查询挖掘的数据其深度有好几层。


阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[周赛第200场][Leetcode][第5477题][第5478题][JAVA][双指针][贪心]

【问题描述】[中等]5477. 排布二进制网格的最少交换次数 【解答思路】 贪心 限制条件 第一行要求末尾的0要尽量多 计算每行最后有几个0遍历交互 符合条件 第i行的末尾0的数量为n-i-1 统计交换次数第i行的末尾0的数量小于n-i-1,不符合条件 时间复杂度&#xff1a…

ubuntu异常关机,断电重启后进入紧急模式,挂载磁盘SSD失败了怎么办?(Failed mount on XXX)

解决方案: 进入/etc/fstab中保留你所有的除了必要的系统分区挂载点,这里保存了所有开机引导的时候自动挂载到linux文件系统里的设备还有分区信息,当系统启动的时候,系统会在这里读取信息并挂载到相应目录下。所有的磁盘硬盘SSD挂…

6项目启动

项目启动概述

[Leetcode][第415题][JAVA][字符串相加][双指针]

【问题描述】[简单] 【解答思路】 1. 双指针 从两个字符串最后开始处理 对齐字符串添加当前位 int c abcnt; cnt为进位超过长度的补“0” 要注意最后有可能需要处理溢出位 时间复杂度:O(max(M,N)) 空间复杂度:O(1) public String addStrings(String nu…

401 binary watch

文章题目来源于leetcode,解法学习了讨论去的解法。  问题:有一种二进制LED表。上面的4个LED灯表示小时,下面6个LED灯表示分钟。给定一个int值,写出可能表示的时间。例如输入1, Input: n 1 Return: [“1:00”, “2…

7立项申请

项目诞生的驱动因素 系统服务请求书 识别需求提出项目建议书 项目建议书内容 项目的可行性研究 如何进行项目的可行性研究 市场可行性研究 市场可行性分析注意事项 捕捉用户需求是一件困难的事 三个苹果改变世界 经济可行性 收益与成本 投入产出分析 投资分析期 纯收入 技术可行…

【数据结构与算法】数组与链表

数组的定义和特性 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表(Linear List):数组、链表、队列、栈 非线性表:树 图 连续的内存空间和相…

8构建项目组

组建项目组 组建项目组的任务 项目组架构 项目赞助人职责 项目经理的标签 项目经理的责任 项目成员的职责 案例分析 西天取经的只能架构 西天取经项目组 一个良好团队的七个要素

MySQL数据库面试题

目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引…

log双线性模型log-bilinear model简单概括

LBLM(log-bilinear model)是自然语言处理中的比较简单的模型。LBLM根据上下文的词向量来预测下一个词向量wnw_nwn​,通过对上下文词向量的一个线性组合来表示: rwr_wrw​是一个实数值词向量对于词www对于下一个词的分布计算根据wnw_nwn​预测表示和所有…

9制定项目章程

项目干系人概述 项目主要干系人 项目章程 项目章程的功能 项目章程

【数据结构与算法】栈与队列

栈 一、什么是栈? 1.后进者先出,先进者后出,这就是典型的“栈”结构。 2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。 二、为什么需要栈? 1.栈是一种操作受限的数据结构…

线性代数的本质笔记-更新ing

1. 序言 线性代数不光要会计算,还要理解掌握其几何直观。 2. 向量究竟是什么? 物理学:向量是空间中的箭头,具有长度和方向两个属性。计算机:向量是一个有序数表。比如房屋的参数信息可以根据相关属性按准许列成一个…

10项目开工会

立项启动准备 启动会的任务 如何进行项目启动

[Leetcode][第337题][JAVA][打家劫舍3][递归][动态规划]

【问题描述】[中等] 【解答思路】 1. 动态规划 第 1 步:状态定义 dp[node][j] :这里 node 表示一个结点,以 node 为根结点的树,并且规定了 node 是否偷取能够获得的最大价值。 j 0 表示 node 结点不偷取; j 1 表示…

二元随机变量函数的分布

在前面的文章记录了二元随机变量的定义、离散型二元随机变量的联合分布律/联合概率密度函数、边际分布律/边际概率密度函数、条件分布律/条件概率密度 ,以及对应的 联合分布函数、边际分布函数、条件分布函数。这篇文档介绍二元随机变量函数的分布。 二元随机变量函…

第四十期:2019年度十大Web开发趋势

本文和您一起讨论那些本年度改变软件开发行业、特别是Web开发方面的十大趋势。 如今,随着各种新趋势的层出不穷,Web和移动领域的创新不仅改变了人们、乃至整个社会的日常行为习惯、以及业务处理方式,而且也使得开发人员能够轻松、且高效地创建…

【数据结构与算法】排序 冒泡、插入、选择 O(n^2)

冒泡、插入、选择 O(n2) 基于比较 快排、归并 O(nlogn) 基于比较 计数、基数、桶 O(n) 不基于比较 一、如何分析一个排序算法? 学习排序算法的思路?明确原理、掌握实现以及分析性能。如何分析排序算法性能?从执行效率、内存消耗以及稳定性…