CN112395294A - 一种数据库数据管理方法及***、数据库 - Google Patents
一种数据库数据管理方法及***、数据库 Download PDFInfo
- Publication number
- CN112395294A CN112395294A CN202011364309.0A CN202011364309A CN112395294A CN 112395294 A CN112395294 A CN 112395294A CN 202011364309 A CN202011364309 A CN 202011364309A CN 112395294 A CN112395294 A CN 112395294A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- database
- write data
- write
- 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.)
- Granted
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/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
-
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库数据管理方法及***、数据库,当接收到写入数据时,根据写入数据创建数据表并将数据表的模式信息存储到第二存储区,将写入数据存储到第一存储区,然后将存储到第一存储区的写入数据传输到第二存储区,以根据数据表的模式信息将写入数据以数据表形式存储到第二存储区。本发明将数据直接存储到第一存储区,并且将数据异步地传输到第二存储区而以数据表形式存储,能够实现同时支持对数据进行关系型存储和非关系型存储,从而为数据库支持更丰富的数据处理场景提供了技术准备和支撑。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库数据管理方法及***。本发明还涉及一种数据库。
背景技术
数据库管理***有多种分类方法,从***架构角度可以分为分布式和集中式,根据数据存储结构可以分为关系型和非关系型,从对数据存储结构的支持能力上划分,可以分为SQL数据库、NoSQL数据库。SQL(Structured Query Language)代指关系型数据库,具有统一性和易用性的优点,缺点是面对大量的数据时,其性能会随着数据库的增大而急剧下降。NoSQL(Not Only SQL)泛指非关系型数据库,是以放宽ACID原则为代价,NoSQL采取的是最终一致性原则,而不是像关系型数据库那样严格遵守着ACID原则,这意味着如果在特定时间段内没有特定数据项的更新,则最终对其所有的访问都将返回最后更新的值,表现出了基本可用、软状态和最终一致性。在实际应用中,关系型数据库和非关系型数据库基于各自的特点适用于不同的应用场景,每一种数据库不能适用于所有应用场景,限制了数据库的应用范围。
发明内容
本发明的目的是提供一种数据库数据管理方法及***,为数据库支持更丰富的数据处理场景提供了技术准备和支撑。本发明还提供一种数据库。
为实现上述目的,本发明提供如下技术方案:
一种数据库数据管理方法,包括:
当接收到写入数据时,根据所述写入数据创建数据表并将所述数据表的模式信息存储到第二存储区;
将所述写入数据存储到第一存储区;
将存储到所述第一存储区的所述写入数据传输到所述第二存储区,以根据所述数据表的模式信息将所述写入数据以数据表形式存储到所述第二存储区。
优选的,将所述写入数据存储到第一存储区包括:根据所述写入数据的标识信息生成标识,将所述写入数据生成所述标识指向的数据,将所述写入数据存储到所述第一存储区。
优选的,所述第一存储区包括多个节点,多个节点包括管理节点和成员节点,所述管理节点用于获取客户端传输的所述写入数据,并将所述写入数据生成写入数据副本而传输到所述成员节点,所述成员节点用于根据所述管理节点的指示将写入数据副本存储。
优选的,当创建的所述数据表的模式信息改变时,将改变后的模式信息存储到所述第二存储区,以更新所述第二存储区存储的模式信息。
优选的,将所述写入数据以数据表形式存储到所述第二存储区包括:所述数据表包括多个列,各个列分别存储所述写入数据的不同字段的数据。
优选的,当接收到数据读取请求时,若所述数据读取请求指示从所述第二存储区读取数据,则判断所述第二存储区存储的数据与所述第一存储区存储的数据是否一致;
若是,则响应所述数据读取请求,若否,则在所述第一存储区的存储数据传输到所述第二存储区并完成存储之后,响应所述数据读取请求。
一种数据库数据管理***,用于执行以上所述的数据库数据管理方法。
一种数据库,包括以上所述的数据库数据管理***。
由上述技术方案可知,本发明所提供的一种数据库数据管理方法及***,当接收到写入数据时,根据写入数据创建数据表并将数据表的模式信息存储到第二存储区,将写入数据存储到第一存储区,然后将存储到第一存储区的写入数据传输到第二存储区,以根据数据表的模式信息将写入数据以数据表形式存储到第二存储区。
本发明的数据库管理方法及***,将数据直接存储到第一存储区,并且将数据异步地传输到第二存储区而以数据表形式存储,能够实现同时支持对数据进行关系型存储和非关系型存储,从而为数据库支持更丰富的数据处理场景提供了技术准备和支撑。
本发明提供的一种数据库,能够达到上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库数据管理方法的流程图;
图2(a)为本发明一实施例中将第一存储区的存储数据传输到第二存储区进行存储的示意图;
图2(b)为本发明一实施例中从第二存储区读取数据的示意图;
图3为本发明实施例提供的一种数据库数据管理方法中响应数据读取请求的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种数据库数据管理方法的流程图,由图可知,所述数据库数据管理方法包括以下步骤:
S10:当接收到写入数据时,根据所述写入数据创建数据表并将所述数据表的模式信息存储到第二存储区。
所述数据表定义了对写入数据进行存储的格式,数据表的模式信息描述了数据表的行、列的关系以及根据该数据表将写入数据存储的格式。
在接收到客户端提供的写入数据时,根据写入数据创建数据表,并将所创建的数据表的模式信息存储到第二存储区。可选的,第二存储区可以是分布式存储节点中的任意一个存储节点。
S11:将所述写入数据存储到第一存储区。
在接收到写入数据时直接将写入数据存储到第一存储区。可选的,可以根据写入数据的标识信息生成标识,将写入数据生成所述标识指向的数据,从而将写入数据存储到第一存储区。在第一存储区可以将写入数据以行存形式存储,将写入数据中的初始键编码形成键,其它数据作为键指向的数据对应存储。
可选的,第一存储区可以采用可嵌入式的支持持久化的键-值存储***,在该存储***中所有数据按序存放,常见操作包括Get(key)、Put(key)、Delete(key)和Scan(key)。该存储***有三个基本结构:RocksDB memtable、sstfile和logfile。memtable是一个内存数据结构,会将新数据***到memtable和日志文件(可选)。日志文件是顺序写入的,位于磁盘。当memtable写满后,数据会被刷新到磁盘上的sstfile文件,同时相应的日志文件可以安全地删除。sstfile中的数据是经过排序的,目的是为了加快键查找。
进一步优选的,第一存储区可包括多个节点,多个节点包括管理节点和成员节点,所述管理节点用于获取客户端传输的所述写入数据,并将所述写入数据生成写入数据副本而传输到所述成员节点,所述成员节点用于根据所述管理节点的指示将写入数据副本存储。该存储方式中,会先在节点集群中选举出管理节点,管理节点负责接收来自客户端的事务请求,并通知集群中的其它节点,保证其它节点与自身的日志同步。当管理节点宕机后集群中的其它节点会发起选举而重新选举出管理节点。
S12:将存储到所述第一存储区的所述写入数据传输到所述第二存储区,以根据所述数据表的模式信息将所述写入数据以数据表形式存储到所述第二存储区。
将存储到第一存储区的写入数据推送传输到第二存储区,进而根据所创建的数据表的模式信息将写入数据以数据表形式存储到第二存储区。可选的,创建的数据表包括多个列,各个列分别存储写入数据的不同字段的数据。可为每个字段分配一个数据类型,定义它们的数据长度和其他属性,字段可以包含各种字符、数字甚至图形。数据表的一行称为一条记录,行和列的交叉位置表示某个属性值。示例性的,请参考图2(a),图2(a)为一实施例中将第一存储区的存储数据传输到第二存储区进行存储的示意图。可看出,在第一存储区数据以键-值形式存储,将第一存储区的数据传输到第二存储区后将数据进行列式拆分,按照数据表指定的格式重组而存储。
本实施例方法中当将写入数据在第一存储区存储完成后,即可返回执行结果,不需要等待在第二存储区中写入数据完成。
优选的,本实施例方法中由于从第一存储区到第二存储区传输所要写入数据过程中不包含数据的模式信息,针对此本实施例方法建立模式信息更新触发机制,当创建的数据表的模式信息改变时,将改变后的模式信息存储到第二存储区,以更新第二存储区存储的模式信息,从而保证第二存储区存储的模式信息保持更新。
本实施例的数据库数据管理方法,将数据直接存储到第一存储区,并且将数据异步地传输到第二存储区以数据表形式存储,能够实现同时支持对数据进行关系型存储和非关系型存储,从而为数据库支持更丰富的数据处理场景提供了技术准备和支撑。
进一步的请参考图3,图3为又一实施例的数据库数据管理方法中响应数据读取请求的方法流程图,由图可知本实施例的数据库数据管理方法还包括以下步骤:
S20:接收到数据读取请求,所述数据读取请求指示从所述第二存储区读取数据。
写入数据分别存储在第一存储区和第二存储区,在第一存储区和第二存储区可能以不同的形式将数据存储。在实际应用场景中,应用端可能要求以第一存储区存储数据的形式读取获得数据,此时就需要从第一存储区读取数据;或者可能要求以第二存储区存储数据的形式读取数据,此时需要从第二存储区读取数据。
当接收到数据读取请求时,根据数据读取请求的要求从第一存储区读取数据或者从第二存储区读取数据。本实施例方法中,将写入数据直接存储在第一存储区,因此当数据读取请求指示从第一存储区读取数据时,可以根据数据读取请求直接从第一存储区读取数据,返回给应用端。
若数据读取请求指示从第二存储区读取数据,由于在将写入数据存储时是通过将第一存储区写入的数据传输到第二存储区进行存储,接收到数据读取请求时向第二存储区传输数据进行存储不一定写入成功或者尚未同步完成,因此为了读取获得最新数据,需要保证从第二存储区读取数据时第二存储区存储的数据与第一存储区存储的数据一致。
S21:判断所述第二存储区存储的数据与所述第一存储区存储的数据是否一致。若是,则进入步骤S22,若否,则进入步骤S23。
S22:响应所述数据读取请求。
若当前第二存储区存储的数据与第一存储区存储的数据一致,则可以直接响应数据读取请求,根据数据读取请求从第二存储区读取数据。
S23:等待所述第一存储区的存储数据传输到所述第二存储区并完成存储。并在第一存储区的存储数据传输到第二存储区并完成存储之后,进入步骤S22。示例性的,请参考图2(b),图2(b)为一实施例中从第二存储区读取数据的示意图。
相应的,本发明实施例还提供一种数据库数据管理***,用于执行以上所述的数据库数据管理方法。
本实施例的数据库数据管理***,当接收到写入数据时,根据写入数据创建数据表并将数据表的模式信息存储到第二存储区,将写入数据存储到第一存储区,然后将存储到第一存储区的写入数据传输到第二存储区,以根据数据表的模式信息将写入数据以数据表形式存储到第二存储区。本实施例的数据库数据管理***,将数据直接存储到第一存储区,并且将数据异步地传输到第二存储区以数据表形式存储,能够实现同时支持对数据进行关系型存储和非关系型存储,从而为数据库支持更丰富的数据处理场景提供了技术准备和支撑。
相应的,本发明实施例还提供一种数据库,包括以上所述的数据库数据管理***。
本实施例的数据库当接收到写入数据时,根据写入数据创建数据表并将数据表的模式信息存储到第二存储区,将写入数据存储到第一存储区,然后将存储到第一存储区的写入数据传输到第二存储区,以根据数据表的模式信息将写入数据以数据表形式存储到第二存储区。本实施例的数据库将数据直接存储到第一存储区,并且将数据异步地传输到第二存储区以数据表形式存储,能够实现同时支持对数据进行关系型存储和非关系型存储,从而为数据库支持更丰富的数据处理场景提供了技术准备和支撑。
以上对本发明所提供的一种数据库数据管理方法及***、数据库进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种数据库数据管理方法,其特征在于,包括:
当接收到写入数据时,根据所述写入数据创建数据表并将所述数据表的模式信息存储到第二存储区;
将所述写入数据存储到第一存储区;
将存储到所述第一存储区的所述写入数据传输到所述第二存储区,以根据所述数据表的模式信息将所述写入数据以数据表形式存储到所述第二存储区。
2.根据权利要求1所述的数据库数据管理方法,其特征在于,将所述写入数据存储到第一存储区包括:根据所述写入数据的标识信息生成标识,将所述写入数据生成所述标识指向的数据,将所述写入数据存储到所述第一存储区。
3.根据权利要求1所述的数据库数据管理方法,其特征在于,所述第一存储区包括多个节点,多个节点包括管理节点和成员节点,所述管理节点用于获取客户端传输的所述写入数据,并将所述写入数据生成写入数据副本而传输到所述成员节点,所述成员节点用于根据所述管理节点的指示将写入数据副本存储。
4.根据权利要求1所述的数据库数据管理方法,其特征在于,当创建的所述数据表的模式信息改变时,将改变后的模式信息存储到所述第二存储区,以更新所述第二存储区存储的模式信息。
5.根据权利要求1所述的数据库数据管理方法,其特征在于,将所述写入数据以数据表形式存储到所述第二存储区包括:所述数据表包括多个列,各个列分别存储所述写入数据的不同字段的数据。
6.根据权利要求1-5任一项所述的数据库数据管理方法,其特征在于,当接收到数据读取请求时,若所述数据读取请求指示从所述第二存储区读取数据,则判断所述第二存储区存储的数据与所述第一存储区存储的数据是否一致;
若是,则响应所述数据读取请求,若否,则在所述第一存储区的存储数据传输到所述第二存储区并完成存储之后,响应所述数据读取请求。
7.一种数据库数据管理***,其特征在于,用于执行权利要求1-6任一项所述的数据库数据管理方法。
8.一种数据库,其特征在于,包括权利要求7所述的数据库数据管理***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364309.0A CN112395294B (zh) | 2020-11-27 | 2020-11-27 | 一种数据库数据管理方法及***、数据库 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364309.0A CN112395294B (zh) | 2020-11-27 | 2020-11-27 | 一种数据库数据管理方法及***、数据库 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395294A true CN112395294A (zh) | 2021-02-23 |
CN112395294B CN112395294B (zh) | 2023-07-18 |
Family
ID=74605461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011364309.0A Active CN112395294B (zh) | 2020-11-27 | 2020-11-27 | 一种数据库数据管理方法及***、数据库 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395294B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535729A (zh) * | 2021-07-21 | 2021-10-22 | 浪潮云信息技术股份公司 | 一种基于RocksDB实现行列混合存储的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294421A (zh) * | 2015-05-25 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种数据写入、读取方法及装置 |
CN110032604A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 数据存储装置、转译装置及数据库访问方法 |
CN111209304A (zh) * | 2019-12-30 | 2020-05-29 | 华为技术有限公司 | 数据处理方法、装置及*** |
CN111797279A (zh) * | 2020-07-17 | 2020-10-20 | 西安数据如金信息科技有限公司 | 一种存储数据的方法及装置 |
CN111858097A (zh) * | 2020-07-22 | 2020-10-30 | 安徽华典大数据科技有限公司 | 分布式数据库***、数据库访问方法 |
CN111984696A (zh) * | 2020-07-23 | 2020-11-24 | 深圳市赢时胜信息技术股份有限公司 | 一种新型数据库和方法 |
-
2020
- 2020-11-27 CN CN202011364309.0A patent/CN112395294B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294421A (zh) * | 2015-05-25 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种数据写入、读取方法及装置 |
CN110032604A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 数据存储装置、转译装置及数据库访问方法 |
CN111209304A (zh) * | 2019-12-30 | 2020-05-29 | 华为技术有限公司 | 数据处理方法、装置及*** |
CN111797279A (zh) * | 2020-07-17 | 2020-10-20 | 西安数据如金信息科技有限公司 | 一种存储数据的方法及装置 |
CN111858097A (zh) * | 2020-07-22 | 2020-10-30 | 安徽华典大数据科技有限公司 | 分布式数据库***、数据库访问方法 |
CN111984696A (zh) * | 2020-07-23 | 2020-11-24 | 深圳市赢时胜信息技术股份有限公司 | 一种新型数据库和方法 |
Non-Patent Citations (2)
Title |
---|
赵江: "基于LevelDB的分布式数据库的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》 * |
赵江: "基于LevelDB的分布式数据库的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》, no. 01, 15 January 2020 (2020-01-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535729A (zh) * | 2021-07-21 | 2021-10-22 | 浪潮云信息技术股份公司 | 一种基于RocksDB实现行列混合存储的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112395294B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303691B2 (en) | Column-oriented database processing method and processing device | |
US6125360A (en) | Incremental maintenance of materialized views containing one-to-N lossless joins | |
US20230161758A1 (en) | Distributed Database System and Data Processing Method | |
US6134543A (en) | Incremental maintenance of materialized views containing one-to-one lossless joins | |
US20120221534A1 (en) | Database index management | |
CN111190935B (zh) | 数据读取方法、装置、计算机设备及存储介质 | |
US20220207036A1 (en) | Data access method and apparatus, and data storage method and apparatus | |
EP4170509A1 (en) | Method for playing back log on data node, data node, and system | |
CN112286941A (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
CN113495872A (zh) | 分布式数据库中的事务处理方法及*** | |
CN103810219A (zh) | 一种基于行存储数据库的数据处理方法及装置 | |
CN104317944A (zh) | 一种基于公式的时间戳动态调整并发控制方法 | |
CN112612799A (zh) | 一种数据同步方法及终端 | |
CN106354732A (zh) | 一种支持并发协同的离线数据版本冲突解决方法 | |
CN116108057A (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN115617571A (zh) | 一种数据备份方法、装置、***、设备及存储介质 | |
CN112395294B (zh) | 一种数据库数据管理方法及***、数据库 | |
CN112000649A (zh) | 一种基于map reduce的增量数据同步的方法和装置 | |
JPH04219844A (ja) | 高速媒体優先解放型排他方式 | |
CN113448964A (zh) | 一种基于图-kv的混合存储方法及装置 | |
CN115408383A (zh) | 高并发数据入库方法、装置、电子设备及存储介质 | |
JPH09146804A (ja) | データ整合装置 | |
US8706769B1 (en) | Processing insert with normalize statements | |
JP2933486B2 (ja) | データベースの同時全件検索方法 | |
CN115905402B (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 |