CN103473321A - 数据库管理方法与系统 - Google Patents
数据库管理方法与系统 Download PDFInfo
- Publication number
- CN103473321A CN103473321A CN2013104162299A CN201310416229A CN103473321A CN 103473321 A CN103473321 A CN 103473321A CN 2013104162299 A CN2013104162299 A CN 2013104162299A CN 201310416229 A CN201310416229 A CN 201310416229A CN 103473321 A CN103473321 A CN 103473321A
- Authority
- CN
- China
- Prior art keywords
- fragment
- logical partition
- data
- physical extents
- partition
- 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.)
- Pending
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/24—Querying
- G06F16/248—Presentation of query results
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)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据库管理方法与系统。方法包括:数据库系统将数据分区划分为物理分区层和逻辑分区层;其中,物理分区层用于存储所述数据库系统的物理分区片段,物理分区片段为分区表的各条数据记录的集合;逻辑分区层用于存储数据库系统的逻辑分区片段,以提供分区表的逻辑分区信息;逻辑分区片段与所述物理分区片段通过映射关系互相映射;数据库系统接收用户的数据操作指令,确定数据操作指令所请求操作的数据记录所属的逻辑分区片段;根据数据操作指令和映射关系确定物理分区层中与确定出的逻辑分区片段对应的物理分区片段,以对数据操作指令对应请求操作的数据记录进行操作。本发明能够提高数据库系统的性能。
Description
技术领域
本发明涉及数据库技术,尤其涉及一种数据库管理方法与系统。
背景技术
分区是数据库系统的重要功能,分区将大的数据表分而治之,用分区表表示,分区表还可以包括分区片段,合理的分区能使数据库系统性能提高,可减少系统对数据的读写次数,减小数据库服务器处理数据的规模,便于对数据库的管理。分区策略是设计人员设定的对大数据表分区的聚簇策略,分区策略规定数据表的一个数据记录映射到哪个分区片段。数据库系统还提供对数据分区的管理功能,实现对分区的管理。
现有技术的数据库系统支持三种基本分区策略:范围分区、列表分区、散列分区,或支持其他扩展分区策略和组合分区策略。分区策略和分区片段数量对分区表的性能影响重大。如果分区片段过大,导致分区的优势不能充分发挥;如果分区片段过小,使得分区表数量太多,从而增加查询优化的时间,分区管理上也会更复杂。
现有技术对数据分区的管理功能,包括增加分区片段、删除分区片段(针对范围分区和列表分区),减少分区片段(针对散列分区)、合并分区片段、分裂分区片段,修改分区表名等。实施这些管理操作时,不仅可能会修改分区元组的数据,而且还可能导致数据在分区表之间迁移。
现有技术中,随着数据量的增长,容易存在分区的不合理而导致分区性能和查询性能降低,同时管理操作在拆分、合并分区片段时,容易导致数据迁移代价较高,并有可能锁住部分分区片段或者整张分区表,导致系统性能下降,不利于数据库系统的管理。
发明内容
本发明提供一种数据库管理方法与系统,能够根据数据变化自动调整分区,可降低分区调整的代价,并提高分区的合理性以及数据库系统的管理性能。
第一方面,本发明实施例提供一种数据库管理方法,包括:
数据库系统将数据分区划分为物理分区层和逻辑分区层,
其中,所述物理分区层,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;所述逻辑分区层,用于存储所述数据库系统的逻辑分区片段,以提供所述分区表的逻辑分区信息;所述逻辑分区片段与所述物理分区片段通过映射关系互相映射;
所述数据库系统接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段;
所述数据库系统根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
在第一方面的第一种可能的实现方式中,还包括:
所述数据库系统根据所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断,如果判断当前数据分区不合理,则所述数据库系统对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
根据第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据操作指令具体为:查询指令;相应地,所述根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作,包括:
所述数据库系统接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划;
所述数据库系统根据所述执行计划,根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据库系统根据所述执行计划,触发所述逻辑分区层根据所述查询指令和所述映射关系扫描所述物理分区层中对应的所述物理分区片段,以执行相应的查询操作,具体包括:
所述数据库系统根据所述执行计划和所述查询条件,从所述逻辑分区片段中循环取得数据记录,并根据所述映射关系从与确定出的所述逻辑分区片段对应的所述物理分区片段取得数据记录;
所述数据库系统根据所述查询指令中的信息对所述取得的数据记录进行数据筛选,将所述数据筛选获得的数据记录作为查询结果返回给用户。
根据第一方面或第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述数据操作指令具体为:插入、删除或更新指令;相应地,所述根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作,具体包括:
所述数据库系统根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录;
所述数据库系统根据所述数据记录的所在集合计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段;
所述数据库系统对计算得出的所述物理分区片段内的数据执行插入、删除或更新操作。
根据第一方面的第一种可能的实现方式,在第五种可能的实现方式中,根所述数据库系统根据所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断,如果判断当前数据分区不合理,则所述数据库系统对不合理的所述逻辑分区片段或所述物理分区片段进行调整,包括:
所述数据库系统收集与分区调整相关的数据库系统运行的信息;
其中,所述数据库系统运行的信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;
所述数据库系统利用所述数据库系统运行的信息,判断当前数据分区是否合理;
当判断出当前数据分区不合理时,所述数据库系统重新规划分区方案;
所述数据库系统根据所述重新规划的分区方案,对所述逻辑分区片段和\或所述物理分区片段进行调整。
根据第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述数据库系统利用所述数据库系统运行的信息,判断当前数据分区是否合理,包括:
所述数据库系统根据所述数据库系统运行的信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,其中,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
根据第一方面的第五种可能的实现方式,在第七种可能的实现方式中,所述数据库系统根据所述重新计算的所述逻辑分区层和所述物理分区层对所述逻辑分区片段和\或所述物理分区片段进行调整,包括:
所述数据库系统根据所述重新规划的分区方案,通过对所述逻辑分区片段的增加、删除、合并、拆分调整所述逻辑分区层,和\或,通过对所述物理分区片段的拆分调整所述物理分区层。
根据第一方面、第一方面的第一种至第七种可能的实现方式中的任意一种,在第八种可能的实现方式中,一个所述逻辑分区片段对应一个或多个所述物理分区片段。
第二方面,本发明实施例提供一种数据库系统,包括:
物理分区层,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;
逻辑分区层,用于存储所述数据库系统的逻辑分区片段,以提供分区表的逻辑分区信息;所述逻辑分区片段与所述物理分区片段通过映射关系互相映射;
处理模块,用于接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段;根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
在第二方面的第一种可能的实现方式中,还包括:
分区管理装置,用于根据收集的所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断;如果判断当前数据分区不合理,则对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
根据第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据操作指令具体为:查询指令;相应地,所述处理模块包括:
查询优化器,用于接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划;
执行引擎,用于根据所述查询优化器生成的执行计划,触发所述逻辑分区层根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述执行引擎具体用于:
根据所述查询优化器生成的执行计划和所述查询条件,从所述逻辑分区片段中循环取得数据记录,并根据所述映射关系从与确定出的所述逻辑分区片段从对应的所述物理分区片段取得数据记录;
根据所述查询指令中的信息对所述取得的数据记录进行数据筛选,将所述数据筛选获得的数据记录作为查询结果返回给用户。
根据第二方面或第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述数据操作指令具体为:插入、删除或更新指令;相应地,所述处理模块体用于:
根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录;
根据所述数据记录的所在集合,计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段;
根据所述逻辑分区层对对计算得出的所述物理分区片段内的数据记录执行插入、删除或更新操作。
根据第二方面的第一种可能的实现方式,在第五种可能的实现方式中,所述分区管理装置具体包括:
分区信息收集单元,用于收集与分区调整相关的数据库系统运行的信息;
其中,所述数据库系统运行信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;
分区决策单元,用于利用所述数据库系统运行的信息,判断当前数据分区是否合理;当判断出当前数据分区不合理时,重新规划分区方案;
分区调整单元,用于根据所述重新规划的分区方案,对所述逻辑分区片段和\或所述物理分区片段进行调整。
根据第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述分区决策单元具体用于:
根据所述分区信息收集单元收集的所述数据库系统运行的信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,其中,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
根据第二方面的第五种可能的实现方式,在第七种可能的实现方式中,所述分区调整单元具体用于:
根据所述重新规划的分区方案,通过对所述逻辑分区片段的增加、删除、合并、拆分调整所述逻辑分区层,和\或,通过对所述物理分区片段的拆分进行调整。
根据第二方面、第二方面的第一种至第七种可能的实现方式中的任意一种,在第八种可能的实现方式中,一个所述逻辑分区片段对应一个或多个所述物理分区片段。
本发明实施例提供的数据库管理方法与系统,通过将数据分区分为物理分区层和逻辑分区层;逻辑分区片段与对应的物理分区片段相映射;逻辑分区层通过扫描物理分区层中对应的物理分区片段,能够响应查询优化器、执行引擎以及分区管理装置对对应的物理分区片段的操作。本发明实施例由于采用了将数据分区为物理分区层和逻辑分区层的分层方法,能够避免调整分区导致的大规模数据迁移,因而能够降低分区调整的代价。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为分层分区的数据库结构示意图;
图2为本发明数据库管理方法实施例一的流程图;
图3为本发明数据库管理方法实施例二的流程图;
图4为本发明数据库管理方法应用于查询操作的过程示意图;
图5为本发明数据库管理方法实施例三的流程图;
图6为本发明数据库管理方法实施例四的流程图;
图7为图6所示实施例中数据分区合理性判断过程的示意图;
图8为本发明数据库系统实施例一的结构示意图;
图9为本发明数据库系统实施例二的结构示意图;
图10为本发明数据库系统中分区管理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在数据库系统中,数据分区是否合理直接影响数据库系统的性能,当数据库管理员(Database Administrator,简称:DBA)采用一个不合理的分区方案,可能导致数据库系统的性能很低;并且,随着数据库系统中数据量的的增长,可能导致分区方案由合理变为不合理,因此需要重新调整分区方案,现有技术的数据库管理方法,在调整分区时,例如在拆分或合并分区子表时,由于涉及的数据量较大,导致数据迁移的代价较高。
数据库系统可以包括:分区管理装置、查询优化器和执行引擎。
其中,数据的分区可以由分区管理装置来完成。
查询优化器是数据库系统结构化查询语言(Structured Query Language,简称:SQL)引擎的功能部件,为数据操纵语言(Data Manipulation Language,简称:DML)语句生成执行计划。执行引擎可以是数据库系统的执行引擎,执行引擎接收查询优化器的执行计划,执行查询、插入、删除或更新等操作。
本发明实施例提出了数据分区的一种数据库管理方法,将数据分区划分为物理分区层和逻辑分区层,图1为分层分区的数据库结构示意图,如图1所示,数据表中的数据记录在物理上以物理分区策略聚簇,即物理分区片段,在逻辑上以逻辑分区策略聚簇,即逻辑分区片段。逻辑分区层居于物理分区层之上,一个逻辑分区片段可以对应于一个或多个物理分区片段。例如,图1中,逻辑分区层中的数据位L1,L2,……至Li,i为大于1的整数,而物理分区层中的对应于L1数据为P11,……至P1n,对应于Li数据为Pi1,……至Pim,n和m均为大于0的整数。
具体地,物理分区层和逻辑分区层的功能和属性分别如下:
物理分区层:体现数据表中的数据记录在存储介质上的聚簇方式。分区表的数据记录在存储介质上以物理分区策略聚簇。物理分区策略和分区粒度由分区管理装置决定。物理分区层的功能包括:存储物理分区片段;根据逻辑分区层的指令,对物理分区中的数据进行增加、删除、查询、或修改的操作;根据分区管理装置的指令,进行物理分区表的创建、删除、拆分、合并等管理操作。
而数据库系统中的查询优化器和执行引擎不对物理分区层进行直接的操作。
逻辑分区层:体现数据表的元组在逻辑上的聚簇方式。当然,逻辑分区策略与物理分区策略息息相关,逻辑分区策略受限于物理分区策略。一个逻辑分区片段可以映射到一个或多个物理分区片段;反之,一个对上层可用的物理分区片段必定映射到一个且只能映射到一个逻辑分区片段上。换句话说,逻辑分区层的逻辑片段数量相对于物理分区层中的物理分区片段较少。
逻辑分区层的功能包括:为查询优化器提供分区表的逻辑分区信息,作为分区剪枝的依据;当数据库服务器执行查询语句时,逻辑分区层为执行引擎提供服务:对逻辑分区片段执行序列(Sequence)扫描或者索引扫描;通过扫描物理分区层上的与之映射的物理分区片段来响应执行引擎的请求;当数据库服务器执行插入、删除或更新等操作时,逻辑分区层根据执行引擎的指令,对逻辑分区片段上的元组执行插入、删除或更新等操作;逻辑分区层通过数据记录路由将对数据记录的插入、删除或更新等操作落实到物理分区片段上;根据分区管理装置的指令,收集逻辑分区信息、进行逻辑分区表的创建、删除、合并、拆分等管理操作。
可以看出,分区管理装置对逻辑分区表的管理操作只涉及到逻辑分区元数据的修改,所以管理代价较低。
下面介绍本发明实施例的数据库管理方法,图2为本发明数据库管理方法实施例一的流程图,本实施例的方法由数据库系统执行,如图2所示,所述方法可以包括:
S201、数据库系统将数据分区划分为物理分区层和逻辑分区层,其中,所述物理分区层,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;所述逻辑分区层,用于存储所述数据库系统的逻辑分区片段,以提供所述分区表的逻辑分区信息;所述逻辑分区片段与对应的所述物理分区片段相映射。
具体地,可以由数据库系统中的分区管理装置执行S201。
首先对以下术语的含义做以解释:元组:表示关系数据表中的一条数据记录;分区表:表示在逻辑上数据分区中的完整的数据表;分区键:表示数据分区中分区策略所使用的数据表的一个或多个列,分区键用于根据某个区间值或范围值、特定值列表或散列函数值执行数据的聚集;分区片段:分区表根据分区策略划分之后的片段叫做分区片段,包括物理分区片段和逻辑分区片段。
具体的,物理分区层体现数据表的元组在存储介质上的聚簇方式。分区表的元组在存储介质上以物理分区策略聚簇。物理分区策略和分区粒度由分区管理装置决定。其中分区粒度代表分区的单位,例如是以月或年来分区。
逻辑分区层体现数据表的元组在逻辑上的聚簇方式。并且,逻辑分区策略与物理分区策略息息相关,逻辑分区策略受限于物理分区策略。一个逻辑分区片段可以映射到一个或多个物理分区片段;反之,一个对上层可用的物理分区片段必定映射到一个且只能映射到一个逻辑分区片段上。即逻辑分区层的逻辑片段数量相对于物理分区层中的物理分区片段较少,并且,在具体实现时,分区管理装置可以控制各个逻辑分区片段的大小一致,以便于管理。
S202、所述数据库系统接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段。
S203、根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
具体的,逻辑分区层可以根据数据库系统中的查询优化器、执行引擎以及分区管理装置的指令,对对应的所述物理分区片段进行操作。
逻辑分区层为查询优化器提供的服务包括:为查询优化器提供分区表的逻辑分区信息,作为分区剪枝的依据;其中,分区剪枝是与分区方法紧密相关的技术,例如对所述逻辑分区片段进行分区剪枝,可以排除查询不涉及的逻辑分区片段。分区剪枝技术将应用对分区表的查询映射到对少数几个分区片段的查询。
逻辑分区层为执行引擎提供的服务包括:例如,当数据库服务器执行查询语句时,逻辑分区层对逻辑分区片段执行序列(Sequence)扫描或者索引扫描。逻辑分区层通过扫描物理分区层上的与之映射的物理分区片段来响应执行引擎的请求。进一步的,逻辑分区层也可以采用物理分区剪枝等方法来提高物理分区片段扫描的性能,从而进一步提高查询性能。
逻辑分区层为执行引擎提供的服务包括:例如,当数据库服务器执行插入、删除或更新元组语句时,执行引擎通过逻辑分区层对逻辑分区片段上的元组执行插入、删除或更新操作,逻辑分区层通过元组路由将对元组的插入、删除或更新操作落实到物理分区片段上。
逻辑分区层向分区管理装置提供的服务包括:例如,对逻辑分区信息的收集,对逻辑分区表的创建、删除、合并、拆分等管理操作。对逻辑分区表的管理操作只涉及到逻辑分区元组的数据的修改,所以管理代价很低。
功能上物理分区层提供以下服务:
存储物理分区片段;
向逻辑分区层提供服务:例如,对物理分区的元组执行查询/插入/删除/更新操作;
向分区管理装置提供服务:例如,对物理分区表的创建、删除、拆分、合并等进行管理操作。
物理分区层对查询优化器和执行引擎不可见,物理分区层是通过逻辑分区层与查询优化器和执行引擎建立连接的。
本发明实施例提供的数据库管理方法,通过将数据分区分为物理分区层和逻辑分区层;逻辑分区片段与对应的物理分区片段相映射;逻辑分区层通过扫描物理分区层中对应的物理分区片段,能够响应查询优化器、执行引擎以及分区管理装置对对应的物理分区片段的操作。本发明实施例由于采用了将数据分区为物理分区层和逻辑分区层的分层方法,能够避免调整分区导致的大规模数据迁移,因而能够降低分区调整的代价。
图3为本发明数据库管理方法实施例二的流程图,在本实施例中,所述数据操作指令具体为:查询指令,进一步地,本实施例还包括了对数据库分区的自动调整的方法。如图3所示,本实施例的方法在图2所示实施例的基础上,针对查询操作时,可以包括:
S301、数据库系统接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划。
具体地,S301可以由数据库系统中的查询优化器执行,查询优化器为数据库系统SQL引擎的功能部件,为DML的语句生成执行计划。与分区表相关的功能例如,对查询语句,或者,对插入、删除更新更新元组语句中的查询部分执行分区剪枝。此处分区剪枝只针对逻辑分区,分区剪枝时,查询优化器不直接对物理分区层进行操作。此处的分区剪枝,就是根据对分区表的查询条件,在生成执行计划的阶段判断那些逻辑分区片段是在查询时所不涉及的,并把这部分查询不涉及的逻辑分区片段在生成执行计划阶段就剪除,分区剪枝能极大提高查询性能。
S302、数据库系统根据所述执行计划,根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
具体地,S302可以由数据库系统中的执行引擎执行,执行引擎根据查询优化器生成的执行计划,对所述逻辑分区片段执行相应的查询操作。
可以理解的是,当数据操作指令为插入、删除或更新等操作时,由于同样需要先查询到带操作的数据记录,因此,上述针对查询指令的方法也可以用于插入、删除或更新等操作中的查询部分。
进一步地,数据库系统还可以对数据分区进行自动化管理,具体可以包括:
S303、数据库系统根据所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断,如果判断当前数据分区不合理,则所述数据库系统对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
具体的,S303可以由数据库系统中的分区管理装置执行。其中,数据分区是否合理,可以通过一组特征值进行判断,这组特征值是:
1)分区片段规模上限:分区片段的规模可以定义成分区片段包含的元组数量或分区片段占有存储空间的大小。当某一逻辑分区片段规模大于规模上限时,此逻辑分区片段必须被拆分成更小的逻辑分区片段。逻辑分区片段规模上限由数据库系统指定或者由分区表定义者指定。
2)偏斜因子阈值:两个分区片段的偏斜因子指数据规模中较大规模的表与较小规模表的比值。如果两个分区片段的偏斜因子大于偏斜因子阈值,则认为数据分区发生了数据偏斜,需要调整。
数据分区合理性判断结果分为合理与不合理,其中分区不合理包括:逻辑分区溢出、物理分区溢出、逻辑分区偏斜三种不合理结果。
分区管理装置提供以下服务:
创建分区表时,分区管理装置根据分区键的数据类型,按照默认设置为分区表决定分区策略和分区粒度,可选地,数据库管理员(DatabaseAdministrator,DBA)也可以在创建分区时指定分区策略和分区粒度。
在数据库系统运行过程当中,分区管理装置条件触发(定时触发或者系统某一关键指标的变化等)分区分析过程,分区管理装置根据系统的实时运行信息,判断目前的分区是否合理。如果不合理,分区管理装置决策新的分区策略,并根据新的分区策略对不合理的所述逻辑分区片段或所述物理分区片段进行调整,以实现对数据分区的自动化管理。
本发明实施例提供的数据库管理方法,数据库系统中的查询优化器、执行引擎通过所述逻辑分区片段对对应的所述物理分区片段进行插入、删除或更新等数据库管理的操作,能够提高数据库管理的效率;数据库系统中的分区挂历装置可以根据数据变化自动调整分区,能够提高分区的合理性以及数据库系统的管理性能。
图4为本发明数据库管理方法应用于查询操作的过程示意图,如图4所示,本实施例是根据上述实施例二的方法中实现查询操作的过程(S301和S302)的详细描述。本实施例的方法可以包括:
S401、生成计划树。
具体地,可以由数据库系统中的查询优化器执行S401。
例如,查询开始后查询优化器首先进行结构化查询语言(Structured QueryLanguage,SQL)解析,解析原始SQL语句生成解析树;然后生成计划树,即由解析树生成计划树,其中,S401还包括根据查询条件对分区表进行逻辑分区剪枝,排除查询不涉及的逻辑分区片段。
S402、执行扫描逻辑分区片段。
具体地,可以由数据库系统中的执行引擎以及逻辑分区层和物理分区层执行S402。
所述执行引擎根据预先设置的扫描过滤条件,从所述逻辑分区片段中循环取得数据记录,所述逻辑分区片段从对应的所述物理分区片段取得数据记录;
具体的执行查询过程主要描述对分区表的扫描操作,具体包括:初始化逻辑分区片段扫描,设置扫描过滤条件。其中,包括根据扫描过滤条件进行物理分区剪枝;另外,初始化逻辑分区片段扫描过程是通过初始化底层物理分区片段扫描来实现的,因此设置扫描过滤条件也就是为物理分区片段设置扫描过滤条件。
循环从逻辑分区片段中取元组。逻辑分区层通过从物理分区片段取得元组来实现,例如从逻辑分区片段取一个元组是通过从对应的物理分区片段取一个元组。
判断元组是否为空,如果元组为空,则扫描过程结束,这时跳出循环过程,扫描完毕。
如果元组不为空,则执行元组筛选过程,作为后续的计算的输入;并取下一条元组。
S403、获取查询结果;即经过筛选获取后续计算的数据记录,作为获取的查询结果。
具体地,可以由数据库系统中的查询优化器执行S403。
例如可为获取范围查询结果并返回查询结果集。
至此,整个查询过程结束。
本实施例,可以根据预先设置的扫描过滤条件,从所述逻辑分区片段以及对应的所述物理分区片段取得数据记录,实现对数据记录的查询过程。
图5为本发明数据库管理方法实施例三的流程图,在本实施例中,所述数据操作指令具体为:插入、删除或更新指令。如图5所示,本实施例的方法在图2所示实施例的基础上,针对插入、删除或更新指令操作时,可以包括:
S501、数据库系统根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录。
具体的,所述数据库系统可以根据所述插入、删除或更新指令计算插入、删除或更新的元组:例如,一种获取元组的方法是用户直接输入的元组(比如插入一条新元组),这样在SQL语句解析完之后就能得到元组;另一种获取元组的方法是通过查询从数据表中获取元组(比如条件更新),这种情况下,计算需要获取的目标元组与查询过程相同。
S502、所述数据库系统根据所述数据记录的所在集合计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段。
具体的,所述数据库系统可以根据元组的分区键值计算元组所属的逻辑分区片段:根据逻辑分区策略和映射关系确定元组逻辑分区片段对应的所述物理分区片段。
S501和S502在实际操作时可以与实施例二中S301和S302的查询操作类似。
S503、所述数据库系统对计算得出的所述物理分区片段内的数据执行插入、删除或更新操作。
具体地,执行引擎向逻辑分区层发送元组插入、删除或更新请求,逻辑分区层根据元组的分区键值计算其映射的物理分区片段,并将插入、删除或更新的请求提交到物理分区层来完成。
本发明实施例可以通过从所述逻辑分区片段以及对应的所述物理分区片段取得数据记录,实现对获取的数据记录的插入、删除或更新操作过程。
图6为本发明数据库管理方法实施例四的流程图,如图6所示,本实施例是根据上述实施例二的方法对实现分区自动化管理的过程加以详细描述。
分区管理装置实现对数据分区的自动化管理,具体包括:
S601、分区管理装置的分区信息收集单元收集与分区调整相关的数据库系统运行的信息。
其中,收集的信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;这些信息是分区决策单元的决策依据。
S602、所述分区管理装置的分区决策单元利用所述分区信息收集单元收集的信息,判断当前数据分区不合理时,分区决策单元重新规划分区,计算新的逻辑分区和物理分区。
具体的,如果当前分区合理,则结束此次数据分区调整流程;如果当前分区不合理,分区决策单元根据当前的分区信息重新计算合理的数据分区。
S603、所述分区管理装置的分区调整单元对所述逻辑分区片段或所述物理分区片段进行调整。
分区调整单元执行逻辑数据分区或物理数据分区的调整过程后,结束此次数据分区调整。
优选的,数据库服务器根据一定逻辑自动触发数据分区调整过程,例如根据时间定期触发等方式,所述分区调整单元对数据分区的调整包括:
根据所述收集的信息,判断当前数据分区是否合理;
如果当前数据分区不合理,分区决策单元根据当前的分区信息重新计算合理的数据分区;
所述分区调整单元执行所述逻辑数据分区片段或物理数据分区片段的调整,具体通过对所述逻辑分区片段的增加、删除、合并、拆分时修改逻辑分区元组的数据对所述逻辑分区片段进行调整,或者,通过拆分物理分区对所述物理分区片段进行调整。
具体的,如果分区决策单元判断数据分区需要调整,那么分区调整的过程则由分区调整单元来完成。
分区调整分为两类:
大部分情况下,调整只涉及到逻辑分区。包括逻辑分区片段的增加、删除、合并、拆分等。这些对逻辑分区的调整只需要修改逻辑分区元组的数据即可,而不需要进行分区片段之间的数据迁移。
少部分情况下,由于只调整逻辑分区并不能完全满足性能需求,比如随着生产系统长时间在线运营,导致物理分区片段规模逐渐增大,以致影响查询性能。此时,需要对物理分区进行调整,对物理分区的调整主要是拆分物理分区。
由于调整逻辑分区不需要进行数据迁移,而调整物理分区往往涉及到数据迁移,数据迁移会导致部分分区片段在一段时间内不可用,所以逻辑分区调整的代价相比物理分区调整的代价要低很多。
另外,相比现有不分层的分区技术,分层的数据分区中的物理分区粒度比较小,所以受调整影响的数据量相对较小,从而提高了数据可用性。
图7为图6所示实施例中数据分区合理性判断过程的示意图。本实施例是对上述实施例中实现自动化管理的过程中的数据分区合理性判断过程加以详细描述。
本实施例描述一种数据分区合理性判断过程,用来证明本发明是可实施的。但本发明的思想并不以此为限,采用与本实施例描述过程不同的其它实施例并不影响对数据分区的分层思想和数据分区调整过程的保护。
优选的,所述分区决策单元根据所述分区信息收集单元收集的所述信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
具体的,数据分区的合理性判断以一组特征值为依据,这组特征值是:
1)分区片段规模上限:分区片段的规模可以定义成分区片段包含的元组数量或分区片段占有存储空间的大小。包括逻辑分区片段规模和物理分区片段规模。例如当某一逻辑分区片段规模大于逻辑分区片段规模上限时,此逻辑分区片段可以被拆分成更小的逻辑分区片段。逻辑分区片段规模上限可以由数据库系统指定或者由分区表定义者指定。物理分区片段规模同样道理。
2)偏斜因子阈值:两个分区片段的偏斜因子指逻辑分区片段规模中较大规模的表与较小规模表的规模数值的比值。如果两个逻辑分区片段的偏斜因子大于偏斜因子阈值,则认为数据分区发生了数据偏斜,需要调整。
数据分区合理性判断结果分为合理与不合理,其中分区不合理包括:逻辑分区溢出、物理分区溢出、逻辑分区偏斜三种不合理结果,可以分别对应逻辑分区片段规模超过限值、物理分区片段规模超过限值、两个逻辑分区片段的偏斜因子大于偏斜因子阈值。
如图7所示,数据分区合理性判断过程具体包括:
判断开始后,首先执行:
S701、初始化最小分区片段句柄、最小分区片段规模、最大分区片段句柄、最大分区片段规模。
例如设置最小分区片段规模minPart=MAX,最大分区片段规模maxPart=0,其中包括对最大或最小物理分区片段句柄及规模minPart1、maxPart1的初始化,以及对最大或最小逻辑分区片段句柄及规模minPart2、maxPart2的初始化。
S702、遍历所有逻辑分区片段。
S703、判断是否还有下一个逻辑分区片段,如果为空,即若否,则没有下一个逻辑分区片段,则转去执行S709;如果为是,则执行:
S704、更新minPart2或maxPart2。
例如,如果逻辑分区片段规模小于最小逻辑分区片段规模minPart2,则更新最小逻辑分区片段句柄和最小逻辑分区片段规模minPart2。否则,如果逻辑分区片段规模大于最大逻辑分区片段规模maxPart2,则更新最大逻辑分区句柄和最大逻辑分区片段规模maxPart2;
S705、判断逻辑分区片段规模是否超过逻辑分区片段规模上下限预设值。
例如,如果逻辑分区片段规模不大于最大逻辑分区片段规模maxPart2,即为否,则判断此逻辑分区片段合理,转到S703;否则为是,则执行S706;
S706、遍历此逻辑分区片段对应的所有物理分区片段,判断物理分区片段规模是否超过物理分区片段规模上下限预设值。
判断结果分为:如果为是,则执行S707,如果为否,则执行S708。
S707、此物理分区片段过大,记录过大的物理分区片段。
S708、此逻辑分区片段过大,记录过大的逻辑分区片段。
举例来说,如果为否,比如所有物理分区片段规模小于最大物理分区片段规模maxPart1,则判断结果为逻辑分区片段不合理;如果为是,比如至少有一个物理分区片段规模大于等于最大物理分区片段规模maxPart1,则判断结果为此物理分区片段不合理。记录不合理的逻辑分区片段或物理分区片段;
S709、判断是否maxPart2/minPart2大于偏斜因子阈值。
如果经过上述步骤没有发现物理分区片段或者逻辑分区片段不合理,则计算拥有最大逻辑分区片段规模和最小逻辑分区片段规模的两个分区片段的偏斜因子,即maxPart2/minPart2,并判断该偏斜因子的计算值是否大于偏斜因子阈值。如果为否,即偏斜因子小于偏斜因子阈值,则认为数据分区合理,不需要进行调整。
否则为是,则执行S710。
S710、记录发生偏斜的两个逻辑分区片段。
这时判断结果为逻辑分区发生偏斜,即分区不合理,需要进行逻辑分区调整。
最后记录合理性判断结果,结束数据分区合理性判断过程。
图8为本发明数据库系统实施例一的结构示意图,如图8所示,所述系统包括:
物理分区层801,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;
逻辑分区层802,用于存储所述数据库系统的逻辑分区片段,以提供分区表的逻辑分区信息;所述逻辑分区片段与所述物理分区片段通过映射关系互相映射。
处理模块803,用于接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段;根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
本发明实施例提供的数据库系统,数据分区分为物理分区层和逻辑分区层;逻辑分区片段与对应的物理分区片段相映射;逻辑分区层通过扫描物理分区层中对应的物理分区片段,能够响应查询优化器、执行引擎以及分区管理装置对对应的物理分区片段的操作。本发明实施例由于采用了将数据分区为物理分区层和逻辑分区层的分层方法,能够避免调整分区导致的大规模数据迁移,因而能够降低分区调整的代价。
图9为本发明数据库系统实施例二的结构示意图,如图9所示其中,所述物理分区层801,例如包括图1中的P11,……至P1n,P...,Pi1,……至Pim;所述逻辑分区层802,例如包括图1中的L1,L2,……至Li;所述逻辑分区片段通过映射关系与对应的所述物理分区片段相映射;逻辑分区层中的元组可以与物理分区层中的元组相联系,具体可以通过元组路由(图中未示出)相联系。
优选的,所述系统还可以包括:
分区管理装置804,用于根据收集的所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断;如果判断当前数据分区不合理,则对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
进一步地,所述数据操作指令具体可以为:查询指令,相应地,所述处理模块803可以包括:
查询优化器8031,用于接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划;
执行引擎8032,用于根据所述查询优化器8031生成的执行计划,触发所述逻辑分区层根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
优选的,所述执行引擎8032具体可以用于:
根据所述查询优化器生成的执行计划和所述查询条件,从所述逻辑分区片段中循环取得数据记录,并根据所述映射关系从与确定出的所述逻辑分区片段从对应的所述物理分区片段取得数据记录;
根据所述查询指令中的信息对所述取得的数据记录进行数据筛选,将所述数据筛选获得的数据记录作为查询结果返回给用户。
进一步地,所述数据操作指令具体可以为:插入、删除或更新指令;相应地,所述处理模块803具体可以用于:
根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录;
根据所述数据记录的所在集合,计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段;
根据所述逻辑分区层对计算得出的所述物理分区片段内的数据记录的执行插入、删除或更新操作。
图10为本发明数据库系统中分区管理装置的结构示意图,如图9所示,优选的,所述分区管理装置804具体可以包括:
分区信息收集单元8041,用于收集与分区调整相关的数据库系统运行的信息;
其中,所述数据库系统运行信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;
分区决策单元8042,用于利用所述所述数据库系统运行的信息,判断当前数据分区是否合理;当判断出当前数据分区不合理时,重新规划分区方案;
分区调整单元8043,用于根据所述重新规划的分区方案,对所述逻辑分区片段和\或所述物理分区片段进行调整。
优选的,所述分区决策单元8042具体用于:
根据所述分区信息收集单元8041收集的所述数据库系统运行的信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,其中,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
优选的,所述分区调整单元8043具体用于:
根据所述重新规划的分区方案,通过对所述逻辑分区片段的增加、删除、合并、拆分调整所述逻辑分区层,和\或,通过对所述物理分区片段的拆分进行调整。
优选的,一个所述逻辑分区片段对应一个或多个所述物理分区片段。
本发明上述各实施例中,数据分区系统为分区表自动选择合理的分区策略和分区粒度,避免了因为DBA采用一个不合理的分区可能导致分区性能很低;随着数据量的增长,数据分区系统根据数据变化自动调整分区,在不需要DBA干预的前提下能及时发现不合理的分区并进行及时调整;同时,数据分区系统利用物理分区和逻辑分区分层思想,大多数情况下避免了因为分区调整导致的大规模的数据迁移,极大降低分区调整的代价;数据分区系统的自动分区调整将DBA从复杂的分区管理中解脱出来,由于分区调整的依据是数据库系统运行的实时信息,所以可以保证调整后的分区策略是合理的。而且不需要长时间的验证;因为引入了分层的数据分区,所以可以充分利用存储集群系统的性能优势,将逻辑分区层以下的部分在存储集群上实现,极大提高了查询效率。
综上所述,本发明实施例提供的数据库管理方法与系统,通过将数据分区分为物理分区层和逻辑分区层;所述逻辑分区片段与对应的所述物理分区片段相映射;所述逻辑分区层通过扫描所述物理分区层中对应的所述物理分区片段,能够响应查询优化器、执行引擎以及分区管理装置对对应的所述物理分区片段的操作。本发明实施例可以根据数据变化自动调整分区,能够提高分区的合理性以及数据库系统的管理性能。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (18)
1.一种数据库管理方法,其特征在于,包括:
数据库系统将数据分区划分为物理分区层和逻辑分区层,
其中,所述物理分区层,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;所述逻辑分区层,用于存储所述数据库系统的逻辑分区片段,以提供所述分区表的逻辑分区信息;所述逻辑分区片段与所述物理分区片段通过映射关系互相映射;
所述数据库系统接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段;
所述数据库系统根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述数据库系统根据所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断,如果判断当前数据分区不合理,则所述数据库系统对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
3.根据权利要求1或2所述的方法,其特征在于,所述数据操作指令具体为:查询指令;相应地,所述根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作,包括:
所述数据库系统接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划;
所述数据库系统根据所述执行计划,根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
4.根据权利要求3所述的方法,其特征在于,所述数据库系统根据所述执行计划,触发所述逻辑分区层根据所述查询指令和所述映射关系扫描所述物理分区层中对应的所述物理分区片段,以执行相应的查询操作,具体包括:
所述数据库系统根据所述执行计划和所述查询条件,从所述逻辑分区片段中循环取得数据记录,并根据所述映射关系从与确定出的所述逻辑分区片段对应的所述物理分区片段取得数据记录;
所述数据库系统根据所述查询指令中的信息对所述取得的数据记录进行数据筛选,将所述数据筛选获得的数据记录作为查询结果返回给用户。
5.根据权利要求1或2所述的方法,其特征在于,所述数据操作指令具体为:插入、删除或更新指令;相应地,所述根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作,具体包括:
所述数据库系统根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录;
所述数据库系统根据所述数据记录的所在集合计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段;
所述数据库系统对计算得出的所述物理分区片段内的数据执行插入、删除或更新操作。
6.根据权利要求2所述的方法,其特征在于,所述数据库系统根据所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断,如果判断当前数据分区不合理,则所述数据库系统对不合理的所述逻辑分区片段或所述物理分区片段进行调整,包括:
所述数据库系统收集与分区调整相关的数据库系统运行的信息;
其中,所述数据库系统运行的信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;
所述数据库系统利用所述数据库系统运行的信息,判断当前数据分区是否合理;
当判断出当前数据分区不合理时,所述数据库系统重新规划分区方案;
所述数据库系统根据所述重新规划的分区方案,对所述逻辑分区片段和\或所述物理分区片段进行调整。
7.根据权利要求6所述的方法,其特征在于,所述数据库系统利用所述数据库系统运行的信息,判断当前数据分区是否合理,包括:
所述数据库系统根据所述数据库系统运行的信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,其中,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
8.根据权利要求6所述的方法,其特征在于,所述数据库系统根据所述重新计算的所述逻辑分区层和所述物理分区层对所述逻辑分区片段和\或所述物理分区片段进行调整,包括:
所述数据库系统根据所述重新规划的分区方案,通过对所述逻辑分区片段的增加、删除、合并、拆分调整所述逻辑分区层,和\或,通过对所述物理分区片段的拆分调整所述物理分区层。
9.根据权利要求1-8任一项所述的方法,其特征在于,一个所述逻辑分区片段对应一个或多个所述物理分区片段。
10.一种数据库系统,其特征在于,包括:
物理分区层,用于存储所述数据库系统的物理分区片段,所述物理分区片段为分区表的各条数据记录的集合;
逻辑分区层,用于存储所述数据库系统的逻辑分区片段,以提供分区表的逻辑分区信息;所述逻辑分区片段与所述物理分区片段通过映射关系互相映射;
处理模块,用于接收用户的数据操作指令,确定所述数据操作指令所请求操作的数据记录所属的逻辑分区片段;根据所述数据操作指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以对所述数据操作指令请求操作的数据记录进行操作。
11.根据权利要求10所述的系统,其特征在于,还包括:
分区管理装置,用于根据收集的所述物理分区层和所述逻辑分区层的分区信息,对当前数据分区进行合理性判断;如果判断当前数据分区不合理,则对不合理的所述逻辑分区片段或所述物理分区片段进行调整。
12.根据权利要求10或11所述的系统,其特征在于,所述数据操作指令具体为:查询指令;相应地,所述处理模块包括:
查询优化器,用于接收所述查询指令,根据所述查询指令确定基于分区表的查询条件,对所述逻辑分区片段进行分区剪枝,排除查询不涉及的逻辑分区片段,并生成执行计划;
执行引擎,用于根据所述查询优化器生成的执行计划,触发所述逻辑分区层根据所述查询指令和所述映射关系确定所述物理分区层中与确定出的所述逻辑分区片段对应的所述物理分区片段,以得到所述查询指令请求查询的数据记录,并将得到的所述数据记录作为查询结果返回给用户。
13.根据权利要求12所述的系统,其特征在于,所述执行引擎具体用于:
根据所述查询优化器生成的执行计划和所述查询条件,从所述逻辑分区片段中循环取得数据记录,并根据所述映射关系从与确定出的所述逻辑分区片段从对应的所述物理分区片段取得数据记录;
根据所述查询指令中的信息对所述取得的数据记录进行数据筛选,将所述数据筛选获得的数据记录作为查询结果返回给用户。
14.根据权利要求10或11所述的系统,其特征在于,所述数据操作指令具体为:插入、删除或更新指令;相应地,所述处理模块体用于:
根据所述插入、删除或更新指令,确定待插入、删除或更新的数据记录;
根据所述数据记录的所在集合,计算所述数据记录所属的所述逻辑分区片段以及与所述逻辑分区片段对应的物理分区片段;
根据所述逻辑分区层对对计算得出的所述物理分区片段内的数据记录执行插入、删除或更新操作。
15.根据权利要求11所述的系统,其特征在于,所述分区管理装置具体包括:
分区信息收集单元,用于收集与分区调整相关的数据库系统运行的信息;
其中,所述数据库系统运行信息包括:逻辑分区和物理分区的元组的数据信息、所述逻辑分区片段和所述物理分区片段的数据规模、外设提交给数据库服务器的SQL语句以及执行频率、数据库服务器执行SQL语句的性能;
分区决策单元,用于利用所述数据库系统运行的信息,判断当前数据分区是否合理;当判断出当前数据分区不合理时,重新规划分区方案;
分区调整单元,用于根据所述重新规划的分区方案,对所述逻辑分区片段和\或所述物理分区片段进行调整。
16.根据权利要求15所述的系统,其特征在于,所述分区决策单元具体用于:
根据所述分区信息收集单元收集的所述数据库系统运行的信息中的特征值判断当前数据分区是否合理,所述特征值包括分区片段的数据规模上限、偏斜因子阈值,其中,如果所述特征值超过相应特征值的预设值,则判断当前数据分区不合理。
17.根据权利要求15所述的系统,其特征在于,所述分区调整单元具体用于:
根据所述重新规划的分区方案,通过对所述逻辑分区片段的增加、删除、合并、拆分调整所述逻辑分区层,和\或,通过对所述物理分区片段的拆分进行调整。
18.根据权利要求10-17任一项所述的系统,其特征在于,一个所述逻辑分区片段对应一个或多个所述物理分区片段。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104162299A CN103473321A (zh) | 2013-09-12 | 2013-09-12 | 数据库管理方法与系统 |
PCT/CN2014/076481 WO2015035789A1 (zh) | 2013-09-12 | 2014-04-29 | 数据库管理方法与系统 |
EP14843923.5A EP2990962A4 (en) | 2013-09-12 | 2014-04-29 | METHOD AND SYSTEM FOR MANAGING THE DATABASE |
US14/956,666 US9460186B2 (en) | 2013-09-12 | 2015-12-02 | Database management method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104162299A CN103473321A (zh) | 2013-09-12 | 2013-09-12 | 数据库管理方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103473321A true CN103473321A (zh) | 2013-12-25 |
Family
ID=49798169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013104162299A Pending CN103473321A (zh) | 2013-09-12 | 2013-09-12 | 数据库管理方法与系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9460186B2 (zh) |
EP (1) | EP2990962A4 (zh) |
CN (1) | CN103473321A (zh) |
WO (1) | WO2015035789A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015035789A1 (zh) * | 2013-09-12 | 2015-03-19 | 华为技术有限公司 | 数据库管理方法与系统 |
CN104536904A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种数据管理的方法、设备与系统 |
WO2016000156A1 (en) * | 2014-06-30 | 2016-01-07 | Microsoft Technology Licensing, Llc | Managing data with flexible schema |
CN105447112A (zh) * | 2015-11-12 | 2016-03-30 | 国云科技股份有限公司 | 一种实现关系数据库Hash分区高效扩展的方法 |
CN105718539A (zh) * | 2016-01-18 | 2016-06-29 | 浪潮通用软件有限公司 | 一种数据库应用方法及装置 |
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
CN107291948A (zh) * | 2016-09-21 | 2017-10-24 | 广州特道信息科技有限公司 | 一种分布式newSQL数据库的访问方法 |
CN107301023A (zh) * | 2017-06-29 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种固态盘配置信息管理方法和装置 |
CN108108434A (zh) * | 2017-12-19 | 2018-06-01 | 福建中金在线信息科技有限公司 | 一种管理数据库的方法及装置 |
CN110825794A (zh) * | 2018-08-14 | 2020-02-21 | 华为技术有限公司 | 分区合并方法和数据库服务器 |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282437B2 (en) * | 2014-04-17 | 2019-05-07 | Oracle International Corporation | Partial indexes for partitioned tables |
US9965497B2 (en) * | 2014-05-29 | 2018-05-08 | Oracle International Corporation | Moving data between partitions |
CN105378665B (zh) * | 2014-06-09 | 2019-02-12 | 华为技术有限公司 | 一种数据处理方法及装置 |
US10089377B2 (en) | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment |
US10394818B2 (en) | 2014-09-26 | 2019-08-27 | Oracle International Corporation | System and method for dynamic database split generation in a massively parallel or distributed database environment |
US10380114B2 (en) | 2014-09-26 | 2019-08-13 | Oracle International Corporation | System and method for generating rowid range-based splits in a massively parallel or distributed database environment |
US10180973B2 (en) | 2014-09-26 | 2019-01-15 | Oracle International Corporation | System and method for efficient connection management in a massively parallel or distributed database environment |
US10089357B2 (en) * | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for generating partition-based splits in a massively parallel or distributed database environment |
US10078684B2 (en) | 2014-09-26 | 2018-09-18 | Oracle International Corporation | System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment |
US10528596B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | System and method for consistent reads between tasks in a massively parallel or distributed database environment |
US10387421B2 (en) | 2014-09-26 | 2019-08-20 | Oracle International Corporation | System and method for generating size-based splits in a massively parallel or distributed database environment |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US11461334B2 (en) * | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US12013895B2 (en) | 2016-09-26 | 2024-06-18 | Splunk Inc. | Processing data using containerized nodes in a containerized scalable environment |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US10984044B1 (en) | 2016-09-26 | 2021-04-20 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11243963B2 (en) | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US11250056B1 (en) | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
US11163758B2 (en) | 2016-09-26 | 2021-11-02 | Splunk Inc. | External dataset capability compensation |
US10977260B2 (en) | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11003714B1 (en) | 2016-09-26 | 2021-05-11 | Splunk Inc. | Search node and bucket identification using a search node catalog and a data store catalog |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US10776355B1 (en) | 2016-09-26 | 2020-09-15 | Splunk Inc. | Managing, storing, and caching query results and partial query results for combination with additional query results |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US10860571B2 (en) * | 2016-11-04 | 2020-12-08 | Sap Se | Storage and pruning for faster access of a document store |
US12118009B2 (en) | 2017-07-31 | 2024-10-15 | Splunk Inc. | Supporting query languages through distributed execution of query engines |
US11989194B2 (en) | 2017-07-31 | 2024-05-21 | Splunk Inc. | Addressing memory limits for partition tracking among worker nodes |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
US11151137B2 (en) | 2017-09-25 | 2021-10-19 | Splunk Inc. | Multi-partition operation in combination operations |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
WO2021012211A1 (zh) * | 2019-07-24 | 2021-01-28 | 华为技术有限公司 | 一种为数据建立索引的方法以及装置 |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
US11308066B1 (en) | 2021-02-24 | 2022-04-19 | International Business Machines Corporation | Optimized database partitioning |
US12072939B1 (en) | 2021-07-30 | 2024-08-27 | Splunk Inc. | Federated data enrichment objects |
CN114265865A (zh) * | 2021-12-24 | 2022-04-01 | 北京天融信网络安全技术有限公司 | 数据查询方法、系统、电子设备及存储介质 |
US12093272B1 (en) | 2022-04-29 | 2024-09-17 | Splunk Inc. | Retrieving data identifiers from queue for search of external data system |
CN117668003B (zh) * | 2024-02-01 | 2024-05-03 | 福建省华大数码科技有限公司 | 实现数据库中集合数据类型的数据处理方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517906A (zh) * | 2003-01-14 | 2004-08-04 | 联想(北京)有限公司 | 文件系统及文件管理方法 |
CN101203019A (zh) * | 2007-11-20 | 2008-06-18 | 中兴通讯股份有限公司 | 通讯设备逻辑地址与物理地址的互换方法及装置 |
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
US20090204782A1 (en) * | 2008-02-13 | 2009-08-13 | Computer Associates Think, Inc. | System and method for safely automating the generation of multiple data definition language statements |
CN101620600A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 一种海量数据的处理方法 |
US7949687B1 (en) * | 2007-12-31 | 2011-05-24 | Teradata Us, Inc. | Relational database system having overlapping partitions |
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
US20120158722A1 (en) * | 2010-12-15 | 2012-06-21 | Teradata Us, Inc. | Database partition management |
CN102541990A (zh) * | 2010-12-07 | 2012-07-04 | 国际商业机器公司 | 利用虚拟分区的数据库重新分布方法和系统 |
CN102804183A (zh) * | 2010-03-15 | 2012-11-28 | 微软公司 | 在持续工作负荷下的数据重新组织 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666524A (en) | 1994-08-31 | 1997-09-09 | Price Waterhouse Llp | Parallel processing system for traversing a transactional database |
US7124136B2 (en) | 2001-01-11 | 2006-10-17 | America Online, Incorporated | Method and system for processing data in a multi-database system |
US6931395B2 (en) | 2001-10-25 | 2005-08-16 | International Business Machines Corporation | Method and apparatus for optimizing queries in a logically partitioned computer system |
US6792429B2 (en) | 2001-12-19 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Method for fault tolerant modification of data representation in a large database |
US7562090B2 (en) * | 2002-12-19 | 2009-07-14 | International Business Machines Corporation | System and method for automating data partitioning in a parallel database |
US8145872B2 (en) | 2004-11-08 | 2012-03-27 | International Business Machines Corporation | Autonomic self-tuning of database management system in dynamic logical partitioning environment |
US20070124274A1 (en) | 2005-11-30 | 2007-05-31 | International Business Machines Corporation | Apparatus and method for autonomic adjustment of resources in a logical partition to improve partitioned query performance |
US7809769B2 (en) * | 2006-05-18 | 2010-10-05 | Google Inc. | Database partitioning by virtual partitions |
US8150870B1 (en) * | 2006-12-22 | 2012-04-03 | Amazon Technologies, Inc. | Scalable partitioning in a multilayered data service framework |
JP2008181243A (ja) * | 2007-01-23 | 2008-08-07 | Hitachi Ltd | ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム |
US7792822B2 (en) | 2007-03-02 | 2010-09-07 | Microsoft Corporation | Systems and methods for modeling partitioned tables as logical indexes |
CN101876983B (zh) | 2009-04-30 | 2012-11-28 | 国际商业机器公司 | 数据库分区方法与系统 |
US8392378B2 (en) | 2010-12-09 | 2013-03-05 | International Business Machines Corporation | Efficient backup and restore of virtual input/output server (VIOS) cluster |
US20120166402A1 (en) | 2010-12-28 | 2012-06-28 | Teradata Us, Inc. | Techniques for extending horizontal partitioning to column partitioning |
CN103473321A (zh) * | 2013-09-12 | 2013-12-25 | 华为技术有限公司 | 数据库管理方法与系统 |
-
2013
- 2013-09-12 CN CN2013104162299A patent/CN103473321A/zh active Pending
-
2014
- 2014-04-29 EP EP14843923.5A patent/EP2990962A4/en not_active Withdrawn
- 2014-04-29 WO PCT/CN2014/076481 patent/WO2015035789A1/zh active Application Filing
-
2015
- 2015-12-02 US US14/956,666 patent/US9460186B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517906A (zh) * | 2003-01-14 | 2004-08-04 | 联想(北京)有限公司 | 文件系统及文件管理方法 |
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
CN101203019A (zh) * | 2007-11-20 | 2008-06-18 | 中兴通讯股份有限公司 | 通讯设备逻辑地址与物理地址的互换方法及装置 |
US7949687B1 (en) * | 2007-12-31 | 2011-05-24 | Teradata Us, Inc. | Relational database system having overlapping partitions |
US20090204782A1 (en) * | 2008-02-13 | 2009-08-13 | Computer Associates Think, Inc. | System and method for safely automating the generation of multiple data definition language statements |
CN101620600A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 一种海量数据的处理方法 |
CN102804183A (zh) * | 2010-03-15 | 2012-11-28 | 微软公司 | 在持续工作负荷下的数据重新组织 |
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102541990A (zh) * | 2010-12-07 | 2012-07-04 | 国际商业机器公司 | 利用虚拟分区的数据库重新分布方法和系统 |
US20120158722A1 (en) * | 2010-12-15 | 2012-06-21 | Teradata Us, Inc. | Database partition management |
Non-Patent Citations (1)
Title |
---|
袁爱梅: "Oracle数据库性能优化研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460186B2 (en) | 2013-09-12 | 2016-10-04 | Huawei Technologies Co., Ltd. | Database management method and system |
WO2015035789A1 (zh) * | 2013-09-12 | 2015-03-19 | 华为技术有限公司 | 数据库管理方法与系统 |
WO2016000156A1 (en) * | 2014-06-30 | 2016-01-07 | Microsoft Technology Licensing, Llc | Managing data with flexible schema |
US11169981B2 (en) | 2014-06-30 | 2021-11-09 | Microsoft Technology Licensing, Llc | Managing data with flexible schema |
CN106471489A (zh) * | 2014-06-30 | 2017-03-01 | 微软技术许可有限责任公司 | 管理具有灵活模式的数据 |
CN106471489B (zh) * | 2014-06-30 | 2019-10-11 | 微软技术许可有限责任公司 | 管理具有灵活模式的数据 |
US9898492B2 (en) | 2014-06-30 | 2018-02-20 | Microsoft Technology Licensing, Llc | Managing data with flexible schema |
CN104536904B (zh) * | 2014-12-29 | 2018-01-09 | 杭州华为数字技术有限公司 | 一种数据管理的方法、设备与系统 |
CN104536904A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种数据管理的方法、设备与系统 |
CN105447112A (zh) * | 2015-11-12 | 2016-03-30 | 国云科技股份有限公司 | 一种实现关系数据库Hash分区高效扩展的方法 |
CN105447112B (zh) * | 2015-11-12 | 2019-02-01 | 国云科技股份有限公司 | 一种实现关系数据库Hash分区高效扩展的方法 |
CN105718539B (zh) * | 2016-01-18 | 2019-02-19 | 浪潮通用软件有限公司 | 一种数据库应用方法及装置 |
CN105718539A (zh) * | 2016-01-18 | 2016-06-29 | 浪潮通用软件有限公司 | 一种数据库应用方法及装置 |
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
CN107451220A (zh) * | 2016-09-21 | 2017-12-08 | 广州特道信息科技有限公司 | 一种分布式NewSQL数据库系统 |
CN107291948A (zh) * | 2016-09-21 | 2017-10-24 | 广州特道信息科技有限公司 | 一种分布式newSQL数据库的访问方法 |
CN107291948B (zh) * | 2016-09-21 | 2020-05-19 | 云润大数据服务有限公司 | 一种分布式newSQL数据库的访问方法 |
CN107451220B (zh) * | 2016-09-21 | 2020-06-09 | 云润大数据服务有限公司 | 一种分布式NewSQL数据库系统 |
CN107301023A (zh) * | 2017-06-29 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种固态盘配置信息管理方法和装置 |
CN108108434A (zh) * | 2017-12-19 | 2018-06-01 | 福建中金在线信息科技有限公司 | 一种管理数据库的方法及装置 |
CN110825794A (zh) * | 2018-08-14 | 2020-02-21 | 华为技术有限公司 | 分区合并方法和数据库服务器 |
CN110825794B (zh) * | 2018-08-14 | 2022-03-29 | 华为云计算技术有限公司 | 分区合并方法和数据库服务器 |
US11762881B2 (en) | 2018-08-14 | 2023-09-19 | Huawei Cloud Computing Technologies Co., Ltd. | Partition merging method and database server |
Also Published As
Publication number | Publication date |
---|---|
WO2015035789A1 (zh) | 2015-03-19 |
EP2990962A4 (en) | 2016-06-08 |
US20160092541A1 (en) | 2016-03-31 |
US9460186B2 (en) | 2016-10-04 |
EP2990962A1 (en) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473321A (zh) | 数据库管理方法与系统 | |
CN102169507B (zh) | 一种分布式实时搜索引擎的实现方法 | |
CN102332029B (zh) | 一种基于Hadoop 的海量可归类小文件关联存储方法 | |
US10102253B2 (en) | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices | |
CN103150394B (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
CN109726174A (zh) | 数据归档方法、系统、设备以及存储介质 | |
US10725994B2 (en) | Automatically revising synopsis table structure | |
US20080228783A1 (en) | Data Partitioning Systems | |
CN105393249A (zh) | 针对查询优化的范围分区统计数据的增量式维护 | |
JP2015090615A (ja) | データを管理するシステムおよび方法 | |
CN104301360A (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
CN103577528A (zh) | 用于数据传送优化的方法和系统 | |
KR102264119B1 (ko) | CaseDB: 엣지컴퓨팅을 위한 저비용 Put-Intensive 키-벨류 저장장치 | |
CN105608224A (zh) | 一种提高海量数据查询性能的正交多哈希映射索引方法 | |
CN110109886B (zh) | 分布式文件系统的文件存储方法及分布式文件系统 | |
CN103631940A (zh) | 一种应用于hbase数据库的数据写入方法及系统 | |
CN101840400A (zh) | 一种多级分类检索方法及系统 | |
CN104899297A (zh) | 具有存储感知的混合索引结构 | |
CN103488687A (zh) | 用于大数据的搜索系统和搜索方法 | |
CN104111924A (zh) | 一种数据库系统 | |
CN112597114A (zh) | 一种基于对象存储的olap预计算引擎优化方法及应用 | |
CN103365923A (zh) | 用于评估数据库的分区方案的方法和装置 | |
CN101216845A (zh) | 数据库自动分类方法 | |
CN115391307A (zh) | 数据库优化方法、装置、电子设备及计算机可读存储介质 | |
CN103778219A (zh) | 一种基于HBase的更新增量索引的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131225 |
|
RJ01 | Rejection of invention patent application after publication |