CN102867046A - 基于固态硬盘的数据库优化方法及系统 - Google Patents

基于固态硬盘的数据库优化方法及系统 Download PDF

Info

Publication number
CN102867046A
CN102867046A CN2012103264638A CN201210326463A CN102867046A CN 102867046 A CN102867046 A CN 102867046A CN 2012103264638 A CN2012103264638 A CN 2012103264638A CN 201210326463 A CN201210326463 A CN 201210326463A CN 102867046 A CN102867046 A CN 102867046A
Authority
CN
China
Prior art keywords
leaf
data recording
database
page
size
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
Application number
CN2012103264638A
Other languages
English (en)
Other versions
CN102867046B (zh
Inventor
李明星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201210326463.8A priority Critical patent/CN102867046B/zh
Publication of CN102867046A publication Critical patent/CN102867046A/zh
Application granted granted Critical
Publication of CN102867046B publication Critical patent/CN102867046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种基于固态硬盘的数据库优化方法,包括:A、获取数据库信息参数,其包括数据库中数据记录长度;B、根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系;C、在数据记录读写过程中,根据数据库地址映射关系计算所述数据记录的新的逻辑地址,并将新的逻辑地址下发给固态硬盘。本发明还相应的提供一种实现上述方法的数据库优化系统。借此,本发明可对对数据库进行优化,提高数据库读写访问效率,也进一步提高了固态硬盘的耐用性。

Description

基于固态硬盘的数据库优化方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于固态硬盘的数据库优化方法及系统。
背景技术
固态硬盘(Solid State Disk、IDE FLASH DISK)是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片)组成。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。固态硬盘Flash介质特性决定了:1)对Flash读写是以页为单位的;2)Flash擦写次数是有限制的,MLC约一万次,SLC约十万次。所以,在基于固态硬盘的计算机系统中,同样的主机数据访问情况下,Flash介质读写次数越少,访问数据越快,而Flash页写操作越少,固态硬盘的寿命也越长。
在目前固态硬盘的数据库应用中,由于数据库中记录大小并不确定,保存在固态硬盘上的数据与Flash页可能是非对齐的。如图1所示,在读写过程中,对保存在跨Flash页的数据记录,如图1中的数据记录3和6,其读写效率只有其他数据的一半。跨边界的数据降低了Flash的读写性能,对Flash介质的读写次数增加,也降低了固态硬盘使用效率,降低了其使用寿命。
综上可知,现有的基于固态硬盘的数据库访问方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于固态硬盘的数据库优化方法及系统,可以提高数据库读写访问效率,提高固态硬盘的耐用性。
为了实现上述目的,本发明提供一种基于固态硬盘的数据库优化方法及系统,所述方法包括:
A、获取数据库信息参数,所述信息参数包括数据库中数据记录长度;
B、根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系;
C、在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。
根据本发明的数据库优化方法,所述方法步骤B进一步包括:
根据所述数据记录大小及Flash页大小,计算所述数据库写入放大率PZ及跨页数据记录百分比PE,其中:
PZ=(页大小%数据记录大小)/页大小*100%,
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
根据本发明的数据库优化方法,所述方法步骤B进一步包括:
预设所述PZ和PE的阈值;
判断所述PZ和PE是否达到预设阈值,若是,则重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,否则不作处理。
本发明还相应的提供一种基于固态硬盘的数据库优化系统,包括:
信息获取模块,用于获取数据库信息参数,所述信息参数包括数据库中数据记录长度;
映射处理模块,用于根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系;
访问处理模块,在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。
根据本发明的数据库优化系统,所述映射处理模块包括计算子模块,用于根据所述数据记录大小及Flash页大小,计算所述数据库写入放大率PZ及跨页数据记录百分比PE,其中:
PZ=(页大小%数据记录大小)/页大小*100%,
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
根据本发明的数据库优化系统,所述映射处理模块还包括:
设置子模块,用于预设所述PZ和PE阈值;
判断子模块,用于判断所述PZ和PE是否达到预设阈值,若是,则重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,否则不作处理。
本发明通过获取数据库的信息参数对数据库优化配置,具体的,本发明可根据固态硬盘中Flash页的大小以及数据库中的数据记录长度,重新计算数据记录的存储位置,将原本映射到Flash页边界,需要跨Flash页存储的记录,进行重新映射到同一个的Flash页中,借此避免或减少一次数据记录读写过程中固态硬盘需要从多个Flash页中读写记录的情况。同时,通过储存数据记录的原逻辑地址与新逻辑地址的映射关系,可使数据库下次被访问时对访问数据进行逻辑地址的转换,将真实的逻辑地址发送到固态硬盘进行访问处理。
附图说明
图1是现有技术一实施例的数据记录的储存分布示意图;
图2是本发明一实施例的数据库优化系统的结构示意图;
图3是本发明另一实施例的数据库优化系统的结构示意图;
图4是本发明一实施例的数据记录的储存分布示意图;
图5是本发明一实施例的数据库优化方法的流程图;
图6是本发明另一实施例的数据库优化方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图2,本发明提供了一种基于固态硬盘的数据库优化系统,该系统100具体包括信息获取模块10、映射处理模块20及访问处理模块30,其中:
信息获取模块10用于获取数据库信息参数,该数据库信息参数包括数据库中数据记录长度。
映射处理模块20,用于根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将原本映射到Flash页边界,需要跨Flash页存储的记录,重新映射到同一个Flash页中。图1中示出了数据记录3和6跨边界储存,不在同一个Flash页中,经过映射处理模块20处理后,将数据记录进行重新映射,使跨边界储存的数据记录储存于同一Flash页中,如图4所示,借此避免或减少一次数据记录读写过程中固态硬盘需要从多个Flash页中读写记录的情况,搞高读写性能。更好的,映射处理模块20还可以储存数据记录的原逻辑地址与新逻辑地址的映射关系。由于系统100对数据库的数据记录进行了重新映射处理,对应的部分数据记录的逻辑地址也会发生改变,因此数据记录的原逻辑地址与新逻辑地址具有一定的映射关系,映射处理模块20将对应的原逻辑地址与新逻辑地址的映射关系表进行储存,借此方便数据访问时对数据地址进行转换。
访问处理模块30,用于接收主机的数据访问命令,在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。当主机对数据库进行读写时,通过数据库的上述地址映射关系,将写入数据记录映射到新的逻辑地址上,固态硬盘根据收到的新逻辑地址,对Flash存储介质进行读写操作。
更好的,为提高系统100对数据库的优化质量,本发明引入两个参数:写入放大率PZ和跨页数据记录百分比PE,放大率具体指的是的优化后的数据库比原来数据库增加的存储容量。具体的计算方法如下:
PZ=(页大小%数据记录大小)/页大小*100%
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
再结合图3,本发明通过在映射处理模块20中设一计算子模块21,其可根据数据记录的大小及Flash页大小计算上述PZ和PE的值。PZ越大,表明引入写入放大越大,无效数据占用存储空间越多;PE越大,表明存储在两个Flash页(跨页)的数据记录越多,优化后的效果越好,PE越小,优化效果越不明显。需要说明的,上述计算公式适用于数据记录小于页大小情况下,当数据记录大于页大小时,计算方法相近,在此不再赘述。
优选的是,映射处理模块20还包括设置子模块22和判断子模块23,其中:设置子模块22用于设置上述PZ和PE的阈值,判断子模块23用于判断所述PZ和PE是否达到预设阈值,若是,则对数据库进行优化处理,即重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,否则不作处理。
本发明的基于固态硬盘的数据库优化系统根据结构化数据的记录大小,将数据进行重新映射,在引入少量写入放大的基础上,避免或减少一条数据记录被写入多个Flash页中,提高数据读写速度,降低Flash读写次数,延长固态硬盘寿命。
参见图5,本发明提供了一种数据库优化方法,其可以通过如图2所示的数据库优化系统100实现,该方法包括:
步骤S501,信息获取模块10获取数据库信息参数,所述信息参数包括数据库中数据记录长度。
步骤S502,映射处理模块20根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系。
步骤S503,访问处理模块30在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。
参见图6,本发明提供了另一数据库优化方法,其包括:
步骤S601,设置写入放大率PZ和跨页数据记录百分比PE的阈值。
步骤S602,获取数据库信息参数,该信息参数包括数据库中数据记录长度。
步骤S603,根据数据记录长度大小及Flash页大小,计算PZ和PE的值,具体的,PZ=(页大小%数据记录大小)/页大小*100%
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
步骤S604,判断PZ和PE值是否达到预设阈值,若是则执行步骤S605,否则结束流程。
步骤S605,启动对数据库的优化进程,重新计算数据记录的存储位置,将原本映射到Flash页边界,需要跨Flash页存储的记录,重新映射到同一个Flash页中。
步骤S606,记录数据记录的逻辑地址转换的映射关系参数。
步骤S607,接收主机的数据访问命令,根据数据记录的原逻辑地址与新逻辑地址的映射关系表,获取被访问数据的实际逻辑地址。
综上所述,本发明通过获取数据库的信息参数对数据库优化配置,具体的,本发明可根据固态硬盘中Flash页的大小以及数据库中的数据记录长度,重新计算数据记录的存储位置,将原本映射到Flash页边界,需要跨Flash页存储的记录,进行重新映射到同一个的Flash页中,借此避免或减少一次数据记录读写过程中固态硬盘需要从多个Flash页中读写记录的情况。同时,通过储存数据记录的原逻辑地址与新逻辑地址的映射关系,可使数据库下次被访问时对访问数据进行逻辑地址的转换,将真实的逻辑地址发送到固态硬盘进行访问处理。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (6)

1.一种基于固态硬盘的数据库优化方法,其特征在于,所述方法包括:
A、获取数据库信息参数,所述信息参数包括数据库中数据记录长度;
B、根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系;
C、在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。
2.根据权利要求1所述的数据库优化方法,其特征在于,所述方法步骤B进一步包括:
根据所述数据记录大小及Flash页大小,计算所述数据库写入放大率PZ及跨页数据记录百分比PE,其中:
PZ=(页大小%数据记录大小)/页大小*100%,
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
3.根据权利要求2所述的数据库优化方法,其特征在于,所述方法步骤B进一步包括:
预设所述PZ和PE的阈值;
判断所述PZ和PE是否达到预设阈值,若是,则重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,否则不作处理。
4.一种基于固态硬盘的数据库优化系统,其特征在于,包括:
信息获取模块,用于获取数据库信息参数,所述信息参数包括数据库中数据记录长度;
映射处理模块,用于根据所述固态硬盘中的Flash页大小及所述数据库中数据记录长度,重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,并记录所述数据记录的原逻辑地址与新逻辑地址的映射关系;
访问处理模块,在数据记录读写过程中,根据所述数据库地址映射关系计算所述数据记录的新的逻辑地址,并将所述新的逻辑地址下发给固态硬盘。
5.根据权利要求4所述的数据库优化系统,其特征在于,所述映射处理模块包括计算子模块,用于根据所述数据记录大小及Flash页大小,计算所述数据库写入放大率PZ及跨页数据记录百分比PE,其中:
PZ=(页大小%数据记录大小)/页大小*100%,
PE=(数据记录大小-数据记录和页大小的最大公约数)/页大小*100%。
6.根据权利要求5所述的数据库优化系统,其特征在于,所述映射处理模块还包括:
设置子模块,用于预设所述PZ和PE阈值;
判断子模块,用于判断所述PZ和PE是否达到预设阈值,若是,则重新计算数据记录的存储位置,将需要跨Flash页存储的数据记录,重新映射到同一个Flash页中,否则不作处理。
CN201210326463.8A 2012-09-06 2012-09-06 基于固态硬盘的数据库优化方法及系统 Active CN102867046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210326463.8A CN102867046B (zh) 2012-09-06 2012-09-06 基于固态硬盘的数据库优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210326463.8A CN102867046B (zh) 2012-09-06 2012-09-06 基于固态硬盘的数据库优化方法及系统

Publications (2)

Publication Number Publication Date
CN102867046A true CN102867046A (zh) 2013-01-09
CN102867046B CN102867046B (zh) 2016-08-03

Family

ID=47445915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210326463.8A Active CN102867046B (zh) 2012-09-06 2012-09-06 基于固态硬盘的数据库优化方法及系统

Country Status (1)

Country Link
CN (1) CN102867046B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430508B2 (en) 2013-12-30 2016-08-30 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
CN103823881B (zh) * 2014-03-04 2017-07-28 北京京东尚科信息技术有限公司 分布式数据库的性能优化的方法及装置
US9723054B2 (en) 2013-12-30 2017-08-01 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US9898398B2 (en) 2013-12-30 2018-02-20 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
CN107797755A (zh) * 2016-09-05 2018-03-13 上海宝存信息科技有限公司 固态硬盘系统的原子写入方法以及使用该方法的装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009114618A2 (en) * 2008-03-11 2009-09-17 Agere Systems Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
CN101719052A (zh) * 2009-12-22 2010-06-02 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置及系统
CN101819509A (zh) * 2010-04-19 2010-09-01 清华大学深圳研究生院 一种固态硬盘读写方法
CN102289473A (zh) * 2011-07-27 2011-12-21 迈普通信技术股份有限公司 一种多服务器分页查询的装置及方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009114618A2 (en) * 2008-03-11 2009-09-17 Agere Systems Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
CN101719052A (zh) * 2009-12-22 2010-06-02 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置及系统
CN101819509A (zh) * 2010-04-19 2010-09-01 清华大学深圳研究生院 一种固态硬盘读写方法
CN102289473A (zh) * 2011-07-27 2011-12-21 迈普通信技术股份有限公司 一种多服务器分页查询的装置及方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430508B2 (en) 2013-12-30 2016-08-30 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
US9723054B2 (en) 2013-12-30 2017-08-01 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US9898398B2 (en) 2013-12-30 2018-02-20 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
US9922060B2 (en) 2013-12-30 2018-03-20 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
US10257255B2 (en) 2013-12-30 2019-04-09 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US10366000B2 (en) 2013-12-30 2019-07-30 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
US10885005B2 (en) 2013-12-30 2021-01-05 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
CN103823881B (zh) * 2014-03-04 2017-07-28 北京京东尚科信息技术有限公司 分布式数据库的性能优化的方法及装置
CN107797755A (zh) * 2016-09-05 2018-03-13 上海宝存信息科技有限公司 固态硬盘系统的原子写入方法以及使用该方法的装置
CN107797755B (zh) * 2016-09-05 2021-01-08 上海宝存信息科技有限公司 固态硬盘系统的原子写入方法以及使用该方法的装置

Also Published As

Publication number Publication date
CN102867046B (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
US10007431B2 (en) Storage devices configured to generate linked lists
CN106448737B (zh) 读取闪存数据的方法、装置以及固态驱动器
US9164701B2 (en) Logical address translation
US8583860B2 (en) Block management method for flash memory and controller and storage system using the same
US7631142B2 (en) Method and apparatus for selectively storing data into cache or nonvolatile memory
US8341336B2 (en) Region-based management method of non-volatile memory
CN103049394A (zh) 固态硬盘数据缓存的方法及其系统
US10126970B2 (en) Paired metablocks in non-volatile storage device
CN102356382A (zh) Dram缓冲器管理装置和方法
US9514042B2 (en) Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof
CN102867046B (zh) 基于固态硬盘的数据库优化方法及系统
US9176866B2 (en) Active recycling for solid state drive
US9123443B2 (en) Memory device, memory management device, and memory management method
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
US20200327066A1 (en) Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
CN103076993A (zh) 一种密集型系统中的存储系统及方法
KR101480424B1 (ko) 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법
Ma et al. Alleviating hot data write back effect for shingled magnetic recording storage systems
US11061598B2 (en) Optimized handling of multiple copies in storage management
CN102880432A (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
CN113190180A (zh) 一种基于混合介质的存储装置及分布式存储系统
CN110597741B (zh) 一种l2p表的读写、更新方法及l2p表
CN112000296B (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
C14 Grant of patent or utility model
GR01 Patent grant