CN116910310B - 一种基于分布式数据库的非结构化数据存储方法及装置 - Google Patents
一种基于分布式数据库的非结构化数据存储方法及装置 Download PDFInfo
- Publication number
- CN116910310B CN116910310B CN202310726298.3A CN202310726298A CN116910310B CN 116910310 B CN116910310 B CN 116910310B CN 202310726298 A CN202310726298 A CN 202310726298A CN 116910310 B CN116910310 B CN 116910310B
- Authority
- CN
- China
- Prior art keywords
- unstructured data
- data
- cold
- copy
- hot
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013500 data storage Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 87
- 239000012634 fragment Substances 0.000 claims abstract description 61
- 238000005192 partition Methods 0.000 claims description 30
- 238000005516 engineering process Methods 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 230000010076 replication Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式数据库的非结构化数据存储方法及装置,其中所述方法包括:获取非结构化数据;将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据;确定所述冷热分层处理后的非结构化数据所要存储的数据节点;所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片;基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点。本发明通过分布式数据库存储海量非结构化数据,提高了存储性能,实现文件的高可靠性、高性能和安全存储。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种基于分布式数据库的非结构化数据存储方法及装置。
背景技术
随着计算机信息技术的普及与互联网用户数量的增多,使得数据量的增长速度越来越快,传统数据库与集中式存储技术已无法适应海量信息处理的需求。为了改善传统数据存储技术的局限性,研发了分布式存储技术,分布式存储技术增强了数据库的处理能力与处理效率。使用分布式数据库对非结构化数据进行存储,不但能满足大规模数据存储的需要,并且能够提高存储的性能,实现了文件的高可靠性、高性能和安全存储。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于分布式数据库的非结构化数据存储方法及装置,通过分布式数据库存储海量非结构化数据,提高了存储性能,实现文件的高可靠性、高性能和安全存储。
为了解决上述技术问题,本发明实施例提供了一种基于分布式数据库的非结构化数据存储方法,所述方法包括:
获取非结构化数据;
将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据;
确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片;
基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
可选的,所述获取非结构化数据,包括:
基于数据引擎接口接收写入数据请求;
基于所述写入数据请求对数据进行提取处理,获得非结构化数据。
可选的,所述将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,包括:
基于特定的时序规则对所述非结构化数据进行判断,获得冷热数据判断结果;
基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,获得冷热分层处理后的非结构化数据。
可选的,所述基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,包括:
基于实时流式投递技术创建Tablestore数据源表;
基于所述Tablestore数据源表进行TP查询处理,获得Tablestore数据源表的生命周期;
基于所述Tablestore数据源表的生命周期进行数据分离处理,获得冷热分层处理后的非结构化数据。
可选的,所述确定所述冷热分层处理后的非结构化数据所要存储的数据节点,包括:
基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值;
基于所述哈希值确定非结构化数据所要存储的数据节点。
可选的,所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,包括:
所述数据节点基于水平分片对所述冷热分层处理后的非结构化数据进行横向切分,其中横向切分的分区通过HASH算法计算哈希索引,基于所述哈希索引确定切分的分区,获得非结构化数据分片。
可选的,所述基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本,包括:
基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本;
采用同步复制方式对所述主副本与备副本进行数据复制处理,获得所述非结构化数据分片对应的多个副本。
可选的,所述采用同步复制方式对所述主副本与备副本进行数据复制处理,包括:
将写请求发送给主副本,主副本接收写请求;
主副本基于复制日志将所述写请求同步给备副本,备副本进行同步处理,并将同步处理信息反馈至主副本;
主副本接收反馈信息,获得对应的备副本。
可选的,所述将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中,包括:
将所述非结构化数据分片及所述对应的多个副本进行映射处理,获得分卷标识;
基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
另外,本发明实施例还提供了一种基于分布式数据库的非结构化数据存储装置,所述装置包括:
获取模块:获取非结构化数据;
冷热分层模块:将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据;
数据节点模块:确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
水平分片模块:所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片;
副本模块:基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
存储模块:将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
在本发明实施例中,通过使用分布式数据库对非结构化数据进行存储,可以满足大规模数据存储的需要,而且分布式存储技术支持冷热数据分层处理,可以提高存储性能和进一步提升数据安全性;也支持多副本机制,采用多副本机制可以保障数据库的高可用与容灾;并且可以通过数据分片的方式,对数据引擎层的存储进行弹性水平扩展,从而实现高性能与无限水平弹性扩展能力;因此,采用分布式数据库存储数据不但提高了存储的可靠性和可用性,而且将通用硬件引入的不稳定因素降到最低,从而实现文件的高性能和安全存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是一种基于分布式数据库的非结构化数据存储方法的流程示意图;
图2是一种基于分布式数据库的非结构化数据存储装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
请参阅图1,图1是本发明实施例中的一种基于分布式数据库的非结构化数据存储方法的流程示意图。
如图1所示,一种基于分布式数据库的非结构化数据存储方法,所述方法包括:
S11:获取非结构化数据;
在本发明具体实施过程中,所述获取非结构化数据,包括:基于数据引擎接口接收写入数据请求;基于所述写入数据请求对数据进行提取处理,获得非结构化数据。
具体的,基于数据引擎接口接收写入数据请求,其中数据引擎接口可以实现数据的传输;基于所述写入数据请求对数据进行提取处理,其中提取处理使用正则表达式定义一个抽象字符串,基于抽象字符串验证输入的数据,验证完成后进行数据的匹配,数据匹配成功后提取非结构化数据,这种获取非结构化数据的方法可以做到用较为简单的方式来迅速且准确的提取数据。
S12:将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据;
在本发明具体实施过程中,所述将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,包括:基于特定的时序规则对所述非结构化数据进行判断,获得冷热数据判断结果;基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,获得冷热分层处理后的非结构化数据。
具体的,首先基于特定的时序规则对所述非结构化数据进行判断,时序规则的判断要求包括数据的访问频率和创建时间等,对数据的访问频率的多少和创建时间的顺序等进行判断,得到冷热数据判断结果;基于冷热数据判断结果使用Apache Doris技术进行冷热分层处理,通过Apache Doris技术自身的列存和动态分层功能,支持对数据源表的生命周期管理,进而完成冷热数据的分离,获得冷热分层处理后的非结构化数据,使用冷热数据分层处理可以提高存储的性能和提升数据存储的安全性。
具体的,所述基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,包括:基于实时流式投递技术创建Tablestore数据源表;基于所述Tablestore数据源表进行TP查询处理,获得Tablestore数据源表的生命周期;基于所述Tablestore数据源表的生命周期进行数据分离处理,获得冷热分层处理后的非结构化数据。
S13:确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
在本发明具体实施过程中,所述确定所述冷热分层处理后的非结构化数据所要存储的数据节点,包括:基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值;基于所述哈希值确定非结构化数据所要存储的数据节点。
具体的,基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值,对于哈希值的计算首先使用key.hashCode()函数返回散列值,定义数组的初始化长度,将散列值和数组的初始化长度取模得到键的哈希值,使用键的哈希值无符号右移16位,把键的哈希值的高位移动到低位,把初始的键的哈希值与右移之后的哈希值进行异或运算,把高位和低位的特征进行和组合,获得最终的哈希值。使用异或运算可以使哈希值的散列度更高,减少碰撞;通过哈希值可以映射数据存储的数据节点,从而确定非结构化数据所要存储的数据节点。
S14:所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片;
在本发明具体实施过程中,所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,包括:所述数据节点基于水平分片对所述冷热分层处理后的非结构化数据进行横向切分,其中横向切分的分区通过HASH算法计算哈希索引,基于所述哈希索引确定切分的分区,获得非结构化数据分片。
具体的,数据节点采用水平分片对冷热分层处理后的非结构化数据进行横向切分,水平分片首先确定横向切分的分区,其中横向切分的分区通过HASH算法计算哈希索引,其中使用哈希算法计算键值,对键值进行转换运算,把键值转换成新的哈希值,由InnoDB引擎进行自适应索引优化创建,获得哈希索引,使用哈希索引可以快速且精准的确定切分的分区,确定切分的分区后,使用mongos函数直接定位切分的分区并进行切分,切分完成后,获得非结构化数据分片,通过数据分片的方式,可以对数据引擎层的存储进行弹性水平扩展,从而实现高性能与无限水平弹性扩展能力。
S15:基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
在本发明具体实施过程中,所述基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本,包括:基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本;采用同步复制方式对所述主副本与备副本进行数据复制处理,获得所述非结构化数据分片对应的多个副本。
具体的,基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本,其中主副本可以提供读/写服务,但备副本只提供读服务;主备副本之间的数据复制,主要通过同步复制的方式实现,从而获得非结构化数据分片对应的多个副本,其中每个非结构化数据分片都有对应的多个副本,采用同步复制可以保证副本数据的一致性,对数据分片进行多副本处理可以保障数据库的高可用与容灾,对于硬件架构上可以选择采用低成本的x86架构服务器构建多副本可扩展存储,不再依赖特定硬件厂商,支持PB级存储容量。
具体的,所述采用同步复制方式对所述主副本与备副本进行数据复制处理,包括:将写请求发送给主副本,主副本接收写请求;主副本基于复制日志将所述写请求同步给备副本,备副本进行同步处理,并将同步处理信息反馈至主副本;主副本接收反馈信息,获得对应的备副本。
S16:将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
在本发明具体实施过程中,所述将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中,包括:将所述非结构化数据分片及所述对应的多个副本进行映射处理,获得分卷标识;基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
具体的,将所述非结构化数据分片及所述对应的多个副本进行映射处理,映射处理首先创建空的哈希映射,使用insert(key)函数向哈希映射添加元素,将元素添加到哈希映射后,使用get(key)函数获取键的特定值,即获得分卷标识;采用分卷标识可以精准且快速的确定存储节点,基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
在本发明实施例中,通过使用分布式数据库对非结构化数据进行存储,可以满足大规模数据存储的需要,而且分布式存储技术支持冷热数据分层处理,可以提高存储性能和进一步提升数据安全性;也支持多副本机制,采用多副本机制可以保障数据库的高可用与容灾;并且可以通过数据分片的方式,对数据引擎层的存储进行弹性水平扩展,从而实现高性能与无限水平弹性扩展能力;因此,采用分布式数据库存储数据不但提高了存储的可靠性和可用性,而且将通用硬件引入的不稳定因素降到最低,从而实现文件的高性能和安全存储。
实施例二
请参阅图2,图2是本发明实施例中的一种基于分布式数据库的非结构化数据存储装置的结构组成示意图。
如图2所示,一种基于分布式数据库的非结构化数据存储装置,所述装置包括:
获取模块21:获取非结构化数据;
在本发明具体实施过程中,所述获取非结构化数据,包括:基于数据引擎接口接收写入数据请求;基于所述写入数据请求对数据进行提取处理,获得非结构化数据。
具体的,基于数据引擎接口接收写入数据请求,其中数据引擎接口可以实现数据的传输;基于所述写入数据请求对数据进行提取处理,其中提取处理使用正则表达式定义一个抽象字符串,基于抽象字符串验证输入的数据,验证完成后进行数据的匹配,数据匹配成功后提取非结构化数据,这种获取非结构化数据的方法可以做到用较为简单的方式来迅速且准确的提取数据。
冷热分层模块22:将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据;
在本发明具体实施过程中,所述将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,包括:基于特定的时序规则对所述非结构化数据进行判断,获得冷热数据判断结果;基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,获得冷热分层处理后的非结构化数据。
具体的,首先基于特定的时序规则对所述非结构化数据进行判断,时序规则的判断要求包括数据的访问频率和创建时间等,对数据的访问频率的多少和创建时间的顺序等进行判断,得到冷热数据判断结果;基于冷热数据判断结果使用Apache Doris技术进行冷热分层处理,通过Apache Doris技术自身的列存和动态分层功能,支持对数据源表的生命周期管理,进而完成冷热数据的分离,获得冷热分层处理后的非结构化数据,使用冷热数据分层处理可以提高存储的性能和提升数据存储的安全性。
具体的,所述基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,包括:基于实时流式投递技术创建Tablestore数据源表;基于所述Tablestore数据源表进行TP查询处理,获得Tablestore数据源表的生命周期;基于所述Tablestore数据源表的生命周期进行数据分离处理,获得冷热分层处理后的非结构化数据。
数据节点模块23:确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
在本发明具体实施过程中,所述确定所述冷热分层处理后的非结构化数据所要存储的数据节点,包括:基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值;基于所述哈希值确定非结构化数据所要存储的数据节点。
具体的,基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值,对于哈希值的计算首先使用key.hashCode()函数返回散列值,定义数组的初始化长度,将散列值和数组的初始化长度取模得到键的哈希值,使用键的哈希值无符号右移16位,把键的哈希值的高位移动到低位,把初始的键的哈希值与右移之后的哈希值进行异或运算,把高位和低位的特征进行和组合,获得最终的哈希值。使用异或运算可以使哈希值的散列度更高,减少碰撞;通过哈希值可以映射数据存储的数据节点,从而确定非结构化数据所要存储的数据节点。
水平分片模块24:所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片;
在本发明具体实施过程中,所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,包括:所述数据节点基于水平分片对所述冷热分层处理后的非结构化数据进行横向切分,其中横向切分的分区通过HASH算法计算哈希索引,基于所述哈希索引确定切分的分区,获得非结构化数据分片。
具体的,数据节点采用水平分片对冷热分层处理后的非结构化数据进行横向切分,水平分片首先确定横向切分的分区,其中横向切分的分区通过HASH算法计算哈希索引,其中使用哈希算法计算键值,对键值进行转换运算,把键值转换成新的哈希值,由InnoDB引擎进行自适应索引优化创建,获得哈希索引,使用哈希索引可以快速且精准的确定切分的分区,确定切分的分区后,使用mongos函数直接定位切分的分区并进行切分,切分完成后,获得非结构化数据分片,通过数据分片的方式,可以对数据引擎层的存储进行弹性水平扩展,从而实现高性能与无限水平弹性扩展能力。
副本模块25:基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
在本发明具体实施过程中,所述基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本,包括:基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本;采用同步复制方式对所述主副本与备副本进行数据复制处理,获得所述非结构化数据分片对应的多个副本。
具体的,基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本,其中主副本可以提供读/写服务,但备副本只提供读服务;主备副本之间的数据复制,主要通过同步复制的方式实现,从而获得非结构化数据分片对应的多个副本,其中每个非结构化数据分片都有对应的多个副本,采用同步复制可以保证副本数据的一致性;对数据分片进行多副本处理可以保障数据库的高可用与容灾,对于硬件架构上可以选择采用低成本的x86架构服务器构建多副本可扩展存储,不再依赖特定硬件厂商,支持PB级存储容量。
具体的,所述采用同步复制方式对所述主副本与备副本进行数据复制处理,包括:将写请求发送给主副本,主副本接收写请求;主副本基于复制日志将所述写请求同步给备副本,备副本进行同步处理,并将同步处理信息反馈至主副本;主副本接收反馈信息,获得对应的备副本。
存储模块26:将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
在本发明具体实施过程中,所述将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中,包括:将所述非结构化数据分片及所述对应的多个副本进行映射处理,获得分卷标识;基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
具体的,将所述非结构化数据分片及所述对应的多个副本进行映射处理,映射处理首先创建空的哈希映射,使用insert(key)函数向哈希映射添加元素,将元素添加到哈希映射后,使用get(key)函数获取键的特定值,即获得分卷标识;采用分卷标识可以精准且快速的确定存储节点,基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
在本发明实施例中,通过使用分布式数据库对非结构化数据进行存储,可以满足大规模数据存储的需要,而且分布式存储技术支持冷热数据分层处理,可以提高存储性能和进一步提升数据安全性;也支持多副本机制,采用多副本机制可以保障数据库的高可用与容灾;并且可以通过数据分片的方式,对数据引擎层的存储进行弹性水平扩展,从而实现高性能与无限水平弹性扩展能力;因此,采用分布式数据库存储数据不但提高了存储的可靠性和可用性,而且将通用硬件引入的不稳定因素降到最低,从而实现文件的高性能和安全存储。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述方法包括:
获取非结构化数据;
将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,所述将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,包括:基于特定的时序规则对所述非结构化数据进行判断,获得冷热数据判断结果,基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,获得冷热分层处理后的非结构化数据;
确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,包括:所述数据节点基于水平分片对所述冷热分层处理后的非结构化数据进行横向切分,其中横向切分的分区通过HASH算法计算哈希索引,使用哈希算法计算键值,对键值进行转换运算,获得新的哈希值,由InnoDB引擎利用新的哈希值进行自适应索引优化创建,获得哈希索引,基于所述哈希索引使用mongos函数确定切分的分区,获得非结构化数据分片;
基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
2.根据权利要求1所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述获取非结构化数据,包括:
基于数据引擎接口接收写入数据请求;
基于所述写入数据请求对数据进行提取处理,获得非结构化数据。
3.根据权利要求1所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,包括:
基于实时流式投递技术创建Tablestore数据源表;
基于所述Tablestore数据源表进行TP查询处理,获得Tablestore数据源表的生命周期;
基于所述Tablestore数据源表的生命周期进行数据分离处理,获得冷热分层处理后的非结构化数据。
4.根据权利要求1所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述确定所述冷热分层处理后的非结构化数据所要存储的数据节点,包括:
基于异或运算方法计算所述冷热分层处理后的非结构化数据对应的哈希值;
基于所述哈希值确定非结构化数据所要存储的数据节点。
5.根据权利要求1所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本,包括:
基于多副本机制对所述非结构化数据分片进行多副本复制备份处理,确定主副本与备副本;
采用同步复制方式对所述主副本与备副本进行数据复制处理,获得所述非结构化数据分片对应的多个副本。
6.根据权利要求5所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述采用同步复制方式对所述主副本与备副本进行数据复制处理,包括:
将写请求发送给主副本,主副本接收写请求;
主副本基于复制日志将所述写请求同步给备副本,备副本进行同步处理,并将同步处理信息反馈至主副本;
主副本接收反馈信息,获得对应的备副本。
7.根据权利要求1所述的一种基于分布式数据库的非结构化数据存储方法,其特征在于,所述将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中,包括:
将所述非结构化数据分片及所述对应的多个副本进行映射处理,获得分卷标识;
基于所述分卷标识将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
8.一种基于分布式数据库的非结构化数据存储装置,其特征在于,所述装置包括:
获取模块:获取非结构化数据;
冷热分层模块:将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,所述将所述非结构化数据进行冷热分层处理,获得冷热分层处理后的非结构化数据,包括:基于特定的时序规则对所述非结构化数据进行判断,获得冷热数据判断结果,基于所述冷热数据判断结果使用Apache Doris技术进行冷热分层处理,获得冷热分层处理后的非结构化数据;
数据节点模块:确定所述冷热分层处理后的非结构化数据所要存储的数据节点;
水平分片模块:所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,所述数据节点基于水平分片的方式对所述冷热分层处理后的非结构化数据进行横向切分,获得非结构化数据分片,包括:所述数据节点基于水平分片对所述冷热分层处理后的非结构化数据进行横向切分,其中横向切分的分区通过HASH算法计算哈希索引,使用哈希算法计算键值,对键值进行转换运算,获得新的哈希值,由InnoDB引擎利用新的哈希值进行自适应索引优化创建,获得哈希索引,基于所述哈希索引使用mongos函数确定切分的分区,获得非结构化数据分片;
副本模块:基于多副本机制对所述非结构化数据分片进行多副本处理,获得所述非结构化数据分片对应的多个副本;
存储模块:将所述非结构化数据分片及所述对应的多个副本分别存储于分布式数据库中对应的存储节点中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726298.3A CN116910310B (zh) | 2023-06-16 | 2023-06-16 | 一种基于分布式数据库的非结构化数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726298.3A CN116910310B (zh) | 2023-06-16 | 2023-06-16 | 一种基于分布式数据库的非结构化数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910310A CN116910310A (zh) | 2023-10-20 |
CN116910310B true CN116910310B (zh) | 2024-02-13 |
Family
ID=88361799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310726298.3A Active CN116910310B (zh) | 2023-06-16 | 2023-06-16 | 一种基于分布式数据库的非结构化数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910310B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185569B1 (en) * | 1998-06-29 | 2001-02-06 | Microsoft Corporation | Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table |
WO2017101478A1 (zh) * | 2015-12-17 | 2017-06-22 | 深圳市华讯方舟软件技术有限公司 | 一种PostgreSQL块存储设备读写模块 |
CN109995829A (zh) * | 2017-12-31 | 2019-07-09 | 广州明领基因科技有限公司 | 基于分布式架构的数字图书馆大数据存储系统 |
CN110825748A (zh) * | 2019-11-05 | 2020-02-21 | 北京平凯星辰科技发展有限公司 | 利用差异化索引机制的高性能和易扩展的键值存储方法 |
CN111506660A (zh) * | 2020-04-21 | 2020-08-07 | 瑞纳智能设备股份有限公司 | 一种热网实时数据仓系统 |
CN112835972A (zh) * | 2019-11-22 | 2021-05-25 | 北京中电普华信息技术有限公司 | 非结构化数据的同步方法及系统 |
CN113821563A (zh) * | 2021-08-11 | 2021-12-21 | 贝格迈思(深圳)科技有限公司 | 一种非对称多副本的分布式事务处理方法及系统 |
CN113901024A (zh) * | 2021-09-26 | 2022-01-07 | Oppo广东移动通信有限公司 | 数据存储系统、数据存储方法、可读介质和电子设备 |
CN114925073A (zh) * | 2022-06-14 | 2022-08-19 | 九有技术(深圳)有限公司 | 支持灵活动态分片的分布式数据库架构及其实现方法 |
CN114995759A (zh) * | 2022-05-31 | 2022-09-02 | 济南浪潮数据技术有限公司 | 桶分片处理方法、装置、设备及介质 |
CN116186298A (zh) * | 2023-02-10 | 2023-05-30 | 深圳前海微众银行股份有限公司 | 信息检索方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043373B2 (en) * | 2010-08-17 | 2015-05-26 | Iolo Technologies, Llc | System and method for efficient data storage |
KR101544356B1 (ko) * | 2012-10-31 | 2015-08-13 | 삼성에스디에스 주식회사 | 메타데이터 및 트랜잭션 발생량을 고려한 동적 샤딩 기능을 지원하는 분산 데이터베이스 관리 방법 및 그 구성 노드 |
US20230020330A1 (en) * | 2021-07-09 | 2023-01-19 | Mongodb, Inc. | Systems and methods for scalable database hosting data of multiple database tenants |
-
2023
- 2023-06-16 CN CN202310726298.3A patent/CN116910310B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185569B1 (en) * | 1998-06-29 | 2001-02-06 | Microsoft Corporation | Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table |
WO2017101478A1 (zh) * | 2015-12-17 | 2017-06-22 | 深圳市华讯方舟软件技术有限公司 | 一种PostgreSQL块存储设备读写模块 |
CN109995829A (zh) * | 2017-12-31 | 2019-07-09 | 广州明领基因科技有限公司 | 基于分布式架构的数字图书馆大数据存储系统 |
CN110825748A (zh) * | 2019-11-05 | 2020-02-21 | 北京平凯星辰科技发展有限公司 | 利用差异化索引机制的高性能和易扩展的键值存储方法 |
CN112835972A (zh) * | 2019-11-22 | 2021-05-25 | 北京中电普华信息技术有限公司 | 非结构化数据的同步方法及系统 |
CN111506660A (zh) * | 2020-04-21 | 2020-08-07 | 瑞纳智能设备股份有限公司 | 一种热网实时数据仓系统 |
CN113821563A (zh) * | 2021-08-11 | 2021-12-21 | 贝格迈思(深圳)科技有限公司 | 一种非对称多副本的分布式事务处理方法及系统 |
CN113901024A (zh) * | 2021-09-26 | 2022-01-07 | Oppo广东移动通信有限公司 | 数据存储系统、数据存储方法、可读介质和电子设备 |
CN114995759A (zh) * | 2022-05-31 | 2022-09-02 | 济南浪潮数据技术有限公司 | 桶分片处理方法、装置、设备及介质 |
CN114925073A (zh) * | 2022-06-14 | 2022-08-19 | 九有技术(深圳)有限公司 | 支持灵活动态分片的分布式数据库架构及其实现方法 |
CN116186298A (zh) * | 2023-02-10 | 2023-05-30 | 深圳前海微众银行股份有限公司 | 信息检索方法和装置 |
Non-Patent Citations (2)
Title |
---|
Key-Value型NoSQL本地存储系统研究;马文龙;朱妤晴;蒋德钧;熊劲;张立新;孟潇;包云岗;;计算机学报;20170601(08);32-61 * |
SDS技术在云数据中心的应用;崔星星;杨基明;;电信快报;20160910(09);31-34 * |
Also Published As
Publication number | Publication date |
---|---|
CN116910310A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lakshman et al. | Cassandra: a decentralized structured storage system | |
JP7271670B2 (ja) | データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム | |
US10452271B2 (en) | Reconstructing in-memory indices in a distributed data storage system | |
US10248356B2 (en) | Using scratch extents to facilitate copying operations in an append-only storage system | |
US7702640B1 (en) | Stratified unbalanced trees for indexing of data items within a computer system | |
US10331641B2 (en) | Hash database configuration method and apparatus | |
US8683112B2 (en) | Asynchronous distributed object uploading for replicated content addressable storage clusters | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
US9772783B2 (en) | Constructing an index to facilitate accessing a closed extent in an append-only storage system | |
US20090012932A1 (en) | Method and System For Data Storage And Management | |
US20090210429A1 (en) | System and method for asynchronous update of indexes in a distributed database | |
CN107943833A (zh) | 一种基于区块链的无中心分布式文件存储及检索方法 | |
US20230087447A1 (en) | Data migration method and device | |
US20150254320A1 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
US9720607B2 (en) | Append-only storage system supporting open and closed extents | |
CN106484820B (zh) | 一种重命名方法、访问方法及装置 | |
CN110990399B (zh) | 重建索引方法及装置 | |
Lawson et al. | Using a robust metadata management system to accelerate scientific discovery at extreme scales | |
CN116910310B (zh) | 一种基于分布式数据库的非结构化数据存储方法及装置 | |
Fan et al. | An improved small file storage strategy in ceph file system | |
CN116578609A (zh) | 一种基于倒排索引的分布式搜索方法及装置 | |
CN103838757B (zh) | 对用户的长关系链数据的处理系统和方法 | |
EP4172887A1 (en) | Approximate nearest neighbor search engine | |
KR20100071491A (ko) | 데이터 관리 방법 및 그 시스템 | |
CN112084141A (zh) | 一种全文检索系统扩容方法、装置、设备及介质 |
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 |