CN1606006A - 数据库管理系统记录分段存储方法 - Google Patents
数据库管理系统记录分段存储方法 Download PDFInfo
- Publication number
- CN1606006A CN1606006A CN 200410036023 CN200410036023A CN1606006A CN 1606006 A CN1606006 A CN 1606006A CN 200410036023 CN200410036023 CN 200410036023 CN 200410036023 A CN200410036023 A CN 200410036023A CN 1606006 A CN1606006 A CN 1606006A
- Authority
- CN
- China
- Prior art keywords
- record
- data
- rowid
- management system
- field
- 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
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000015654 memory Effects 0.000 claims abstract description 20
- 238000005457 optimization Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
本发明提供一种数据库管理记录分段存储方法,将数据库管理记录数据按其访问频率划分成若干字段分别存储在两块以上的不连续的存储区内,访问频率高的字段排列在前,依次类推,访问频率低的向后排,在每段记录上都设置一个ROWID标识,前一段记录包含后一段记录的ROWID,最后一段记录不设置ROWID标识,不同记录字段通过ROWID标识由数据库引擎直接定位串联构成完整的记录数据。本发明的分段存储方法与现有技术相比,具有简单易行、显著提高系统的性能和效率,因而具有很好的推广使用价值。
Description
1、技术领域
本发明涉及一种计算机应用技术领域,具体地说是一种优化数据库管理系统和提高数据存储速度的数据库管理系统记录分段存储方法。
2、技术背景
在关系数据库管理系统(下面简称RDBMS或数据库)下,数据存储(在表table中)是由一条一条的记录(即row)组成,而记录又包含若干个字段(即eulumn)。一般来讲,组成记录的若干个字段数据是连续存放在一个和多个物理数据块中,数据块是数据库中的最小的存储单元,当对数据库进行诸如select、insert、update、delete等)数据操作时,数据库引擎首先分析客户端传来的操作请求,然后结合数据字典将对应记录所在的数据块数据读入被称作buffer的数据库缓存中(如果记录数据已在内存中,则直接使用),接着在缓存中进行操作并反馈到客户端,经过insert、update、delete等操作后变化的数据最后还要从内存写回到数据块中。
由于数据块是数据库的最小存储单元,被操作记录所在的数据块中的其它记录,即使当时并未被操作也要被读取到数据库缓存buffer中,如果数据块中的其它记录以后被操作,且前边已被操作的数据仍在缓存中保留,则后续的读取速度明显比开始操作时要快的多,这是因为在缓存上的读取速度要比在磁盘上的读取速度快上万倍,因此buffer中缓存的数据量直接影响着数据库的响应速度,buffer中缓存的数据量大,速度就快。另外,在一次操作中可能只需操作数据库记录中的某几个字段,但记录中的所有字段必须都要读到缓存中(大对象LOB类型除外)。
现有技术的存储方式所存在的不足是:
1、整个记录必须完整地读到缓存中,一些用不着的宇段也要读到缓存中,除了增加了磁盘I/O外,用不着的字段信息挤占了宝贵的缓存空间,降低系统的工作性能。
2、常用字段和非常用字段采用同样的方式使用内存淘汰算法,不能保障更多的常用数据常驻内存,不利于性能的提高。
3、磁盘的结构决定了其本身有性能高的地方和性能低的地方,常用字段和非常用字段采用连续存储,不能合理使用磁盘有效空间,不利于性能的提高:
4、常用字段和非常用字段采用连续存储,不能使用多个磁盘并行I/O特性,不利于性能的提高。
5、常用字段和非常用字段采用连续存储,占用同样的存储资源,不能把非常用字段放在廉价的设备上,不利于降低投资。
3、发明内容
本发明的目的是将一段记录连续存储一块存储区内改成两段或多段不连续存储在一块或多块存储区域内,每段记录包含若干字段的数据,不同段使用的频率是不一样的,最常用的字段放在第一个段中,同理最不常用的字段放在最后一个段中。
每段记录都有一个ROWID标识(并不实际存储),可由数据库引擎直接定位记录,就像常规数据库的ROWID一样组成,前一段记录包含(实际存储)后一段记录的ROWID,最后一段记录不需包含ROWID信息,不同的存储段通过ROWID串起来,它们共同构成一条完整的记录。
本发明的好处有以下几方面。
一、常用的字段与非常用字段分开存放,与数据字典相结合,数据库操作时只把含需要字段的数据块读入缓存,大部分操作只访问常用的字段,非常用字段尽可能少占用宝贵的缓存空间,缓存空间放置数据读取命中率将会大大提高,数据库性能自然会得到提高。
二、可以设置常用数据缓冲区和非常用数据缓冲区分别放置常用数据和非常用数据.常用数据缓冲区采用常规的LRU等内存淘汰算法,非常用数据缓冲区采用直接淘汰的方法,可以提高内存使用率,进而提高数据库性能。
三、常用的字段与非常用字段分开存放于不同的存储设备上(如磁盘或RAiD组),I/O操作可并行进行,进而提高数据库性能。
四、常用的字段与非常用字段分开存放于不同的存储设备上,常用的字段放在快速设备上,非常用字段放在慢速设备上,可以减少系统投资。
4、实施方式
本发明的数据库管理系统记录分段存储方法,将数据库管理系统记录数据按其访问频率划分成若干字段分别存储在两块以上的不连续的存储区内,访问频率高的字段排列在前,依次类推,访问频率低的向后排,在每段记录上都设置一个ROWID标识,前一段记录包含后一段记录的ROWID,最后一段记录不设置ROWID标识,不同记录字段通过ROWID标识由数据库引擎直接定位串联构成完整的记录数据。
本发明的存储方法在内存中设置常用数据缓冲区和非常用数据缓冲区以适应高频率访问字段和低访问频率字段的缓冲存储。
本发明的分段存储方法适用于关系数据库和非关系数据库的优化和提高存储速度
本发明的分段存储方法适用于嵌入式数据库和非嵌入式数据库的优化和提高其存储速度。
本发明的分段存储方法在实际应用中除了具有明显提高系统性能外,由于在常用的字段存储段上额外引用了一个ROWID标识,多占用了一些字节,在某种程度上略微增加了投资,但这种投资与获得的性能等益处相比是可忽略不计的。
Claims (4)
1、数据库管理系统记录分段存储方法,其特征在于将数据库管理记录数据按其访问频率划分成若干字段分别存储在两块以上的不连续的存储区内,访问频率高的字段排列在前,依次类推,访问频率低的向后排,在每段记录上都设置一个ROWID标识,前一段记录包含后一段记录的ROWID,最后一段记录不设置ROWID标识,不同记录字段通过ROWID标识由数据库引擎直接定位串联构成完整的记录数据。
2、根据权利要求1所述的数据库管理系统记录分段存储方法,其特征在于在内存中设置常用数据缓冲区和非常用数据缓冲区以适应高频率访问字段和低访问频率字段的缓冲存储。
3、根据权利要求2所述的数据库管理系统记录分段存储方法,其特征在于分段存储方法适用于关系数据库和非关系数据库的优化和提高存储速度
4、根据权利要求2所述的数据库管理系统记录分段存储方法,其特征在于分段存储方法适用于嵌入式数据库和非嵌入式数据库的优化和提高其存储速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410036023 CN1606006A (zh) | 2004-10-27 | 2004-10-27 | 数据库管理系统记录分段存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410036023 CN1606006A (zh) | 2004-10-27 | 2004-10-27 | 数据库管理系统记录分段存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1606006A true CN1606006A (zh) | 2005-04-13 |
Family
ID=34763511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410036023 Pending CN1606006A (zh) | 2004-10-27 | 2004-10-27 | 数据库管理系统记录分段存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1606006A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577480A (zh) * | 2012-08-07 | 2014-02-12 | 中国银联股份有限公司 | 一种参数划分系统及其方法、一种业务处理系统及其方法 |
CN103688259A (zh) * | 2011-05-19 | 2014-03-26 | 甲骨文国际公司 | 用于通过压缩和纵列存储进行自动数据放置的技术 |
CN104866577A (zh) * | 2015-05-26 | 2015-08-26 | 深圳市六度人和科技有限公司 | 一种基于嵌入式数据库的数据处理方法及装置 |
-
2004
- 2004-10-27 CN CN 200410036023 patent/CN1606006A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103688259A (zh) * | 2011-05-19 | 2014-03-26 | 甲骨文国际公司 | 用于通过压缩和纵列存储进行自动数据放置的技术 |
CN103688259B (zh) * | 2011-05-19 | 2017-11-17 | 甲骨文国际公司 | 用于通过压缩和纵列存储进行自动数据放置的方法 |
CN103577480A (zh) * | 2012-08-07 | 2014-02-12 | 中国银联股份有限公司 | 一种参数划分系统及其方法、一种业务处理系统及其方法 |
CN103577480B (zh) * | 2012-08-07 | 2017-05-31 | 中国银联股份有限公司 | 一种参数划分系统及其方法、一种业务处理系统及其方法 |
CN104866577A (zh) * | 2015-05-26 | 2015-08-26 | 深圳市六度人和科技有限公司 | 一种基于嵌入式数据库的数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Canim et al. | SSD bufferpool extensions for database systems | |
US7203815B2 (en) | Multi-level page cache for enhanced file system performance via read ahead | |
Li et al. | Tree indexing on flash disks | |
Tsirogiannis et al. | Query processing techniques for solid state drives | |
US8442988B2 (en) | Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data | |
Chen et al. | Fractal prefetching B+-trees: Optimizing both cache and disk performance | |
US7096227B2 (en) | Database utilities | |
US8782324B1 (en) | Techniques for managing placement of extents based on a history of active extents | |
US6961835B2 (en) | System and method for autonomically reallocating memory among buffer pools | |
US20170286507A1 (en) | Database search system and database search method | |
CN102663090A (zh) | 元数据查询方法和装置 | |
US8572312B2 (en) | Data de-duplication and solid state memory device | |
US9507705B2 (en) | Write cache sorting | |
CN103942289A (zh) | 一种Hadoop上面向范围查询的内存缓存方法 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN102542057B (zh) | 基于固态硬盘的高维数据索引结构设计方法 | |
CN105975587A (zh) | 一种高性能的内存数据库索引组织与访问方法 | |
WO2012027165A1 (en) | Sequential access storage and data de-duplication | |
US8682872B2 (en) | Index page split avoidance with mass insert processing | |
CN111475507A (zh) | 一种工作负载自适应单层lsmt的键值数据索引方法 | |
US9002903B2 (en) | Database system with data organization providing improved bit parallel processing | |
CN105630413A (zh) | 一种磁盘数据的同步回写方法 | |
CN1606006A (zh) | 数据库管理系统记录分段存储方法 | |
CN110659305B (zh) | 基于非易失存储系统的高性能关系型数据库服务系统 | |
CN102521282B (zh) | 基于行指针的数据库垂直分区存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |