CN104346468A - 一种在数据库系统中实现并发i/o的方法和装置 - Google Patents

一种在数据库系统中实现并发i/o的方法和装置 Download PDF

Info

Publication number
CN104346468A
CN104346468A CN201410647402.0A CN201410647402A CN104346468A CN 104346468 A CN104346468 A CN 104346468A CN 201410647402 A CN201410647402 A CN 201410647402A CN 104346468 A CN104346468 A CN 104346468A
Authority
CN
China
Prior art keywords
file
database systems
statement
concurrent
table space
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
Application number
CN201410647402.0A
Other languages
English (en)
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410647402.0A priority Critical patent/CN104346468A/zh
Publication of CN104346468A publication Critical patent/CN104346468A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在数据库系统中实现并发I/O的方法和装置,该方法包括以下步骤:通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。具体地,使用结构化查询语言语句的无文件系统缓存选项,创建或修改与所述数据库系统中的文件对应的表空间,对所述表空间启用并发I/O。本发明通过使用NOFILESYSTEM CACHING选项对数据库系统中的文件启用并发I/O,能够在保证数据库系统中使用文件缓冲区缓存的文件的性能和完整性不受影响的前提下,消除了双重缓存和不必要的文件锁定,减少对内存和CPU资源的占用,显著改善应用程序的性能,提高事务处理速率,尤其适用于迁移之后的数据库系统。

Description

一种在数据库系统中实现并发I/O的方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种在数据库系统中实现并发I/O的方法和装置。
背景技术
文件缓冲区缓存是操作系统在内存中开辟的缓冲区域,用于存储经常被访问的数据,最小化物理磁盘I/O的频率。当缓存命中比率较高时,文件缓冲区缓存的使用可有效地减少磁盘I/O的次数。当应用程序向操作系统发出读取请求时,操作系统首先在文件缓冲区缓存中查找与该读取请求对应的数据,如果查找到该数据,则从文件缓冲区缓存获取该数据并写入应用程序缓冲区,无需进入磁盘。如果没查到该数据,则从磁盘获取该数据,将该数据存储在文件缓冲区缓存中,并将该数据传输到应用程序缓冲区。
然而,由于数据库系统拥有自己的缓存区域,使用该缓存区域存储被访问的数据,并依靠自己的锁定机制维护数据一致性和完整性。如果在数据库系统中使用文件缓冲区缓存,会增加CPU资源和内存的开销。
并发I/O是AIX平台上的JFS2文件系统引入的功能,提供对数据的直接访问能力,绕过了操作系统的锁定机制,允许多个线程同时对同一个文件执行读取和写入操作,无需额外的缓冲和锁定,进而允许文件系统提供通常与原始设备关联的优势和性能益处。随着并发I/O的引入,文件系统会在原始设备中实现更快的性能和更加简便的管理。对数据库系统使用并发I/O,允许数据库系统在进行内存与磁盘之间的数据移动时,避开与读写操作关联的CPU和内存的额外开销,进而改善数据库系统的性能,且不会带来数据损坏的风险。
现有技术中,一般通过使用CIO选项装载文件系统,在基本文件系统级别上实现数据库系统的并行I/O,使得全文件系统范围内的所有文件均使用并行I/O的方式打开。由于数据库系统中的部分文件通过使用文件缓冲区缓存,因此,在基本文件系统级别上实现数据库系统的并行I/O,会影响数据库系统的整体性能,还会带来数据损毁的风险。
发明内容
本发明提供了一种在数据库系统中实现并发I/O的方法和装置,以解决在基本文件系统级别上实现数据库系统的并行I/O的性能和安全缺陷。
本发明提供了一种在数据库系统中实现并发I/O的方法,包括以下步骤:
通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
可选地,所述使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O,具体为:
使用结构化查询语言语句的无文件系统缓存选项,创建或修改与所述数据库系统中的文件对应的表空间,对所述表空间启用并发I/O。
可选地,所述结构化查询语言语句为创建表空间语句;
所述使用结构化查询语言语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间,具体为:
使用所述创建表空间语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间。
可选地,所述结构化查询语言语句为修改表空间语句;
所述使用结构化查询语言语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间,具体为:
使用所述修改表空间语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间。
可选地,所述通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O之前,还包括:
获取所述数据库系统中的表空间信息;
根据所述表空间信息,判断所述数据库系统中是否实现并发I/O;
所述通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O,具体为:
当所述数据库系统没有实现并发I/O时,通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
本发明还提供了一种在数据库系统中实现并发I/O的装置,包括:
配置模块,用于通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
可选地,所述配置模块,具体用于使用结构化查询语言语句的无文件系统缓存选项,创建或修改与所述数据库系统中的文件对应的表空间,对所述表空间启用并发I/O。
可选地,所述结构化查询语言语句为创建表空间语句;
所述配置模块,具体用于使用所述创建表空间语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间。
可选地,所述结构化查询语言语句为修改表空间语句;
所述配置模块,具体用于使用所述修改表空间语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间。
可选地,所述的装置,还包括:
获取模块,用于获取所述数据库系统中的表空间信息;
判断模块,用于根据所述获取模块获取到的所述表空间信息,判断所述数据库系统中是否实现并发I/O;
所述配置模块,具体用于在所述判断模块判断出所述数据库系统没有实现并发I/O时,通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
本发明通过使用NO FILESYSTEM CACHING选项对数据库系统中的文件启用并发I/O,能够在保证数据库系统中使用文件缓冲区缓存的文件的性能和完整性不受影响的前提下,消除了双重缓存和不必要的文件锁定,减少对内存和CPU资源的占用,显著改善应用程序的性能,提高事务处理速率,尤其适用于迁移之后的数据库系统。
附图说明
图1为本发明实施例中的一种在数据库系统中实现并发I/O的方法流程图;
图2为本发明实施例中的一种在数据库系统中实现并发I/O的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种在数据库系统中实现并发I/O的方法,如图1所示,包括以下步骤:
步骤101,获取数据库系统中的表空间信息。
具体地,可以通过数据库工具、表空间快照或者SYSIBMADM管理视图下的SNAPTBSP表获取数据库系统中的表空间信息。
其中,数据库工具可以是db2look实用程序,也可以是其他程序。
步骤102,根据数据库系统中的表空间信息,判断数据库系统中是否实现并发I/O,如果是,结束流程;否则,执行步骤103。
具体地,可以通过根据数据库系统中的表空间信息,判断数据库系统中是否有表空间使用NO FILESYSTEM CACHING(文件系统缓存)选项,如果有,则确定数据库系统中实现并发I/O;否则,确定数据库系统中没有实现并发I/O。
步骤103,通过使用SQL(Structured Query Language,结构化查询语言)语句的NO FILESYSTEM CACHING项,对数据库系统中的文件进行配置,对该文件启用并发I/O。
具体地,可以使用SQL语句的NO FILESYSTEM CACHING选项,创建或修改与数据库系统中的文件对应的表空间,对该表空间启用并发I/O,为该表空间发出O-CIO调用。
其中,通过NO FILESYSTEM CACHING项配置的文件为数据库系统中除使用SMS存储的临时表空间和未以内联方式存储的LOB数据表之外的其他文件。
本实施例中,可以通过执行以下CREATE TABLESPACE(创建表空间)语句,使用无文件系统缓存选项,创建启用并发I/O的表空间:
CREATE TABLESPACE mytspace
MANAGED BY DATABASE PAGESIZE 4K
USING(FILE‘...’)
EXTENTSIZE 16K
PREFETCH SIZE AUTOMATIC
BUFFERPOOL MYBP
NO FILESYSTEM CACHING;
此外,还可以通过执行以下ALTER TABLESPACE(修改表空间)语句,使用无文件系统缓存选项,修改现有的表空间,对该表空间启用并发I/O:
ALTER TABLESPACE mytspace
NO FILESYSTEM CACHING;
需要说明的是,上述修改在数据库系统失效并重新激活后生效。
本发明实施例通过使用NO FILESYSTEM CACHING选项对数据库系统中的文件启用并发I/O,能够在保证数据库系统中使用文件缓冲区缓存的文件的性能和完整性不受影响的前提下,消除了双重缓存和不必要的文件锁定,减少对内存和CPU资源的占用,显著改善应用程序的性能,提高事务处理速率,尤其适用于迁移之后的数据库系统。
基于上述在数据库系统中实现并发I/O的方法,本发明实施例还提供了一种在数据库系统中实现并发I/O的装置,如图2所示,包括:
配置模块201,用于通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对文件启用并发I/O。
具体地,上述配置模块201,具体用于使用结构化查询语言语句的无文件系统缓存选项,创建或修改与数据库系统中的文件对应的表空间,对表空间启用并发I/O。
其中,上述结构化查询语言语句可以为创建表空间语句;
相应地,上述配置模块201,具体用于使用创建表空间语句的无文件系统缓存选项,创建与数据库系统中的文件对应的表空间。
此外,上述结构化查询语言语句还可以为修改表空间语句;
相应地,上述配置模块201,具体用于使用修改表空间语句的无文件系统缓存选项,修改与数据库系统中的文件对应的表空间。
获取模块202,用于获取数据库系统中的表空间信息;
判断模块203,用于根据获取模块202获取到的表空间信息,判断数据库系统中是否实现并发I/O;
相应地,上述配置模块201,具体用于在判断模块203判断出数据库系统没有实现并发I/O时,通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对文件启用并发I/O。
本发明实施例通过使用NO FILESYSTEM CACHING选项对数据库系统中的文件启用并发I/O,能够在保证数据库系统中使用文件缓冲区缓存的文件的性能和完整性不受影响的前提下,消除了双重缓存和不必要的文件锁定,减少对内存和CPU资源的占用,显著改善应用程序的性能,提高事务处理速率,尤其适用于迁移之后的数据库系统。
结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种在数据库系统中实现并发I/O的方法,其特征在于,包括以下步骤:
通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
2.如权利要求1所述的方法,其特征在于,所述使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O,具体为:
使用结构化查询语言语句的无文件系统缓存选项,创建或修改与所述数据库系统中的文件对应的表空间,对所述表空间启用并发I/O。
3.如权利要求2所述的方法,其特征在于,所述结构化查询语言语句为创建表空间语句;
所述使用结构化查询语言语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间,具体为:
使用所述创建表空间语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间。
4.如权利要求2所述的方法,其特征在于,所述结构化查询语言语句为修改表空间语句;
所述使用结构化查询语言语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间,具体为:
使用所述修改表空间语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间。
5.如权利要求1所述的方法,其特征在于,所述通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O之前,还包括:
获取所述数据库系统中的表空间信息;
根据所述表空间信息,判断所述数据库系统中是否实现并发I/O;
所述通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O,具体为:
当所述数据库系统没有实现并发I/O时,通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
6.一种在数据库系统中实现并发I/O的装置,其特征在于,包括:
配置模块,用于通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
7.如权利要求6所述的装置,其特征在于,
所述配置模块,具体用于使用结构化查询语言语句的无文件系统缓存选项,创建或修改与所述数据库系统中的文件对应的表空间,对所述表空间启用并发I/O。
8.如权利要求7所述的装置,其特征在于,所述结构化查询语言语句为创建表空间语句;
所述配置模块,具体用于使用所述创建表空间语句的无文件系统缓存选项,创建与所述数据库系统中的文件对应的表空间。
9.如权利要求7所述的装置,其特征在于,所述结构化查询语言语句为修改表空间语句;
所述配置模块,具体用于使用所述修改表空间语句的无文件系统缓存选项,修改与所述数据库系统中的文件对应的表空间。
10.如权利要求6所述的装置,其特征在于,还包括:
获取模块,用于获取所述数据库系统中的表空间信息;
判断模块,用于根据所述获取模块获取到的所述表空间信息,判断所述数据库系统中是否实现并发I/O;
所述配置模块,具体用于在所述判断模块判断出所述数据库系统没有实现并发I/O时,通过使用结构化查询语言语句的无文件系统缓存选项,对数据库系统中的文件进行配置,对所述文件启用并发I/O。
CN201410647402.0A 2014-11-14 2014-11-14 一种在数据库系统中实现并发i/o的方法和装置 Pending CN104346468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410647402.0A CN104346468A (zh) 2014-11-14 2014-11-14 一种在数据库系统中实现并发i/o的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410647402.0A CN104346468A (zh) 2014-11-14 2014-11-14 一种在数据库系统中实现并发i/o的方法和装置

Publications (1)

Publication Number Publication Date
CN104346468A true CN104346468A (zh) 2015-02-11

Family

ID=52502059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410647402.0A Pending CN104346468A (zh) 2014-11-14 2014-11-14 一种在数据库系统中实现并发i/o的方法和装置

Country Status (1)

Country Link
CN (1) CN104346468A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023066070A1 (zh) * 2021-10-20 2023-04-27 阿里云计算有限公司 一种sql语句的控制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565526B1 (en) * 2005-02-03 2009-07-21 Sun Microsystems, Inc. Three component secure tunnel
CN103744906A (zh) * 2013-12-26 2014-04-23 乐视网信息技术(北京)股份有限公司 一种数据同步系统、方法及装置
CN103823815A (zh) * 2012-11-19 2014-05-28 中国联合网络通信集团有限公司 服务器及数据库访问方法
CN103955486A (zh) * 2014-04-14 2014-07-30 五八同城信息技术有限公司 分布式服务系统及其数据更新、数据查询的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565526B1 (en) * 2005-02-03 2009-07-21 Sun Microsystems, Inc. Three component secure tunnel
CN103823815A (zh) * 2012-11-19 2014-05-28 中国联合网络通信集团有限公司 服务器及数据库访问方法
CN103744906A (zh) * 2013-12-26 2014-04-23 乐视网信息技术(北京)股份有限公司 一种数据同步系统、方法及装置
CN103955486A (zh) * 2014-04-14 2014-07-30 五八同城信息技术有限公司 分布式服务系统及其数据更新、数据查询的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JEYABARATHI (JB) CHAKRAPANI: "使用并发I/O改进DB2数据库性能", 《HTTP://WWW.IBM.COM/DEVELOPERWORKS/CN/DATA/LIBRARY/TECHARTICLE/DM-1204CONCURRENT/》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023066070A1 (zh) * 2021-10-20 2023-04-27 阿里云计算有限公司 一种sql语句的控制方法及装置

Similar Documents

Publication Publication Date Title
JP6556911B2 (ja) 注釈付きアトミック書き込み操作を行う方法および装置
CN105630409B (zh) 使用存储器内阵列和盘上页结构的双重数据存储
US10437662B2 (en) Crash recovery using non-volatile memory
JP6046260B2 (ja) MapReduceシステムのためのテーブル・フォーマット
US9003162B2 (en) Structuring storage based on latch-free B-trees
US9430508B2 (en) Disk optimized paging for column oriented databases
Meister et al. Block locality caching for data deduplication
US11249946B2 (en) Path name cache for notifications of file changes
US10366000B2 (en) Re-use of invalidated data in buffers
Lee et al. ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework
US20170337210A1 (en) Dynamic column synopsis for analytical databases
WO2020041950A1 (zh) 一种基于b+树索引的数据更新方法、装置及存储装置
CN111209296A (zh) 数据库访问方法、装置、电子设备及存储介质
US20190163575A1 (en) Processing i/o operations in parallel while maintaining read/write consistency using range and priority queues in a data protection system
US10599572B2 (en) Method and device for optimization of data caching
Fahmy et al. CoS-HDFS: Co-locating geo-distributed spatial data in hadoop distributed file system
Jiao et al. BetrFS: a compleat file system for commodity SSDs
CN104346468A (zh) 一种在数据库系统中实现并发i/o的方法和装置
US20190057126A1 (en) Low latency constraint enforcement in hybrid dbms
CN112748854B (zh) 对快速存储设备的优化访问
WO2015058628A1 (zh) 文件的访问方法及装置
CN105912277A (zh) 在虚拟机镜像中实现文件系统单写日志的方法
Richardson Disambiguating databases
US10795875B2 (en) Data storing method using multi-version based data structure
Choi SSD as SQLite Engine

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: 20150211

RJ01 Rejection of invention patent application after publication