The invention discloses a graph database management system supporting unstructured data storage and query, which includes: a tagged Neo4j attribute graph model based on Neo4j graph database for storing structured data and non-content attribute information of BLOB, and storing the unique ID of allocated BLOB; and a BLOB data storage model supporting BLOB type, including abstract storage model and specific storage model. Type B is used to store the content of BLOB and maintain the mapping relationship between the ID of BLOB and the attribute information of BLOB. A query module is used to query the stored structured data and BLOB type data. This system can store structured data and unstructured data as BLOB type, and realize the query of these two kinds of data.
【技术实现步骤摘要】
一种支持非结构化数据存储与查询的图数据库管理系统
本专利技术涉及大数据、数据库、分布式系统
,提出一种支持非结构化数据存储与查询的图数据库管理系统。
技术介绍
一般情况下,使用传统的关系型数据库来存储可以表现为二维形式的结构化数据,而结构化数据的存储和查询相关的技术非常成熟。但是随着数据时代的发展,数据的形式越来越复杂。在实际应用之中,出现了许多有自描述结构的半结构化数据和没有固定结构的非结构化数据,毫无疑问,这种数据的扩展性非常好,可以自由表达许多有用的信息。但是因为其格式上的自由性,如何存储和管理这种数据成为一个难以解决的问题,传统的关系型数据库系统主要面向事物处理和数据分析应用领域,无法很好实现对海量的半结构化和结构化数据的存储和管理,而NoSQL,尤其是Neo4j等图数据库(GraphDatabase)技术的提出,为高效解决非结构化数据的管理和处理问题提供了新的思路。图数据库源起于欧拉和图理论,也可称为面向/基于图的数据库,它的数据模型以节点和关系来体现,也可以将信息作为节点的属性存储,支持实体间关系的快速查询。随着数据来源的增加,数据的种类变得更加丰富,现在新产生的数据中,有超过85%都是非结构化数据,但当前的大数据应用对非结构化处理的能力还比较弱(http://www.cio.com.cn/eyan/2295.html)。通常在存储非结构化数据时,都将其存储为二进制大对象(BLOB:BinaryLargeObject)。虽然如此,但是在传统关系型数据库中存储BLOB对象仍然有诸如效率低下,检索不便等许多不便之处。此外,在很多应用场景下,对 ...
【技术保护点】
1.一种支持非结构化数据存储与查询的图数据库管理系统,包括:一基于Neo4j图数据库的带标签的Neo4j属性图模型,用于存储结构化数据和BLOB的非内容的属性信息,该结构化数据包括文本型、布尔型、数值型、时间型,该BLOB的非内容的属性信息包括BLOB类型数据的长度、Mime类型和128位的摘要,还存储分配BLOB的唯一ID;一支持BLOB类型的BLOB数据存储模型,包括一抽象存储模型和一具体存储模型;该抽象存储模型以本地文件系统或ceph分布式文件系统实现,用于存储BLOB的内容,并通过BLOB的ID与BLOB的属性信息实现映射;该具体存储模型以本地文件系统实现,通过文件存储方式存储BLOB的内容,并通过BLOB的ID与BLOB的属性信息实现映射;一查询模块,用于查询所存储的结构化数据和BLOB类型数据。
【技术特征摘要】
1.一种支持非结构化数据存储与查询的图数据库管理系统,包括:一基于Neo4j图数据库的带标签的Neo4j属性图模型,用于存储结构化数据和BLOB的非内容的属性信息,该结构化数据包括文本型、布尔型、数值型、时间型,该BLOB的非内容的属性信息包括BLOB类型数据的长度、Mime类型和128位的摘要,还存储分配BLOB的唯一ID;一支持BLOB类型的BLOB数据存储模型,包括一抽象存储模型和一具体存储模型;该抽象存储模型以本地文件系统或ceph分布式文件系统实现,用于存储BLOB的内容,并通过BLOB的ID与BLOB的属性信息实现映射;该具体存储模型以本地文件系统实现,通过文件存储方式存储BLOB的内容,并通过BLOB的ID与BLOB的属性信息实现映射;一查询模块,用于查询所存储的结构化数据和BLOB类型数据。2.如权利要求1所述的一种支持非结构化数据存储与查询的图数据库管理系统,其特征在于,还包括一数据类型辨别模块,用于判断接收的数据类型,若该数据为结构化数据,则存储于Neo4j属性图模型中;若该数据为BLOB类型数据,则将BLOB对应的ID和BLOB的非内容的属性信息存储于Neo4j属性图模型中,将BLOB的内容存储于BLOB数据存储模型中。3.如权利要求1所述的一种支持非结构化数据存储与查询的图数据库管理系统,其特征在于,还包括一BLOB属性信息提取模块,用于从数据文本中提取BLOB的属性信息。4.如权利要求1所述的一种支持非结构化数据存储与查询的图数据库管理系统,其特征在于,所述查询模块运行Cypher语言。5.一种支持非结构化数据存储与查询的图数据库管理系统的构建方法,步骤包括:将基于Neo4j图数据库的带标签的属性图模型作为Neo4j属性图模型;基于Neo4j图数据库的带标签的属性图模型,修改Neo4j的原代码,通过getRecord()方法和setRecord()方法来获取值和设定值;在Neo4j的原代码的PropertyType中增加BLOB类型的支持,实现读值和返回所加锁数目...
【专利技术属性】
技术研发人员:沈志宏,周园春,赵子豪,
申请(专利权)人:中国科学院计算机网络信息中心,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。