CN107665246B - 基于图数据库的动态数据迁移方法及图数据库集群 - Google Patents
基于图数据库的动态数据迁移方法及图数据库集群 Download PDFInfo
- Publication number
- CN107665246B CN107665246B CN201710822811.3A CN201710822811A CN107665246B CN 107665246 B CN107665246 B CN 107665246B CN 201710822811 A CN201710822811 A CN 201710822811A CN 107665246 B CN107665246 B CN 107665246B
- Authority
- CN
- China
- Prior art keywords
- data
- graph
- graph database
- expanded
- database
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于图数据库的动态数据迁移方法,包括步骤如下:作为一集群中的节点的图数据库容量超过一预设阀值时,根据图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据;将待扩数据录入作为集群新增节点的待扩图数据库。通过引入仲裁模块实现多个单节点图数据库之间数据的动态迁移。当某一单节点图数据库数据容量面临瓶颈时,仲裁模块实现数据库动态迁移,将压力大的节点上的数据动态迁移到数据压力小的节点上,从而实现各个节点间的数据平衡,及实现图数据存储容量、写性能的线性增大。同时提供对应的图数据库集群。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及图数据库,具体涉及基于图数据库的动态数据迁移方法及图数据库集群。
背景技术
图数据库指是NoSQL数据库的一种类型,是一种非关系型数据库,其应用图形理论存储实体之间的关系信息。
例如,社会网络中人与人之间的关系,在图数据库中,每个人被表示为一个点,人与人之间的关系就用点和点之间的边来表示。传统的关系型数据库用于存储“关系型”数据效果,并不理想,往往存在查询复杂、缓慢的缺陷,而图数据库则能够完善地弥补该缺陷。
现有的图数据库有很多,包括但不限于:Neo4j、Arangodb、Orientdb等图数据库。
常见的实体及实体关系查询,是通过查询存储实体及实体关系的图数据库来获取。
然而,现有图数据库多采用各单节点之间写同步、读并发的操作方式。显然,该方式虽然可实现图数据库的存储容量、写性能的线性扩展,但不能够提高读性能的线性扩展,具有局限性。
发明内容
针对上述传统技术手段存在的不足之处,本发明的目的旨在提供一种基于图数据库的动态数据迁移方法及对应的图数据库集群,通过引入仲裁模块实现多个单节点图数据库之间数据的动态迁移。当某一单节点图数据库数据容量面临瓶颈时,仲裁模块实现数据库动态迁移,将压力大的节点上的数据动态迁移到数据压力小的节点上,从而实现各个节点间的数据平衡,及实现图数据存储容量、写性能的线性增大。
为实现上述目的,本发明采取的技术方案是:
基于图数据库的动态数据迁移方法,包括步骤如下:
作为一集群中的节点的图数据库容量超过一预设阀值时,根据图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据;
将待扩数据录入作为集群新增节点的待扩图数据库。
进一步地,还包括记录集群新增节点的服务器地址。
进一步地,还包括维护图数据库名称、服务器地址和存储状态标识。
进一步地,根据图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据包括:根据图数据库中元数据正态分布信息划分元数据。
进一步地,所述元数据类型包括人、地理、时间。
一种图数据库集群,可将待扩图数据库作为集群新增节点,包括:
作为原始集群节点的至少一图数据库;
一仲裁模块,用以在图数据库容量超过一预设阀值时,根据该图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据;并将待扩数据录入作为集群新增节点的待扩图数据库。
进一步地,所述仲裁模块包括路由子模块及聚合两个子模块;
路由子模块用以图数据库名称、服务器地址和存储状态标识;
聚合子模块,用以对跨节点数据进行聚合操作。
进一步地,客户端进行图数据查询时,首先通过与仲裁模块交互,仲裁模块依据正态分布信息返回即将交互的服务器地址,然后客户端与获取的服务器地址进行数据交互操作;
客户端进行图数据写入时,首先通过与仲裁模块交互,仲裁模块依据正态分布信息返回即将交互的服务器地址,然后客户端与获取的服务器地址进行数据交互操作。
进一步地,所述客户端进行图数据查询或图数据写入时与路由子模块交互。
进一步地,将待扩图数据库作为集群新增节点时,集群新增节点信息写入路由子模块。
通过上述技术方案,本发明利用元数据的正态分布信息,达到了合理地拆分元数据的物理存放。通过合理地拆分元数据,使得数据快速地、高效地录入物理服务器中,充分地利用各个服务器的写入带宽,从而避免了单个服务器写入瓶颈问题。
附图说明
图1为本发明一实施例中基于图数据库的动态数据迁移方法的流程示意图。
图2为本发明一实施例中集群中存在的不同类型元数据之间的关系示意图。
具体实施方式
工作原理:
图数据库存储能力严重依赖硬件资源,尤其是Neo4j数据库,单节点数据库存储数据容量面临着上限瓶颈的问题。多节点的图数据库组成集群是现有图数据库的常态,本发明通过引入仲裁模块实现多节点之间数据的动态迁移。当单节点数据库数据容量面临瓶颈时,仲裁模块实现数据库动态迁移,将压力大的节点上的数据动态迁移到数据压力小的节点上,从而实现各个节点间的数据平衡,及实现最佳的图数据入库、查询性能。
本发明涉及图数据库的动态数据迁移。
一种场景是企业的图数据库存储能力面临容量瓶颈时,通过分布式部署图数据库,进行图数据动态迁移,从而实现了图数据容量线性增加。
一种场景是企业的图数据库写性能面临性能瓶颈时,通过分布式写入图数据库,从而实现了图数据写性能线性增加。
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
图数据库的动态数据迁移方法的核心流程如图1所示,流程包括:
步骤1:局域网内接入新的服务器设备并安装图数据库。即建立多节点集群,其中,新设备数量不限于1台,并且,网络也不限于局域网,实际场景中以局域网居多,主要鉴于其网络传输速度较快。
步骤2:仲裁模块记录新增节点的IP地址。
步骤3:仲裁模块发送统计指令,按照依照正态分布统计出合适的时间和地理位置信息。
步骤4:仲裁模块发送迁移指令,小于指定的时间信息迁移到待扩节点0、不符合地理位置信息的地址迁移到待扩节点1。
执行客户查询与数据入库等数据迁移之后的操作,均首先与仲裁模块交互。
客户查询:客户端进行图数据查询时,首先通过与仲裁模块交互,仲裁模块依据时间、地理等信息返回即将交互的服务器信息。接着,客户端与获取的服务器地址进行数据交互操作。
数据入库:客户端进行图数据写入时,首先通过与仲裁模块交互,仲裁模块依据时间、地理等信息返回即将交互的服务器信息。接着,客户端与获取的服务器地址进行数据交互操作。
更具体的实现方式:
(一)原集群的组成
原集群包含以下几个子系统:仲裁模块、图数据库。
(1)仲裁模块的功能:
仲裁模块,由路由、聚合两个子模块组成。客户端发起数据操作时,首先向路由子模块发起请求,路由子模块返回客户端访问操作的服务器相关信息。
路由子模块维护图数据库名称、服务器地址和标识等信息。参考下表,如果图数据库数据信息存放满时,状态将置为满标识;达到预设阀值时,则置为阀值标识。
图数据库名称 | 服务器地址 | 标识 |
节点0 | 192.168.1.0:端口 | 未满/阈值/满 |
节点1 | 192.168.1.1:端口 | 未满/阈值/满 |
节点2 | 192.168.1.2:端口 | 未满/阈值/满 |
如果新增待扩容服务器,则将带扩容服务器信息写入到路由子模块中。
聚合子模块,负责数据的聚合操作。查询跨节点某种类型数据信息,获取各节点数据信息并进行汇聚操作并返回给上层调用者。
(2)图数据库
在一个图数据库中,最主要的组成有两种,结点集和连接结点的关系(有的也称泡泡和箭头)。结点集就是图中一系列结点的集合,比较接近于关系数据库中所最常使用的表,而关系则是图数据库所特有的组成。
图数据库支持图中节点数量、信息的查询。通过执行查询语句从而获取图数据库节点数量,从而判断服务器存储数量是否为满。通过执行判断语句从而获取图数据库是否饱满,其中,查询语句和判断语句均为公知技术,在此不再赘述。
(二)详细迁移过程和方法
首先检测原集群的存储量是否达到预定阈值,如果已经到达预定阈值,进入扩容阶段。
当然,在一些实施例中,并不必须要求原集群中所有图数据库均存储满或达到预定阀值,可以在只有一或多个节点存储满或达到预定阀值的时候就执行迁移操作。
预定阀值作为预警机制,即当存储量达一定量时就进行迁移操作,而不等到完全存储满。具体可以根据运行环境和存储需求设定该预定阀值。
单节点图数据库存储数据容量面临上限或预订阀值时,仲裁模块智能地梳理图数据库中基于时间、地理的正态分布关系,依据正态分布关系选择合适的时间、地理切分点并保存起来。以双服务器为例,小于某个时间点并属于某地理范围内的数据,录入到已有的图数据库中。小于某个时间点并属于某地理范围内的数据,录入到待扩图数据库中。
仲裁模块中包含集群中各个节点元数据类型、元数据数量及数据的区间分布信息。每个元数据类型,都有特定的区间分布。以时间为例,譬如1990年为界,区分为1990年以前、1990年以后;再者以地理位置信息为例,譬如以中国大陆区分依据,区分为中国大陆地区,非中国大陆地区两类。
通过获取的正态分布值,将时间戳以后的信息迁移到待扩服务器上。新录入的数据,如果大于时间戳,扩展到待扩服务器上,如果小于时间戳,写入到原服务器中。
扩容过程示例:(仅举例用于说明过程,并非用以限制本发明保护范围)
(1)原集群中存在以下几种元数据类型,邮件(Email,其属性为时间)、人(Person)和地理(Location),相互之间的关联关系如图2所示:
(2)数据写入数据库时,提取出人、地理、时间等元数据类型。存放每个人的地理位置、时间等信息。
(3)通过地理位置,可获取地理位置有关的那些人的信息。如下:
POST“杭州”
GET
张三
李四
……
POST“50%|Location”
GET
中国
(4)通过时间信息,可获取时间有关的那些人的信息。如下:
POST“1990年1月1日”
GET
王五
赵六
……
POST“50%|Date”
GET
1980/1/1
(5)获取非中国区域、〉1980/1/1的人物信息,迁移人物信息到待扩服务器0,如下:
POST“!中国&&〉1980/1/1”
GET
张三
李四
……
(6)新录入数据,并判断存放服务器位置,如下:
If“!中国&&〉1980/1/1”
POST待扩服务器
Else
POST原集群服务器
……
通过上述扩容过程及结果可知,利用元数据的正态分布信息,能够合理地拆分元数据的物理存放。而合理地拆分元数据,可以使得数据快速地、高效地录入物理服务器中,充分地利用各个服务器的写入带宽,从而避免了单个服务器写入瓶颈问题。
显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (9)
1.基于图数据库的动态数据迁移方法,包括步骤如下:
作为一集群中的节点的图数据库容量超过一预设阀值时,根据图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据;所述根据图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据包括:根据图数据库中元数据正态分布信息划分元数据;
将待扩数据录入作为集群新增节点的待扩图数据库。
2.如权利要求1所述的基于图数据库的动态数据迁移方法,其特征在于,还包括记录集群新增节点的服务器地址。
3.如权利要求1所述的基于图数据库的动态数据迁移方法,其特征在于,还包括维护图数据库名称、服务器地址和存储状态标识。
4.如权利要求1所述的基于图数据库的动态数据迁移方法,其特征在于,所述元数据的类型包括人、地理、时间。
5.一种图数据库集群,可将待扩图数据库作为集群新增节点,包括:
作为原始集群节点的至少一图数据库;
一仲裁模块,用以在图数据库容量超过一预设阀值时,根据该图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据;并将待扩数据录入作为集群新增节点的待扩图数据库;所述根据该图数据库中不同类型的元数据之间的关系,将元数据划分为待扩数据及非待扩数据包括:根据图数据库中元数据正态分布信息划分元数据。
6.如权利要求5所述的图数据库集群,其特征在于,所述仲裁模块包括路由及聚合两个子模块;
路由子模块用以图数据库名称、服务器地址和存储状态标识;
聚合子模块,用以对跨节点数据进行聚合操作。
7.如权利要求6所述的图数据库集群,其特征在于,客户端进行图数据查询时,首先通过与仲裁模块交互,仲裁模块依据正态分布信息返回即将交互的服务器地址,然后客户端与获取的服务器地址进行数据交互操作;
客户端进行图数据写入时,首先通过与仲裁模块交互,仲裁模块依据正态分布信息返回即将交互的服务器地址,然后客户端与获取的服务器地址进行数据交互操作。
8.如权利要求7所述的图数据库集群,其特征在于,所述客户端进行图数据查询或图数据写入时与路由子模块交互。
9.如权利要求6所述的图数据库集群,其特征在于,将待扩图数据库作为集群新增节点时,集群新增节点信息写入路由子模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822811.3A CN107665246B (zh) | 2017-09-13 | 2017-09-13 | 基于图数据库的动态数据迁移方法及图数据库集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822811.3A CN107665246B (zh) | 2017-09-13 | 2017-09-13 | 基于图数据库的动态数据迁移方法及图数据库集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107665246A CN107665246A (zh) | 2018-02-06 |
CN107665246B true CN107665246B (zh) | 2021-03-30 |
Family
ID=61098180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710822811.3A Active CN107665246B (zh) | 2017-09-13 | 2017-09-13 | 基于图数据库的动态数据迁移方法及图数据库集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107665246B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067649B (zh) * | 2018-07-31 | 2021-06-22 | 平安科技(深圳)有限公司 | 节点处理方法及装置、存储介质和电子设备 |
CN109189339B (zh) * | 2018-08-28 | 2021-08-20 | 郑州云海信息技术有限公司 | 一种存储系统下自动配置缓存加速方法 |
CN109857723B (zh) * | 2019-01-31 | 2021-11-05 | 深圳市迷你玩科技有限公司 | 基于可扩容数据库集群的动态数据迁移方法及相关设备 |
CN110222030B (zh) * | 2019-05-13 | 2021-08-06 | 福建天泉教育科技有限公司 | 数据库动态扩容的方法、存储介质 |
CN110673994B (zh) * | 2019-09-20 | 2023-05-12 | 北京百度网讯科技有限公司 | 数据库测试方法及装置 |
CN111459914B (zh) * | 2020-03-31 | 2023-09-05 | 北京金山云网络技术有限公司 | 分布式图数据库的优化方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440345A (zh) * | 2013-09-11 | 2013-12-11 | 从兴技术有限公司 | 一种基于关系型数据库的分布式数据库扩展方法及系统 |
CN105159925A (zh) * | 2015-08-04 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 一种数据库集群数据分配方法及系统 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579634B2 (en) * | 2012-08-30 | 2020-03-03 | Citus Data Bilgi Islemleri Ticaret A.S. | Apparatus and method for operating a distributed database with foreign tables |
US10096074B2 (en) * | 2014-12-23 | 2018-10-09 | Veritas Technologies Llc | Systems and methods for expanding relevant search results in electronic discovery |
-
2017
- 2017-09-13 CN CN201710822811.3A patent/CN107665246B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440345A (zh) * | 2013-09-11 | 2013-12-11 | 从兴技术有限公司 | 一种基于关系型数据库的分布式数据库扩展方法及系统 |
CN105159925A (zh) * | 2015-08-04 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 一种数据库集群数据分配方法及系统 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107665246A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665246B (zh) | 基于图数据库的动态数据迁移方法及图数据库集群 | |
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN102033938B (zh) | 基于二级映射的集群动态扩展方法 | |
CN109710618A (zh) | 知识图谱数据关系分离的混合存储方法及系统 | |
CN103631924B (zh) | 一种分布式数据库平台的应用方法和系统 | |
US8015195B2 (en) | Modifying entry names in directory server | |
US11803572B2 (en) | Schema-based spatial partitioning in a time-series database | |
CN103761102B (zh) | 一种统一数据服务平台及其实现方法 | |
CN103838770A (zh) | 一种数据逻辑分区的方法和系统 | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN110674154A (zh) | 一种基于Spark的对Hive中数据进行插入、更新和删除的方法 | |
CN105164673A (zh) | 跨数据库和文件系统的查询一体化 | |
CN104216962A (zh) | 一种基于HBase的海量网管数据索引设计方法 | |
US11150996B2 (en) | Method for optimizing index, master database node and subscriber database node | |
CN103455335A (zh) | 一种多级分类的Web实现方法 | |
CN106126583A (zh) | 一种分布式图数据库的集群强一致性处理方法及系统 | |
CN106933891A (zh) | 访问分布式数据库的方法和分布式数据服务的装置 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN104008199A (zh) | 一种数据查询方法 | |
CN103365987A (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
US11829377B2 (en) | Efficient storage method for time series data | |
CN105138638A (zh) | 一种基于应用层的数据库分布方法 | |
CN110704442A (zh) | 一种大数据的实时获取方法及装置 | |
CN102737061A (zh) | 分布式话单查询管理系统及方法 | |
US11531706B2 (en) | Graph search using index vertices |
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 | ||
CP02 | Change in the address of a patent holder |
Address after: Room 301, Unit 1, 3rd Floor, Building 15, No.1 Courtyard, Gaolizhang Road, Haidian District, Beijing, 100080 Patentee after: BEIJING KNOW FUTURE INFORMATION TECHNOLOGY CO.,LTD. Address before: 100102 room 112102, unit 1, building 3, yard 1, Futong East Street, Chaoyang District, Beijing Patentee before: BEIJING KNOW FUTURE INFORMATION TECHNOLOGY CO.,LTD. |
|
CP02 | Change in the address of a patent holder |