CN108427747B - 一种基于范围查询边界集的动态规划数据分片优化方法 - Google Patents
一种基于范围查询边界集的动态规划数据分片优化方法 Download PDFInfo
- Publication number
- CN108427747B CN108427747B CN201810195499.4A CN201810195499A CN108427747B CN 108427747 B CN108427747 B CN 108427747B CN 201810195499 A CN201810195499 A CN 201810195499A CN 108427747 B CN108427747 B CN 108427747B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- optimal
- cost
- slice
- 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.)
- Expired - Fee Related
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于范围查询边界集的动态规划数据分片优化方法,其特征是,包括如下步骤:1)建立范围查询负载下的数据访问概率模型;2)找到最优K‑分片;3)重复执行步骤2),最优查询代价的计算可以被不断地迭代分解下去,直到找到所有的K‑1个最优切片位置b1,b2,…,bK‑1,则最优化目标被转化成一组数据片的查询代价C(bi,bj),i,j∈[1,N]之和。这种方法通过动态规划方法在范围查询边界集中搜索最优切片位置,最优数据分片可以降低数据的管理维护开销、以及数据查询中的定位寻址代价和传输代价、提高查询效率。
Description
技术领域
本发明涉及面向大数据上具有倾斜特性的范围查询负载下的数据分片优化技术,具体是一种基于范围查询边界集的动态规划数据分片优化方法。
背景技术
数据分片是一种对表的横向或纵向的分割,它是数据管理系统在面对大规模数据的应对之策,即采用“分而治之”的思路管理数据。原始的数据以记录为粒度来组织和管理,代价惊人,每条记录的查询都带来定位寻址开销和传输开销,因此基于记录的数据组织方式上的查询优化对查询性能的提升也是有限的。
在一些组合优化问题中,优化的目标是最大化或最小化某个特定的目标值。这样的问题可以通过枚举来解决,但枚举方法的复杂性大多是指数级的,可行性差。
发明内容
本发明的目的是针对现有技术的不足,而提供一种基于范围查询边界集的动态规划数据分片优化方法。这种方法通过动态规划方法在范围查询边界集中搜索最优切片位置,最优数据分片可以降低数据的管理维护开销、以及数据查询中的定位寻址代价和传输代价、提高查询效率。
实现本发明的目的的技术方案是:
一种基于范围查询边界集的动态规划数据分片优化方法,与现有技术不同的是,包括如下步骤:
1)建立范围查询负载下的数据访问概率模型:定义数据集上范围查询的所有边界组成的集合叫做范围查询边界集,在基于记录的数据组织方式下,一条数据记录的查询累积概率=数据记录被查询负载访问的次数/总查询次数,在基于数据片的数据组织方式下,定义第k个数据片DSk的长度为lk,数据片DSk上的查询累积概率为Pk,数据片DSk查询累积概率Pk取值为DSk所含数据记录的查询累积概率的最大值;
2)找到最优K-分片:基于动态规划方法,找到最优K-分片这个最优化目标可以被分解为找到一个最优切片位置b1,使得数据片[x1,b1]上的查询代价和(b1,xN]上的(K-1)-最优分片查询代价的和最小,在倾斜范围查询工作负载下,数据的最优分片切片位置一定落在范围查询边界上,原因在于,范围查询的跨片检索会增加数据的定位寻址代价和数据传输代价,因此,在搜索最优切片位置的时候,在范围查询边界集中搜索,可以提高搜索效率;
3)重复执行步骤2),最优查询代价的计算可以被不断地迭代分解下去,直到找到所有的K-1个最优切片位置b1,b2,…,bK-1,则最优化目标被转化成一组数据片的查询代价之和,由于只在范围查询边界集内搜索数据切片位置,而不是在整个数据集上,因此迭代算法的计算规模大大降低,每个数据片的查询代价可以在常数时间内即完成,因此所有数据片的查询代价计算可以在时间内完成,至于最优代价的计算,cell(b,k)需要访问cell(1,k-1)到cell(b-1,k-1),因此完成cell(b,k),b∈[1,B]的计算需要时间,共有K组数据需要计算,因此最优代价的计算共需来完成,基于范围查询边界集的动态规划数据分片优化方法的时间复杂度为其中K为数据分片数,B为范围查询边界集的基数,即集合的元素个数。
动态规划(也称动态优化)方法以递归的方式把问题分解成更简单的子问题,从而将一个复杂的问题简化,动态规划方法分成几个步骤,每一步骤会决定下一步做什么以追求全局最优。
这种方法通过动态规划方法在范围查询边界集中搜索最优切片位置,最优数据分片可以降低数据的管理维护开销、以及数据查询中的定位寻址代价和传输代价、提高查询效率。
附图说明
图1为实施例中的数据最优分片切片位置一定落在范围查询边界上的示意图。
具体实施方式
下面结合附图和实施例对本发明内容作进一步的阐述,但不是对本发明的限定。
实施例:
一种基于范围查询边界集的动态规划数据分片优化方法,包括如下步骤:
1)建立范围查询负载下的数据访问概率模型:定义数据集上范围查询的所有边界组成的集合叫做范围查询边界集,在基于记录的数据组织方式下,一条数据记录的查询累积概率=数据记录被查询负载访问的次数/总查询次数,在基于数据片的数据组织方式下,定义第k个数据片DSk的长度为lk,数据片DSk上的查询累积概率为Pk,数据片DSk查询累积概率Pk取值为DSk所含数据记录的查询累积概率的最大值;
2)找到最优K-分片:基于动态规划方法,找到最优K-分片这个最优化目标可以被分解为找到一个最优切片位置b1,使得数据片[x1,b1]上的查询代价和(b1,xN]上的(K-1)-最优分片查询代价的和最小,在倾斜范围查询工作负载下,数据的最优分片切片位置一定落在范围查询边界上,原因在于,范围查询的跨片检索会增加数据的定位寻址代价和数据传输代价,因此,在搜索最优切片位置的时候,在范围查询边界集中搜索,可以提高搜索效率;
3)重复执行步骤2),最优查询代价的计算可以被不断地迭代分解下去,直到找到所有的K-1个最优切片位置b1,b2,…,bK-1,则最优化目标被转化成一组数据片的查询代价之和,由于只在范围查询边界集内搜索数据切片位置,而不是在整个数据集上,因此迭代算法的计算规模大大降低,每个数据片的查询代价可以在常数时间内即完成,因此所有数据片的查询代价计算可以在时间内完成,至于最优代价的计算,cell(b,k)需要访问cell(1,k-1)到ceell(b-1,k-1),因此完成cell(b,k),b∈[1,B]的计算需要时间,共有K组数据需要计算,因此最优代价的计算共需来完成,基于范围查询边界集的动态规划数据分片优化方法的时间复杂度为其中K为数据分片数,B为范围查询边界集的基数,即集合的元素个数。
在倾斜范围查询工作负载下,数据分片应该尽量适应范围查询的访问模式,以最小化数据集上的范围查询代价,获得最优的查询性能,为了最小化范围查询代价,需要降低DSk上的查询累积概率Pk,那么分片切片位置一定落在范围查询边界上,如图1所示,数据分片的切片位置如果不落在范围查询边界上,例如b′2,那么[b′2,b2]之间的数据被分到DS3数据片中,[b′2,b2]之间的数据的查询累积概率就会被推高,查询代价增加,因此,数据的最优分片切片位置一定落在范围查询边界上。
上面的结论可以帮助我们优化数据分片的效率,即只在范围查询的边界点上寻找数据分片的切片位置,这就是本实施例的基于范围查询边界集的数据分片优化方法。
由于只在范围查询边界集内搜索数据切片位置,而不是在整个数据集上,因此迭代算法的计算规模大大降低。
Claims (1)
1.一种基于范围查询边界集的动态规划数据分片优化方法,其特征是,包括如下步骤:
1)建立范围查询负载下的数据访问概率模型:定义数据集上范围查询的所有边界组成的集合叫做范围查询边界集,在基于记录的数据组织方式下,一条数据记录的查询累积概率=数据记录被查询负载访问的次数/总查询次数,在基于数据片的数据组织方式下,定义第k个数据片DSk的长度为lk,数据片DSk上的查询累积概率为Pk,数据片DSk查询累积概率Pk取值为DSk所含数据记录的查询累积概率的最大值;
2)找到最优K-分片:基于动态规划方法,找到最优K-分片这个最优化目标可以被分解为找到一个最优切片位置b1,使得数据片[x1,b1]上的查询代价和(b1,xN]上的(K-1)-最优分片查询代价的和最小;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195499.4A CN108427747B (zh) | 2018-03-09 | 2018-03-09 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195499.4A CN108427747B (zh) | 2018-03-09 | 2018-03-09 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108427747A CN108427747A (zh) | 2018-08-21 |
CN108427747B true CN108427747B (zh) | 2021-10-15 |
Family
ID=63158053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810195499.4A Expired - Fee Related CN108427747B (zh) | 2018-03-09 | 2018-03-09 | 一种基于范围查询边界集的动态规划数据分片优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427747B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102725753A (zh) * | 2011-11-28 | 2012-10-10 | 华为技术有限公司 | 优化数据访问的方法及装置、优化数据存储的方法及装置 |
KR20120135817A (ko) * | 2011-06-07 | 2012-12-17 | 삼성전자주식회사 | 다차원 데이터에 관한 영역 질의의 선택도를 계산하는 장치 및 방법 |
CN103870542A (zh) * | 2014-02-25 | 2014-06-18 | 中国人民解放军92859部队 | 一种基于地理分片和动态建表的海洋环境数据存储方法 |
CN103942289A (zh) * | 2014-04-12 | 2014-07-23 | 广西师范大学 | 一种Hadoop上面向范围查询的内存缓存方法 |
CN107682135A (zh) * | 2017-09-30 | 2018-02-09 | 重庆邮电大学 | 一种基于noma的网络切片自适应虚拟资源分配方法 |
-
2018
- 2018-03-09 CN CN201810195499.4A patent/CN108427747B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120135817A (ko) * | 2011-06-07 | 2012-12-17 | 삼성전자주식회사 | 다차원 데이터에 관한 영역 질의의 선택도를 계산하는 장치 및 방법 |
CN102725753A (zh) * | 2011-11-28 | 2012-10-10 | 华为技术有限公司 | 优化数据访问的方法及装置、优化数据存储的方法及装置 |
CN103870542A (zh) * | 2014-02-25 | 2014-06-18 | 中国人民解放军92859部队 | 一种基于地理分片和动态建表的海洋环境数据存储方法 |
CN103942289A (zh) * | 2014-04-12 | 2014-07-23 | 广西师范大学 | 一种Hadoop上面向范围查询的内存缓存方法 |
CN107682135A (zh) * | 2017-09-30 | 2018-02-09 | 重庆邮电大学 | 一种基于noma的网络切片自适应虚拟资源分配方法 |
Non-Patent Citations (3)
Title |
---|
MapReduce model-based optimization of range queries;Hui Zhao 等;《2012 9th International Conference on Fuzzy Systems and Knowledge Discovery》;20120709;2487-2492 * |
基于Spark的空间范围查询索引研究;陈业斌 等;《计算机应用与软件》;20180215;第35卷(第2期);96-101 * |
大数据索引和查询优化技术与系统研究;葛微;《中国博士学位论文全文数据库 (信息科技辑)》;20190630;I138-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN108427747A (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ding et al. | Tsunami: A learned multi-dimensional index for correlated data and skewed workloads | |
US10725995B2 (en) | Automatically revising synopsis table structure | |
US10102253B2 (en) | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices | |
CN110134714B (zh) | 适用于大数据迭代计算的分布式计算框架缓存索引方法 | |
Zhang et al. | All-nearest-neighbors queries in spatial databases | |
US9141666B2 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
US6681218B1 (en) | System for managing RDBM fragmentations | |
US20160306849A1 (en) | Geo-scale analytics with bandwidth and regulatory constraints | |
US9110949B2 (en) | Generating estimates for query optimization | |
JP2008225575A (ja) | 計算機負荷見積システム、計算機負荷見積方法 | |
US10990573B2 (en) | Fast index creation system for cloud big data database | |
CN102629269A (zh) | 一种嵌入式数据库的检索及存储方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN112015741A (zh) | 一种海量数据的分库分表存储方法与装置 | |
Chen et al. | Efficiently evaluating skyline queries on RDF databases | |
CN111400346A (zh) | 一种提升数据库一体机执行效率的方法、设备、装置和介质 | |
US20080005077A1 (en) | Encoded version columns optimized for current version access | |
US10055442B2 (en) | Efficient updates in non-clustered column stores | |
CN108427747B (zh) | 一种基于范围查询边界集的动态规划数据分片优化方法 | |
CN109446293A (zh) | 一种并行的高维近邻查询方法 | |
US11144527B2 (en) | Optimizing database table scans in the presence of ordered data | |
CN104714956A (zh) | 一种异构记录集对比方法及装置 | |
Li et al. | Paw: Data partitioning meets workload variance | |
Li et al. | SP-phoenix: a massive spatial point data management system based on phoenix | |
Guo et al. | Memory database index optimization |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211015 |
|
CF01 | Termination of patent right due to non-payment of annual fee |