CN112000851B - 一种键值模型、文档模型和图模型数据的统一存储方法 - Google Patents
一种键值模型、文档模型和图模型数据的统一存储方法 Download PDFInfo
- Publication number
- CN112000851B CN112000851B CN202010883469.XA CN202010883469A CN112000851B CN 112000851 B CN112000851 B CN 112000851B CN 202010883469 A CN202010883469 A CN 202010883469A CN 112000851 B CN112000851 B CN 112000851B
- Authority
- CN
- China
- Prior art keywords
- document
- model
- edge
- class
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种键值模型、文档模型和图模型数据的统一存储方法,包括:利用文档模型对数据的描述能力,建立键值模型到文档模型的映射以及图模型到文档模型的映射;键值模型和文档模型的统一存储包括:设计Class类,Class类实例化后的普通表存放文档模型的记录;图模型和文档模型的统一存储方法包括:设计Vector类和Edge类,Vector类实例化后的顶点表存放文档模型的记录,Edge类实例化后的边表存放文档模型的记录;键值模型、图模型和文档模型的统一存储包括:Vector子类和Edge子类与父类Class类是继承关系,Class类支持键值模型和文档模型,Vector类和Edge类支持顶点和边,使用Vector类和Edge类实例化的顶点和边可以同时存储键值模型、文档模型和图模型的数据。
Description
技术领域
本发明涉及大数据技术,特别涉及一种键值模型、文档模型和图模型数据的统一存储方法。
背景技术
随着大数据应用的不断发展,数据库从传统的关系型数据库(RDMS)发展到非关系型数据库(NoSQL数据库)。NoSQL数据库依据不同的数据模型可分为多种类型,包括列(Column)数据库、键值(Key-Value)数据库、文档(Document)数据库和图(Graph)数据库等。不同的数据模型采用的不同存储方法,且适用于不同的应用场景。例如,关系模型是用固定的二维表的形式表示实体和实体间联系的数据模型,所有信息都表示为关系中的数据值。关系模型一般使用行式存储。关系型数据库包括SQL Sever,DB2,Oracle等。
键值模型按照键值对的形式进行组织和索引数据,即由键和值固定结构组成,k表示键,v表示值,k/v表示一对键值,n对键值的聚合表示为{k1/v1,k2/v2,k3/v3,...kn/vn}。键值数据库提供基于键值的访问模式,适用数据关联性低,业务关系简单的应用,主流的产品有Redis,RocksDB等。
文档模型用于检索和管理面向文档和半结构化的数据,具有无模式的特点,不需要写入数据前确定属性名和数据类型。在文档封装和数据编码上有一些标准格式,编码包括XML、YAML、JSON和BSON,还有二进制格式(诸如PDF和MS office文档)。主流的文档数据库产品有MongoDB,Couchbase等。
图模型应用图理论组织实体之间的关系。一个图结构的构造单元主要包括:节点,即顶点和关系,即边。图具有方向,在顶点之间可存在多条边,边具有方向,边有一个起点和一个终点;图具有属性,在顶点和边上可存在属性。图模型具有强模式的特点,属性的名称和数据类型都是在数据写入前确定的。主流的图数据库有Neo4j,Giraph等。
现有的大数据应用通常需要同时访问多种模型的数据,导致单一的数据库系统难以满足数据规模庞大、数据类型复杂的应用场景。中国专利“CN 109144982 A多维全息数据库动态构建技术系统”通过构建逻辑业务层、数据融合层、数据源层来实现统一的数据访问平台,可统一管理多个数据模型的异构数据库系统,包括关系数据库、键值库、文档数据库等,以实现对多种数据库模型的统一访问,满足不同应用服务的大数据业务。
随着互联网技术的发展,各类信息数据呈指数级增长,数据呈现出海量性、异构性和多维性的特点。单一模型数据库产品不能同时支持键值、文档和图等模型的数据,在同时处理多种数据模型时需要跨库访问不同模型的数据,因此存在效率低下、数据冗余、数据不一致等问题。单一数据库系统通常不支持其他模型的数据存储和访问,例如,单一的键值模型,由于结构简单,无法同时管理文档模型和图模型数据;单一的文档模型,由于缺少顶点和边的表示方法,无法同时管理图模型数据;单一图模型,由于是面向顶点和边的设计,无法实现键值对的聚合、值的有序列表和值的嵌套结构,因此无法同时管理键值模型和文档模型数据。
中国专利“CN 109144982 A多维全息数据库动态构建技术系统”通过在多个异构的数据库之上构建逻辑业务层、数据融合层、数据源层以实现多种数据模型的统一查询和管理。各个模型的数据分别存储在物理上独立的数据库系统,在涉及多种模型的大数据应用时存在一致性管理成本高、数据夸库查询访问效率低、多数据库维护成本高、二次开发复杂等问题。
发明内容
本发明的目的在于提供一种键值模型、文档模型和图模型数据的统一存储方法,用于解决上述现有技术的问题。
本发明一种键值模型、文档模型和图模型数据的统一存储方法,其中,包括:利用文档模型对数据的描述能力,建立键值模型到文档模型的映射以及图模型到文档模型的映射;利用面向对象的继承特性实现键值模型、图模型、文档模型数据的统一存储;键值模型和文档模型的统一存储包括:设计Class类,Class类实例化后的普通表存放文档模型的记录,普通表的元数据包括:表名和普通属性,普通表的记录包括:recordID、普通属性及其值以及版本,使用普通属性及其值实现对文档数据的描述;图模型和文档模型的统一存储方法包括:设计Vector类和Edge类,Vector类实例化后的顶点表存放文档模型的记录,Edge类实例化后的边表存放文档模型的记录;键值模型、图模型和文档模型的统一存储包括:Vector子类和Edge子类与父类Class类是继承关系,Class类支持键值模型和文档模型,Vector类和Edge类支持顶点和边,使用Vector类和Edge类实例化的顶点和边可以同时存储键值模型、文档模型和图模型的数据。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,建立键值模型到文档模型的映射以及图模型到文档模型的映射包括:键值模型到文档模型的映射包括:通过文档模型对象和数组的解构,进行键值数据模型的表达,完成键值模型到文档模型映射,对于键值模型来说,表达方式分别是按对象聚合和基于对象的嵌入方式,包括:①按“对象”的组织方式进行聚合;②按“对象”的组织方式进行聚合后,嵌入到“值”中;③按“对象”的组织方式进行聚合后,嵌入到“数组”中。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,图模型到文档模型的映射包括:图G=(V,E)由一组顶点V和一组边E组成,每条边都有两个与之关联的顶点,并且边有方向性,从一个顶点出,进入另一个顶点,顶点有一组入边和一组出边,边到文档模型的映射:文档使用“名称/值”的方式描述边的出顶点和入顶点;顶点到文档模型的映射:文档使用“名称/值”的方式描述一组入边和一组出边。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,Class类实例化的普通表:普通表表名:使用“名称/值”方式描述表名;recordID:每条记录对应一个recordID,来记录的逻辑地址,数据库根据recordID查找记录;普通属性:包括属性名称、数据类型、必填属性、只读属性、非空属性、最小值和最大值或属性的其它约束条,实现对强模式的描述需求,以文档的“名称/值”方式描述属性和属性值,“名称”是属性名,“值”是属性值;版本:普通表中的文档记录以“名称/值”方式描述记录的版本。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,Edge类比Class类多两个特殊属性in和out,每条记录上必须有1个Edge类in属性和1个Edge类out属性,Edge类in属性值是边终点顶点记录的Edge类recordID,Edge类out属性值是该边起点顶点记录的recordID,以“名称/值”方式描述边的Edge类in和Edge类out属性,Edge类in和Edge类out为“名称”,Edge类recordID为“值”;Vector类比Class类多两类特殊属性Vector类in和Vector类out,每条记录上有若干个Vector类in属性和若干个Vector类out属性,Vector类in属性是一个数组,数组元素是该顶点为终点的边的recordID,Vector类out属性是一个数组,数组元素是该顶点为起点的边的recordID,以“名称/值”方式描述若干个Vector类in属性和若干个Vector类out属性,“名称”以类型+边名命名,“值”是recordID数组;Vector类实例化后的顶点表存放文档模型的记录,Edge类实例化后的边表存放文档模型的记录。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,普通表、顶点表和边表都由文档记录组成,边表比普通表多IN属性和OUT属性,顶点表比普通表多IN属性数组和OUT属性数组。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,顶点文档记录包含普通属性,顶点文档记录的IN属性数组对应一组该顶点为终点边表中边文档记录的recordID,顶点文档记录的OUT属性数组对应一组该顶点为起点边表中边文档记录的recordID。
根据本发明的键值模型、文档模型和图模型数据的统一存储方法的一实施例,其中,边文档记录包含普通属性,边文档有且只有1个IN属性,该IN属性是终点顶点文档记录的recordID,边文档有且只有1个OUT属性,该OUT属性是起点顶点文档记录的recordID。
本发明基于文档模型、键值模型和图模型的特征,设计了基于数据库、类、簇和记录的层次化统一数据模式表达方法,分别通过键值模型和图模型到文档模型的映射,并以记录为单位,实现多模型数据的统一存储,最后构建多级数据索引,实现文档、键值和图的多模型数据统一组织和管理。
附图说明
图1所示为统一存储架构的示意图;
图2为键值模型到文档模型映射图;
图3为模型到文档模型映射图;
图4为普通表、顶点表、边表和文档记录的关系图;
图5为顶点文档记录、顶点文档记录普通属性、顶点文档记录IN/OUT属性数组、边文档记录和边表的关系图;
图6为边文档记录、边文档记录普通属性、边文档记录IN/OUT属性、终点/起点顶点文档记录以及顶点表的关系图;
图7为存储策略的磁盘组件和数据组织抽象层次关系图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为统一存储架构的示意图,如图1所示,为支持多种模型的统一存储,本发明设计了一种数据组织结构,实现统一的数据模式,支持键值模型、文档模型和图模型数据的模式表达。统一数据表达逻辑结构是包括数据库(Database)、类(Class)、簇(Cluster)和记录(Record)的层次化结构。其中,数据库是访问实际存储的接口,支持对多种数据模型的统一管理;类相当于关系模型中的表或文档数据模型的集合,可以根据存放的数据类型,用于逻辑存放数据;簇提供物理或内存空间以实际存储数据;记录则是数据读/写操作的最小单元,例如文档模型中的文档。
如图1所示,统一数据模式的关键是类的实现。普通表是类(Class)的实例,系统中内置实现了类(Class)的Vector子类和Edge子类。顶点表是Vector类的实例。边表是Edge类的实例。键值模型和文档模型数据由普通表实现其数据管理;图模型数据由顶点表和边表实现其数据管理;顶点表和边表也可以支持键值和文档模型数据数据管理。
文档模型描述数据,包括:
本发明利用文档模型对数据的描述能力,分别实现键值模型、图模型到文档模型的映射。
以JSON文档模型为例进行描述,由对象和数组两种结构组成。其中,对象定义为“名称/值”的无序集合,一个对象以“{”(左括号)开始,“}”((右括号)结束。每个“名称”后跟一个“:”(冒号),后面赋予一定的“值”;各“名称/值”之间使用“,”(逗号)分隔。
数组定义为“值”的有序列表,一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
“值”可以是双引号括起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(array)。
这些结构可以相互嵌套。
表中的文档记录使用上述方式构建数据。
键值模型和文档模型的统一存储方法,包括:
(1)键值模型到文档模型的映射
通过文档模型对象和数组的解构,实现键值数据模型的表达,完成键值模型到文档模型映射。对于键值模型{k1/v1,k2/v2,k3/v3,...kn/vn}来说,模型的表达方式分别是按“对象”聚合和基于“对象”的嵌入方式,具体包括以下3种方式:
①按“对象”的组织方式进行聚合,具体如下:
例如:一组人员姓名年龄键值模型数据可以用文档模型表示为:{"张三":25,"李四":26,"王五":29},图2为键值模型到文档模型映射图,如图2所示。
②按“对象”的组织方式进行聚合后,嵌入到“值”中,具体如下:
③按“对象”的组织方式进行聚合后,嵌入到“数组”中,具体如下:
基于以上3种基本的描述方法和嵌套关系,文档模型可以实现更为复杂键值模型描述方式,最终实现键值模型到文档模型的映射。
文档模型的实现,包括:
文档模型的实现解决了键值模型和文档模型的统一存储问题。本发明设计了一种类,实现文档模型。类实例化后的普通表存放文档模型的记录。普通表的元数据包括:表名和普通属性。普通表的记录中包括:recordID、普通属性及其值、版本。使用普通属性及其值实现对文档数据的描述。
①表名:使用“名称/值”方式描述表名,例如:"@table":"Person"。
②recordID:每条记录对应一个recordID,来记录的逻辑地址,数据库根据recordID可以快速查找到这条记录,使用#和数字表示。例如,使用#100表示一条逻辑地址为100的记录的recordID,该记录中包含如下内容:"@recordID":"#100"。
③普通属性:包括属性名称、数据类型、必填属性、只读属性、非空属性、最小值和最大值或属性的其它约束条件。通过上述方式实现对强模式的描述需求。以文档的“名称/值”方式描述属性和属性值,“名称”是属性名,“值”是属性值。一条记录的属性表达如下:"name":"Jackey","telnumber":"13800138000"。当属性是描述当前文档记录与另一个文档记录的关系时,值是recordID,定义这种值类型称为链接,例如:"Isbelongto":"#60"。
④版本:表中的文档记录以“名称/值”方式描述该记录的版本。“名称”以有意义的字符串命名,版本号是一个递增的数值,作为“值”,例如:"@version":5。每次对数据的修改,版本号增加1。
图模型和文档模型的统一存储方法,包括:
(1)图模型到文档模型的映射
图G=(V,E)由一组顶点V和一组边E组成。每条边都有两个与之关联的顶点,并且边有方向性,从一个顶点出,进入另一个顶点。顶点有一组入边和一组出边。
边到文档模型的映射。文档使用“名称/值”的方式描述边的出顶点和入顶点。
顶点到文档模型的映射。文档使用“名称/值”的方式描述一组入边和一组出边。
图3为模型到文档模型映射图,如图3。
(2)文档模型的实现
发明设计了一种Vector子类和Edge子类,它们的父类是Class类。Vector类和Edge类分别实现顶点和边的特性。
Edge比Class除了普通属性之外多两个特殊属性in和out。每条记录上必须有1个in属性和1个out属性。in属性值是该边终点顶点记录的recordID。out属性值是该边起点顶点记录的recordID。以“名称/值”方式描述边的in和out属性,in和out为“名称”,recordID为“值”,一条记录的in和out属性举例如下:"in":"#100","out":"#101"。
Vector比Class除了普通属性之外多两类特殊属性in和out。每条记录上有若干个in属性和若干个out属性。in属性是一个数组,数组元素是该顶点为终点的边的recordID。out属性是一个数组,数组元素是该顶点为起点的边的recordID。以“名称/值”方式描述若干个in属性和若干个out属性,“名称”以类型+边名命名,“值”是recordID数组。一条记录上的1类入边和2类出边(共计7条边)举例如下:"in_HasHobbies":[#60,#61,#62]","out_HasVisited":[#35,#36,#37]","out_I sFromCity":[#50]。
键值模型、图模型和文档模型的统一存储方法包括:
Vector子类和Edge子类与父类Class类是继承关系。Class类实现了对键值模型和文档模型的支持,Vector类和Edge类实现了顶点和边的支持。使用Vector类和Edge类实例化的顶点和边可以同时存储键值模型、文档模型和图模型的数据。
根据上述定义,普通表、顶点表、边表和文档记录的关系,如图4所示;顶点文档记录、顶点文档记录普通属性、顶点文档记录的IN/OUT属性数组、边文档记录和边表的关系,如图5所示;边文档记录、边文档记录普通属性、边文档记录IN/OUT属性、终点/起点顶点文档记录、顶点表的关系,如图6所示。
本发明设计了一种数据库(Database)、类(Class)、簇(Cluster)和记录(Record)的层次化数据组织结构,实现统一的数据模式,支持键值模型、文档模型和图模型数据的模式表达。
利用文档模型对数据的描述能力,描述键值模型和图模型数据。
设计了一种类(Class)支持键值模型和文档模型,其子类Vector和Edge支持图模型,通过继承关系实现了Vector和Edge类的实例化对象顶点表和边表同时支持三种数据模型。
文档模型中的对象作为键值聚合的容器。
记录以文档模型为基础实现顶点表和边表,顶点和边是构建图模型的基础元素。
以表的形式对边进行了分类,表示同一类顶点与顶点关系的边数据,保存在一个边表中。
以表的形式对顶点进行了分类,表示同一类数据实体的顶点,保存在一个顶点表中。
在表的文档记录中反向对本表名进行描述。
在表的文档记录中反向对本记录逻辑地址recordID进行描述。
表中的属性及其定义和约束,实现强模式。
表中的记录是文档模型数据,实现无模式。
10和11同时具备,实现了强模式和无模式的同时支持。
在文档记录中使用recordID链接,描述与其它文档记录的关系
顶点表有无模式的特点,同一类顶点可以有不同的in和out属性,实现同一类的不同顶点可以有不同类关系。
顶点表中的in和out属性值是数组,实现一个顶点可以有多个同一类关系。
边表中的所有边数据必须有1个in和1个out属性。边的方向是单向的。双向边通过两条边实现。
通过在顶点数据中保存边的recordID,实现顶点到边的快速查找。
通过在边数据中保存顶点的recordID,实现边到顶点的快速查找。
在文档记录中对该记录的版本进行描述。
以记录为单位,实现多模型数据的存储策略。
基于同一的数据模式表达构建多级数据索引,实现多模型数据的统一组织和管理。
本发明的效果包括:
使用同一的数据表达方式,支持键值模型、文档模型和图模型数据的模式表达。
通过键值模型、图模型到文档模型的映射,实现了键值模型、文档模型和图模型数据的统一存储。
基于同一的数据模式表达构建多级数据索引,实现多模型数据的统一组织和管理。
该存储方法,同时支持无模式、强模式和两种混合使用。
实现了顶点与边之间的快速查找。
实现了记录与记录之间的快速查找。
在文档记录中快速查找到表名、本记录的逻辑地址recordID和版本号。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种键值模型、文档模型和图模型数据的统一存储方法,其特征在于,包括:
利用文档模型对数据的描述能力,建立键值模型到文档模型的映射以及图模型到文档模型的映射;
利用面向对象的继承特性实现键值模型、图模型、文档模型数据的统一存储;
键值模型和文档模型的统一存储包括:
设计Class类,Class类实例化后的普通表存放文档模型的记录,普通表的元数据包括:表名和普通属性,普通表的记录包括:recordID、普通属性及其值以及版本,使用普通属性及其值实现对文档数据的描述;
图模型和文档模型的统一存储方法包括:
设计Vector类和Edge类,Vector类实例化后的顶点表存放文档模型的记录,Edge类实例化后的边表存放文档模型的记录;
键值模型、图模型和文档模型的统一存储包括:
Vector类和Edge类与父类Class类是继承关系,Class类支持键值模型和文档模型,Vector类和Edge类支持顶点和边,使用Vector类和Edge类实例化的顶点和边可以同时存储键值模型、文档模型和图模型的数据。
2.如权利要求1所述的键值模型、文档模型和图模型数据的统一存储方法,建立键值模型到文档模型的映射以及图模型到文档模型的映射包括:
键值模型到文档模型的映射包括:
通过文档模型对象和数组的解构,进行键值数据模型的表达,完成键值模型到文档模型映射,对于键值模型来说,表达方式分别是按对象聚合和基于对象的嵌入方式,包括:
①按“对象”的组织方式进行聚合;
②按“对象”的组织方式进行聚合后,嵌入到“值”中;
③按“对象”的组织方式进行聚合后,嵌入到“数组”中。
3.如权利要求1所述的键值模型、文档模型和图模型数据的统一存储方法,图模型到文档模型的映射包括:
图G=(V,E)由一组顶点V和一组边E组成,每条边都有两个与之关联的顶点,并且边有方向性,从一个顶点出,进入另一个顶点,顶点有一组入边和一组出边,
边到文档模型的映射:文档使用“名称/值”的方式描述边的出顶点和入顶点;
顶点到文档模型的映射:文档使用“名称/值”的方式描述一组入边和一组出边。
4.如权利要求1所述的键值模型、文档模型和图模型数据的统一存储方法,其特征在于,Class类实例化的普通表:
普通表表名:使用“名称/值”方式描述表名;
recordID:每条记录对应一个recordID,来记录逻辑地址,数据库根据recordID查找记录;
普通属性:包括属性名称、数据类型、必填属性、只读属性、非空属性、最小值和最大值,实现对强模式的描述需求,以文档的“名称/值”方式描述属性和属性值,“名称”是属性名,“值”是属性值;
版本:普通表中的文档记录以“名称/值”方式描述记录的版本。
5.如权利要求1所述的键值模型、文档模型和图模型数据的统一存储方法,其特征在于,
Edge类比Class类多两个特殊属性in和out,每条记录上必须有1个Edge类in属性和1个Edge类out属性,Edge类in属性值是边终点顶点记录的Edge类recordID,Edge类out属性值是该边起点顶点记录的recordID,以“名称/值”方式描述边的Edge类in和Edge类out属性,Edge类in和Edge类out为“名称”,Edge类recordID为“值”;
Vector类比Class类多两类特殊属性Vector类in和Vector类out,每条记录上有若干个Vector类in属性和若干个Vector类out属性,Vector类in属性是一个数组,数组元素是该顶点为终点的边的recordID,Vector类out属性是一个数组,数组元素是该顶点为起点的边的recordID,以“名称/值”方式描述若干个Vector类in属性和若干个Vector类out属性,“名称”以类型+边名命名,“值”是recordID数组;
Vector类实例化后的顶点表存放文档模型的记录,Edge类实例化后的边表存放文档模型的记录。
6.如权利要求1所述的键值模型、文档模型和图模型数据的统一存储方法,其特征在于,普通表、顶点表和边表都由文档记录组成,边表比普通表多in属性和out属性,顶点表比普通表多in属性数组和out属性数组。
7.如权利要求6所述的键值模型、文档模型和图模型数据的统一存储方法,其特征在于,顶点文档记录包含普通属性,顶点文档记录的in属性数组对应一组该顶点为终点边表中边文档记录的recordID,顶点文档记录的out属性数组对应一组该顶点为起点边表中边文档记录的recordID。
8.如权利要求7所述的键值模型、文档模型和图模型数据的统一存储方法,其特征在于,边文档记录包含普通属性,边文档有且只有1个in属性,该in属性是终点顶点文档记录的recordID,边文档有且只有1个out属性,该out属性是起点顶点文档记录的recordID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883469.XA CN112000851B (zh) | 2020-08-28 | 2020-08-28 | 一种键值模型、文档模型和图模型数据的统一存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883469.XA CN112000851B (zh) | 2020-08-28 | 2020-08-28 | 一种键值模型、文档模型和图模型数据的统一存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000851A CN112000851A (zh) | 2020-11-27 |
CN112000851B true CN112000851B (zh) | 2023-03-28 |
Family
ID=73464477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010883469.XA Active CN112000851B (zh) | 2020-08-28 | 2020-08-28 | 一种键值模型、文档模型和图模型数据的统一存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000851B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800023B (zh) * | 2020-12-11 | 2023-01-10 | 北京计算机技术及应用研究所 | 基于语义分类的多模型数据分布式存储和分级查询方法 |
CN112507026B (zh) * | 2020-12-11 | 2022-12-30 | 北京计算机技术及应用研究所 | 基于键值模型、文档模型和图模型的分布式高速存储方法 |
CN114817275B (zh) * | 2022-07-01 | 2022-09-23 | 国网智能电网研究院有限公司 | 图数据库的数据读写方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636265A (zh) * | 2015-01-21 | 2015-05-20 | 广东电网有限责任公司电力科学研究院 | 一种cimxml文档的高效内存模型组织的访问方法 |
CN107491476A (zh) * | 2017-06-29 | 2017-12-19 | 中国科学院计算机网络信息中心 | 一种适用于多种大数据管理系统的数据模型转换及查询分析方法 |
CN108628951A (zh) * | 2018-04-03 | 2018-10-09 | 苏州舆图数据科技有限公司 | 基于文档模型的空间数据块状组织存储与化简压缩方法 |
CN109213820A (zh) * | 2018-08-30 | 2019-01-15 | 成都索贝数码科技股份有限公司 | 一种实现多种类型的数据库融合使用的方法 |
CN110866123A (zh) * | 2019-11-06 | 2020-03-06 | 浪潮软件集团有限公司 | 基于数据模型构建数据图谱的方法及构建数据图谱的系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2541231A (en) * | 2015-08-13 | 2017-02-15 | Fujitsu Ltd | Hybrid data storage system and method and program for storing hybrid data |
-
2020
- 2020-08-28 CN CN202010883469.XA patent/CN112000851B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636265A (zh) * | 2015-01-21 | 2015-05-20 | 广东电网有限责任公司电力科学研究院 | 一种cimxml文档的高效内存模型组织的访问方法 |
CN107491476A (zh) * | 2017-06-29 | 2017-12-19 | 中国科学院计算机网络信息中心 | 一种适用于多种大数据管理系统的数据模型转换及查询分析方法 |
CN108628951A (zh) * | 2018-04-03 | 2018-10-09 | 苏州舆图数据科技有限公司 | 基于文档模型的空间数据块状组织存储与化简压缩方法 |
CN109213820A (zh) * | 2018-08-30 | 2019-01-15 | 成都索贝数码科技股份有限公司 | 一种实现多种类型的数据库融合使用的方法 |
CN110866123A (zh) * | 2019-11-06 | 2020-03-06 | 浪潮软件集团有限公司 | 基于数据模型构建数据图谱的方法及构建数据图谱的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112000851A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000851B (zh) | 一种键值模型、文档模型和图模型数据的统一存储方法 | |
US6853997B2 (en) | System and method for sharing, mapping, transforming data between relational and hierarchical databases | |
US9218409B2 (en) | Method for generating and using a reusable custom-defined nestable compound data type as database qualifiers | |
US9576011B2 (en) | Indexing hierarchical data | |
Lu et al. | Multi-model Data Management: What's New and What's Next? | |
CN102890678A (zh) | 一种基于格雷编码的分布式数据布局方法及查询方法 | |
CN102999637B (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
Jianmin et al. | An improved join‐free snowflake schema for ETL and OLAP of data warehouse | |
US11068459B2 (en) | Computer implemented and computer controlled method, computer program product and platform for arranging data for processing and storage at a data storage engine | |
Malinowski et al. | Logical representation of a conceptual model for spatial data warehouses | |
US20080313153A1 (en) | Apparatus and method for abstracting data processing logic in a report | |
Yue et al. | 1.06 GIS Databases and NoSQL Databases | |
Liu et al. | Storing spatio-temporal data in XML native database | |
Farooq | The data warehouse virtualization framework for operational business intelligence | |
Powell | Oracle data warehouse tuning for 10g | |
Kanojia et al. | IT Infrastructure for Smart City: Issues and Challenges in Migration from Relational to NoSQL Databases | |
Greiner | Teaching NoSQL Data Models: A Tutorial. | |
Ilkhomjon et al. | About Database (Db) | |
Galkaduwa et al. | 1Faculty of Computing and Technology, University of Kelaniya 2Affiliation not available | |
Ma et al. | RDF Data and Management | |
Töyli et al. | Modeling Relational Data by the Adjacency Model. | |
Huang et al. | Retrieving Representative Structures from XML Documents Using Clustering Techniques | |
Sanyal et al. | Graph–semantic based web data model: Conceptual design to logical representation | |
Mahboubi et al. | A join index for XML Data warehouses | |
Govil | AN OVERVIEW OF DATABASE MODELING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |