CN111475112B - 一种提升Oracle数据库性能的装置及数据读写方法 - Google Patents

一种提升Oracle数据库性能的装置及数据读写方法 Download PDF

Info

Publication number
CN111475112B
CN111475112B CN202010250410.7A CN202010250410A CN111475112B CN 111475112 B CN111475112 B CN 111475112B CN 202010250410 A CN202010250410 A CN 202010250410A CN 111475112 B CN111475112 B CN 111475112B
Authority
CN
China
Prior art keywords
data
hdd
disk
nonvolatile memory
block device
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.)
Active
Application number
CN202010250410.7A
Other languages
English (en)
Other versions
CN111475112A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010250410.7A priority Critical patent/CN111475112B/zh
Publication of CN111475112A publication Critical patent/CN111475112A/zh
Application granted granted Critical
Publication of CN111475112B publication Critical patent/CN111475112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种提升Oracle数据库性能的装置及数据读写方法,Oracle数据库配置于服务器,服务器的CPU上连接至少一个HDD磁盘和至少一个非易失性内存;HDD磁盘与非易失性内存一一对应,数量相同;一个HDD磁盘和一个非易失性内存配置成为一个块设备;非易失性内存上创建有内存块设备,该内存块设备被配置为对应HDD磁盘的缓存设备。写数据时,Oracle数据首先写到非易失性内存上,再以writeback方式回写到HDD磁盘上;读数据时,首先检测数据是否在非易失性内存上,若在,则直接从非易失性内存上读取数据,否则继续从HDD磁盘上读取数据。本发明可有效提升数据库的读写能力,且降低服务器成本。

Description

一种提升Oracle数据库性能的装置及数据读写方法
技术领域
本发明涉及Oracle数据库领域,具体涉及一种提升Oracle数据库性能的装置及数据库数据读写方法。
背景技术
Oracle数据库(又名OracleRDBMS,是甲骨文公司的一款关系数据库管理系统)系统因其可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境,成为目前流行的关系数据库管理系统。对于OLTP类型业务系统,一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO响应速度越慢,系统吞吐能力越低,反之越高。随着CPU性能提升,Oracle数据库最大的性能瓶颈在于IO性能。仅使用HDD磁盘会严重的降低数据库的性能,为了解决该问题,业界普遍采用全闪磁盘(SSD磁盘阵列)阵列提升Oracle数据库存储IO性能,随着业务的数据量越来越大,被迫选择更大容量的SASSSD或NVMeSSD,随之又产生高昂的成本问题及性能过剩问题。
发明内容
为解决上述问题,本发明提供一种提升Oracle数据库性能的装置及数据读写方法,基于非易失性内存,构建非易失性内存和HDD磁盘的多个块设备,提升Oracle数据库IO性能。
本发明的技术方案是:一种提升Oracle数据库性能的装置,Oracle数据库配置于服务器,
服务器的CPU上连接至少一个HDD磁盘和至少一个非易失性内存;HDD磁盘与非易失性内存一一对应,数量相同;
一个HDD磁盘和一个非易失性内存配置成为一个块设备;
非易失性内存上创建有内存块设备,该内存块设备被配置为对应HDD磁盘的缓存设备。
进一步地,服务器上配置有块设备配置模块,将非易失性内存上的内存块设备配置为缓存设备,将HDD磁盘设置为后端设备,从而将各个HDD磁盘及其对应非易失性内存配置成为各个块设备。
进一步地,块设备配置模块为bcache缓存管理模块。
进一步地,服务器上配置有内存块设备创建模块,将非易失性内存设置为region模式,将非易失性内存的region创建为内存块设备。
进一步地,内存块设备创建模块包括ipmctl工具和ndctl工具;
ipmctl工具将非易失性内存设置为region模式;ndctl工具将非易失性内存的region创建为内存块设备。
进一步地,服务器上配置有Oracle ASM管理软件,将所有块设备组成一组磁盘组,进行数据条带化存储。
进一步地,服务器上设置至少一对CPU,每对中的两颗CPU所连接HDD磁盘数量相同;Oracle ASM管理软件将每对CPU下的两个磁盘组设置为故障转移组。
进一步地,CPU通过SAS卡连接HDD磁盘,其中SAS卡连接到CPU的PCIe插槽上。
本发明的技术方案还包括一种基于上述装置的数据读写方法,包括以下步骤:
写数据时,Oracle数据首先写到非易失性内存上,再以writeback方式回写到HDD磁盘上;
将Oracle热点数据持久缓存在非易失性内存上;
读数据时,首先检测数据是否在非易失性内存上,若在,则直接从非易失性内存上读取数据,否则继续从HDD磁盘上读取数据。
进一步地,还包括步骤:
设置读请求时间阈值和写请求时间阈值;
写数据时,当IO的时间超过写请求时间阈值时,绕过非易失性内存,直接写入HDD磁盘;
读数据时,当IO的时间超过读请求时间阈值时,绕过非易失性内存,直接读取HDD磁盘。
本发明提供的提升Oracle数据库性能的装置及数据读写方法,在处理器下配置数量相同的非易失性内存和HDD磁盘,构建成为非易失性内存和HDD磁盘的多个块设备,写数据时Oracle数据首先写到非易失性内存上,再以writeback方式回写到HDD磁盘上,读数据时首先检测数据是否在非易失性内存上,若在,则直接从非易失性内存上读取数据,否则继续从HDD磁盘上读取数据,有效提升数据库的读写能力。另外,本发明HDD不需要通过RAID磁盘阵列卡组成RAID阵列,只需要单块盘使用,减少了RAID磁盘阵列校验带来的性能损耗;非易失性内存条和HDD磁盘故障时不影响系统正常运行;非易失性内存和HDD磁盘同处于一颗处理器下,数据的处理无需跨CPU;对于任何Oracle数据库一体机或者Oracle数据库均可使用该装置;且相比采用大容量的全闪磁盘阵列采大大降低了服务器成本。
附图说明
图1是本发明实施例一结构示意图。
图2是本发明实施例一具体实现方式原理架构图。
图3是本发明实施例二方法流程示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例提供一种提升Oracle数据库性能的装置,Oracle数据库配置于服务器上,为实现该装置,服务器的CPU1上连接至少一个HDD磁盘2和至少一个非易失性内存3;HDD磁盘2与非易失性内存3一一对应,数量相同。一个HDD磁盘2和一个非易失性内存3配置成为一个块设备5,其中非易失性内存3上创建有内存块设备4,该内存块设备4被配置为对应HDD磁盘2的缓存设备。需要说明的是,CPU1通过SAS卡连接HDD磁盘2,其中SAS卡连接到CPU1的PCIe插槽上。
本实施例中,服务器上配置有块设备5配置模块,将非易失性内存3上的内存块设备4配置为缓存设备,将HDD磁盘设置为后端设备,从而将各个HDD磁盘及其对应非易失性内存配置成为各个块设备5。具体的,块设备5配置模块为bcache(系统内核)缓存管理模块。
服务器上配置有内存块设备4创建模块,将非易失性内存3设置为region(区域)模式,将非易失性内存3的region创建为内存块设备4。具体地,内存块设备4创建模块包括ipmctl工具(Intel持久内存控制工具)和ndctl工具(non-volatile memory devices非易失性内存控制工具);ipmctl工具将非易失性内存3设置为region模式;ndctl工具将非易失性内存3的region创建为内存块设备4。
如图2所示服务器为例,服务器有两颗CPU,在服务器的每颗CPU下连接一块SAS卡,每个SAS卡上连接1-6块HDD磁盘2,每颗CPU下配置与HDD磁盘2数量相等的非易失性内存3设备。
在系统下安装ipmctl和ndctl工具将每个非易失性内存3设备配置为内存块设备4(pmem),如果非易失性内存设备数为12个,那么在系统下创建名为pmem0、pmem1…pmem11的内存块设备4。
创建步骤:
使用ipmctl将服务器的每个非易失性内存3的类型设置为每个非易失性内存3为一个region模式,如果有12个非易失性内存则对应会生成region0到region11:ipmctlcreate –goal PersistentMemoryType=AppDirectNotInterleaved
使用ndctl工具将非易失内存的region创建为pmem设备:
ndctl create-namespace -region=region0
在系统下安装激活内核bcache缓存管理模块,通过bcache模块的管理命令,将每1个内存块设备4设置为前端缓存(caching)设备,每1个HDD磁盘阵列设置为后端(backing)设备,最终生成一个bcache0、bcache1、bcache2、bcache3等块设备5。
假设每个CPU1下配置6个HDD磁盘2和6个非易失性内存3,那么需要在CPU_0下创建名为bcache0~6的块(bcache)设备5,在CPU_1下创建名为bcache7~12的块(bcache)设备5。
命令如下:
make-bcache --cache_replacement_policy=lru -C /dev/pmem0 -B /dev/sdb
其中,--cache_replacement_policy为缓存算法,lru为最近最久未使用算法,也即是在非易失性内存3上缓存热点数据。
-C参数指定非易失性内存3设备为caching设备,
-B参数指定HDD磁盘2为后端存储设备。
本实施例中,服务器上配置有Oracle ASM(Automatic Storage Management自动存储管理)管理软件,将所有块设备5组成一组磁盘组,进行数据条带化存储。将Oracle数据均匀分布到生成的多个块设备5上。
同时,本实施例还采用ASM多副本模式解决非易失性内存3和HDD磁盘2容错问题。具体地,服务器上设置至少一对CPU1,每对中的两颗CPU所连接HDD磁盘2数量相同。OracleASM管理软件将每对CPU下的两个磁盘组设置为故障转移组。
以图2所示服务器连接两个CPU1为例,每颗CPU1下对应的一块HDD磁盘2和一个非易失性内存3组成1块设备5,通过OracleASM管理工具将每颗CPU1下的所有块设备5组成一组磁盘组,冗余类型为双副本。假设磁盘组名为+DATA。磁盘组+DATA的双副本分别位于不同CPU一侧,即CPU_0和CPU_1一侧的HDD互为镜像组。也即是2个磁盘组互为镜像关系,CPU_1下的磁盘组设置为CPU_0下磁盘组的故障转移组,保证HDD磁盘2和非易失性内存3缓存层故障不影响数据层设备的数据。
实施例二
如图3所示,本实施例提供一种基于实施例一的数据读写方法,包括以下步骤:
写数据时,Oracle数据首先写到非易失性内存3上,再以writeback方式回写到HDD磁盘2上;
将Oracle热点数据持久缓存在非易失性内存3上;
读数据时,首先检测数据是否在非易失性内存3上,若在,则直接从非易失性内存3上读取数据,否则继续从HDD磁盘2上读取数据。
进一步,可设置读请求时间阈值和写请求时间阈值,写数据时,当IO的时间超过写请求时间阈值时,绕过非易失性内存3,直接写入HDD磁盘2;读数据时,当IO的时间超过读请求时间阈值时,绕过非易失性内存3,直接读取HDD磁盘2。保证所有的离散读和写都会经过非易失性内存3,提高数据块在非易失性内存3上的命中率。
具体实施例,该方法基于bcache内核模块参数实现,具体可调整以下参数:
设置缓存策略为writeback回写策略,也就是数据流先经过非易失性内存3,非易失性内存3上的数据异步写入到HDD磁盘2;
设置顺序IO缓存策略参数sequential_cutoff=0,意味着所有顺序数据块都要经过非易失性内存3;
调整缓存写回比例参数 writeback_percent,设置在非易失性内存3上保留热点数据的比例,根据需要可设置最大在非易失性内存3上保留40%的热点数据;
设置 congested_read_threshold_us和congested_write_threshold_us参数,默认情况下当读请求阈值2ms,写请求阈值为20ms,如果IO的时间超过阈值,则绕过非易失性内存3缓存设备,从而不会导致数据cachemissing问题,保证所有的离散读和写都会经过非易失性内存3,提高数据块在非易失性内存3上的命中率。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (7)

1.一种提升Oracle数据库性能的装置,Oracle数据库配置于服务器,其特征在于,
服务器的CPU上连接至少一个HDD磁盘和至少一个非易失性内存;HDD磁盘与非易失性内存一一对应,数量相同;
一个HDD磁盘和一个非易失性内存配置成为一个块设备;
非易失性内存上创建有内存块设备,该内存块设备被配置为对应HDD磁盘的缓存设备;
服务器上配置有Oracle ASM管理软件,将每颗CPU下的所有块设备组成一组磁盘组,进行数据条带化存储;
服务器上设置至少一对CPU,每对中的两颗CPU所连接HDD磁盘数量相同;每对CPU下的两个磁盘组互为镜像关系,Oracle ASM管理软件将每对CPU下的两个磁盘组设置为故障转移组;
CPU通过SAS卡连接HDD磁盘,其中SAS卡连接到CPU的PCIe插槽上。
2.根据权利要求1所述的提升Oracle数据库性能的装置,其特征在于,服务器上配置有块设备配置模块,将非易失性内存上的内存块设备配置为缓存设备,将HDD磁盘设置为后端设备,从而将各个HDD磁盘及其对应非易失性内存配置成为各个块设备。
3.根据权利要求2所述的提升Oracle数据库性能的装置,其特征在于,块设备配置模块为bcache缓存管理模块。
4.根据权利要求3所述的提升Oracle数据库性能的装置,其特征在于,服务器上配置有内存块设备创建模块,将非易失性内存设置为region模式,将非易失性内存的region创建为内存块设备。
5.根据权利要求4所述的提升Oracle数据库性能的装置,其特征在于,内存块设备创建模块包括ipmctl工具和ndctl工具;
ipmctl工具将非易失性内存设置为region模式;ndctl工具将非易失性内存的region创建为内存块设备。
6.一种基于权利要求 1-5任一项所述装置的数据读写方法,其特征在于,包括以下步骤:
写数据时,Oracle数据首先写到非易失性内存上,再以writeback方式回写到HDD磁盘上;
将Oracle热点数据持久缓存在非易失性内存上;
读数据时,首先检测数据是否在非易失性内存上,若在,则直接从非易失性内存上读取数据,否则继续从HDD磁盘上读取数据。
7.根据权利要求6所述的数据读写方法,其特征在于,还包括步骤:
设置读请求时间阈值和写请求时间阈值;
写数据时,当IO的时间超过写请求时间阈值时,绕过非易失性内存,直接写入HDD磁盘;
读数据时,当IO的时间超过读请求时间阈值时,绕过非易失性内存,直接读取HDD磁盘。
CN202010250410.7A 2020-04-01 2020-04-01 一种提升Oracle数据库性能的装置及数据读写方法 Active CN111475112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010250410.7A CN111475112B (zh) 2020-04-01 2020-04-01 一种提升Oracle数据库性能的装置及数据读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010250410.7A CN111475112B (zh) 2020-04-01 2020-04-01 一种提升Oracle数据库性能的装置及数据读写方法

Publications (2)

Publication Number Publication Date
CN111475112A CN111475112A (zh) 2020-07-31
CN111475112B true CN111475112B (zh) 2023-03-14

Family

ID=71750396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010250410.7A Active CN111475112B (zh) 2020-04-01 2020-04-01 一种提升Oracle数据库性能的装置及数据读写方法

Country Status (1)

Country Link
CN (1) CN111475112B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115933994B (zh) * 2023-01-09 2023-07-14 苏州浪潮智能科技有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007870A (zh) * 2019-04-12 2019-07-12 苏州浪潮智能科技有限公司 一种存储设备写请求处理方法及相关装置
CN110502188A (zh) * 2019-08-01 2019-11-26 苏州浪潮智能科技有限公司 一种基于数据库读写性能的数据存储方法与装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007870A (zh) * 2019-04-12 2019-07-12 苏州浪潮智能科技有限公司 一种存储设备写请求处理方法及相关装置
CN110502188A (zh) * 2019-08-01 2019-11-26 苏州浪潮智能科技有限公司 一种基于数据库读写性能的数据存储方法与装置

Also Published As

Publication number Publication date
CN111475112A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
US7975168B2 (en) Storage system executing parallel correction write
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US10152254B1 (en) Distributing mapped raid disk extents when proactively copying from an EOL disk
US5586291A (en) Disk controller with volatile and non-volatile cache memories
US9304901B2 (en) System and method for handling I/O write requests
US6058489A (en) On-line disk array reconfiguration
US8190815B2 (en) Storage subsystem and storage system including storage subsystem
CN114443346A (zh) 用于存储装置的基于奇偶校验的故障保护的系统及方法
US6961818B1 (en) Method, system and computer program product for managing data in a mirrored cache using an access balancing technique
US20100199039A1 (en) Systems and Methods for Optimizing Host Reads and Cache Destages in a Raid System
CN110795279B (zh) 用于促进dram数据缓存转储和机架级电池备份的系统和方法
JP2013156977A (ja) 冗長キャッシュデータのエラスティックキャッシュ
US12093566B2 (en) Memory controller for managing raid information
CN111459400B (zh) 在存储服务器中进行基于管线的存取管理的方法及设备
CN114168067A (zh) 使用虚设虚拟功能的NVMe简单复制命令支持
WO2021242317A1 (en) Zns parity swapping to dram
US10152242B1 (en) Host based hints
CN111475112B (zh) 一种提升Oracle数据库性能的装置及数据读写方法
JP2015052853A (ja) ストレージ制御装置、制御方法及びプログラム
WO2021216128A1 (en) Data parking for ssds with zones
TW202449615A (zh) 用於儲存裝置中的快取操作的裝置以及方法
Luo et al. CDB: Critical data backup design for consumer devices with high-density flash based hybrid storage
KR20250075629A (ko) 하이브리드 sram/dram 데이터 경로를 사용하는 cmb 캐싱
US12613658B2 (en) Early read start time for random access SSDs
US12373334B1 (en) Enhancing array prefetch for sequential IOs in active-active remote replication

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
CP03 Change of name, title or address

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee after: Suzhou Yuannao Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee before: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address