Neo4j - 为什么需要图数据库

Neo4j - 为什么需要图数据库

随着技术的发展,我们对数据的需求已经不再局限于对数据本身的获取了,我们还需要获取数据与数据间的关系(也就是连接数据)。

简单地说,我们可以说图数据库主要用于存储更多的连接数据(因为图结构相比其他数据结构而言,能保存更多的数据间的关系)。

如果我们使用 RDBMS 数据库来存储更多连接的数据,那么它们不能提供用于遍历大量数据的适当性能。 在这些情况下,Graph Database 提高了应用程序性能。

如今,大多数社交网络应用程序(如Facebook,Google +,LinkedIn,Twitter,Yammer 等)和视频托管应用程序(如 Google YouTube,Flickr,Yahoo Video等)都在使用更多连接的数据。

我们将观察什么是连接数据? 以及这些应用程序如何与某些实时应用程序存储数据。

方案1:Google+

使用 Google+(GooglePlus)应用程序来了解现实世界中 Graph 数据库的需求。 观察下面的图表。

在这里,我们用圆圈表示了 Google+应用个人资料。

在上图中,轮廓"A"具有圆圈以连接到其他轮廓:家庭圈(B,C,D)和朋友圈(B,C)。

再次,如果我们打开配置文件"B",我们可以观察以下连接的数据。

像这样,这些应用程序包含大量的结构化,半结构化和非结构化的连接数据。 在 RDBMS 数据库中表示这种非结构化连接数据并不容易。

如果我们在 RDBMS 数据库中存储这种更多连接的数据,那么检索或遍历是非常困难和缓慢的。

所以要表示或存储这种更连接的数据,我们应该选择一个流行的图数据库。

图形DBMS非常容易地存储这种更多连接的数据。 它将每个配置文件数据作为节点存储在内部,它与相邻节点连接的节点,它们通过关系相互连接。

他们存储这种连接的数据与上面的图表中的相同,这样检索或遍历是非常容易和更快的。

方案2:Facebook

利用 Facebook 应用程序了解现实世界中 Graph 数据库的需求。

在上面的图中,Facebook Profile"A"已经连接到他的朋友,喜欢他的一些朋友,发送消息给他的一些朋友,跟随他喜欢的一些名人。

这意味着大量的连接数据配置文件A.如果我们打开其他配置文件,如配置文件B,我们将看到类似的大量的连接数据。

**注-**通过观察上述两个应用程序,它们有很多更多的连接数据。 它是非常容易存储和检索,这种更连接的数据与图形数据库。

相关推荐
cui_ruicheng8 小时前
MySQL(四):数据类型与字段设计
数据库·mysql
皮皮学姐分享-ppx8 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
闪电悠米10 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
DIY源码阁11 小时前
JavaSwing航班订票管理系统 - MySQL版
数据库·mysql
浪客灿心12 小时前
项目篇:模块设计与实现
数据库·c++
流星白龙13 小时前
【MySQL高阶】26.事务(1)
数据库·mysql
三十..14 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶14 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
努力努力再努力wz15 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
JdSnE27zv15 小时前
Qt 操作SQLite数据库
数据库·qt·sqlite