图数据库游记

news/2025/2/13 19:00:28/

图数据库游记

起因

似乎一直都想有这样一种工具,能够将所学到的知识和生活中的数据都表示和存储在计算机里面,并且能够在合适的时候调出来进行对比并且连接不同的领域发现数据之间的潜在联系.图数据库也是几年前听说过的,当时还以为是这个图指的是位图bitmap,实则指graph,最近有一点时间,就开始查找各种资料.

经过

nosql开始我找了一些排名之类的数据,然后找到一些nosql数据库开始玩,没有找到方便windows 下载的,于是选择装再虚拟机上.第一个找到的是redis,看了它的get started和tutorial部分,发现这个东西不是我想的那样,然后又去看其它的数据库才发现,redis被称为键\-值数据库所以想json这种东西都只能序列化之后再存进去.然后我开始查找图数据库,找到有orientdb,挺喜欢它的名字,这个东西挺复杂,并且是用的类似SQL的查找语言,SQL是我认为的冗余度很高的一种语言,虽然有个match语句,然后它的文档不太好,一些东西也很奇怪,比如edgelink的概念我就一直搞不懂.还有一条命令CREATE LINK这个命令,一直没看懂什么意思,看了好久才发现,这个东西是在做rdbmsorientdb的迁移时用到的,而且这个命令似乎还有bug.其实它的server也有bug,我"CTRL-C"之后它就卡住了.不过这个东西是一个多模型的数据库,除了Graph也支持Document存储,也就是可以存JSON格式半结构化的数据,可以递归.大约玩了一天半的orientdb之后某一天的晚上看到有人说(非原话)

orientdb没人维护了,在被sap收购之后,主要开发这去搞arcadedb了,neo4j比较流行,用的人比较多.

然后开始玩neo4j,开始玩了之后发现,这个数据库有配套的书,找到之后翻了翻,这书的前几章满溢着对图数据库的赞美之词,然后我发现这个cypher查询语言真的挺好,简洁不费手,明了不费眼.然后neo4j的帮助和文档比orientdb的要友好的多.有那么短短的一段时间我真的感觉neo4j真的好棒,直到…,我发现这个玩意community版本不能创建新的数据库,不能重命名,那是我真的觉得很xxxx,还有一个问题是,它的browser的data information部分的labels relationship types 和 property keys的我已经删除所有数据(match(n) detach delete n)之后不会消失.这真的能逼死强迫症.看到那里有一长串的垃圾数据,还不能清除掉,我真的觉得可笑和恶心.还有一个诡异的地方(虽然我知道计算机是"绝对的",不会有这种玄学问题),一段时间后labels 和relationship types 可以在引用它的节点和边的数量自动归0之后自动消失,但是property keys还是保存原样,另外不像orientdb,它不支持文档的存储,不支持嵌套.于是我又尝试了arcadedb,因为在某处看到它支持cypher,确实它比orientdb要好多了,但是发现只是部分支持cypher,并且似乎没有看到javascript的接口,只有java和各种图数据查询语言,以及一些http之类的接口,并且,正当我快结束实验的时候,运行一些简单的命令竟然卡住了.

结果

果然只有依靠自己了,不过自己是靠不上的,所以,暂时不去尝试新的图数据库了.但是可以学学cypher之类的东西.

测试

我把open beer导入到neo4j里了,导入信息如下.

Added 7467 labels, created 7467 nodes, set 40933 properties, created 14908 relationships, completed after 203209 ms.

其中

match(n:Beer) return count(n)
5901
match(n:Style) return count(n)
141

尝试在两个数据库的浏览器接口里运行命令

	match(n:Beer),(s:Style) return n
`
`arcadedb` 的结果 `Returned 500 records in 51535ms`, `neo4j`不主动报告结果,大概是4分钟的样子(用chrome网络请求显示的时间计算的),看来在我的笔记本上arcadedb要快4倍以上.

http://www.ppmy.cn/news/386893.html

相关文章

74LS273芯片介绍

74LS273是8位数据/地址锁存器,它是一种带清除功能的8D触发器 , D0~D7为数据输入端,Q0~Q7为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器。 (1&#xf…

74 系列COMS系列逻辑器件芯片功能大全

74 系列COMS系列逻辑器件芯片功能大全 74系列: 74LS00 TTL 2输入端四与非门 74LS01 TTL 集电极开路2输入端四与非门 74LS02 TTL 2输入端四或非门 74LS03 TTL 集电极开路2输入端四与非门 74LS04 TTL 六反相器 74LS05 TTL 集电极开路六反相器 74LS06 TTL 集电极开路六反…

74系列标准逻辑集成芯片分类

74系列集成电路, 按工艺特点进行划分,逻辑器件可以分为Bipolar、CMOS、BiCMOS等工艺,其中包括器件系列有: Bipolar(双极)工艺的器件有: TTL、S、AS、LS、ALS、F。(除了标准型和高速型…

74ls系列芯片的分类

最近在学数字电路,对芯片的编号不知道是什么意思:网上查了一下,记下以便日后查询: 74ls00 2输入四与非门 74ls01

java static 关键字

java 中常用的关键字有:final、static、extends、super、abstract、interface、implements。下面讲述 static 这个关键字。 static 翻译成中文静态的,java 中主要用于内存管理。 用 static 修饰的成员变量、方法、代码块、内部类是类纬度的,非…

大语言模型高质量提示词最佳实践

大语言模型高质量提示词最佳实践 一、提供更清晰的指令 使用大语言模型(类似ChatGPT、Bard等工具)的过程中,一个关键的技巧是能够给出清晰和明确的指令。大语言模型的运作方式是根据提供的输入,预测接下来应该生成什么内容。因此…

为什么袁隆平的英语这么好?这才是学到老的典范!

2021年5月22日13时07分,“共和国勋章”获得者、中国工程院院士、国家杂交水稻工程技术研究中心主任、湖南省政协原副主席袁隆平,因病逝世,享年91岁。 一晃两年过去了。袁隆平院士用一粒种子改变了世界,他的成就来自对目标的坚定追…

【Unity入门】25.零基础实现游戏Demo--神鸟大战怪兽

【Unity入门】零基础实现游戏Demo--神鸟大战怪兽 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一) 前言 经过了两个月的学习,我们也顺利的完成了入门课程,最后就用一个Demo作为我们的结课句…