JP5978297B2 - Management system and management method - Google Patents

Management system and management method Download PDF

Info

Publication number
JP5978297B2
JP5978297B2 JP2014519763A JP2014519763A JP5978297B2 JP 5978297 B2 JP5978297 B2 JP 5978297B2 JP 2014519763 A JP2014519763 A JP 2014519763A JP 2014519763 A JP2014519763 A JP 2014519763A JP 5978297 B2 JP5978297 B2 JP 5978297B2
Authority
JP
Japan
Prior art keywords
data
storage
storage device
segment
disk
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
JP2014519763A
Other languages
Japanese (ja)
Other versions
JPWO2013183143A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2013183143A1 publication Critical patent/JPWO2013183143A1/en
Application granted granted Critical
Publication of JP5978297B2 publication Critical patent/JP5978297B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベース(以下、DB)のデータ単位の物理的な配置を管理する技術に関する。   The present invention relates to a technique for managing the physical arrangement of data units in a database (hereinafter referred to as DB).

現在、DBを基盤とする多くのアプリケーションが存在しており、DBに関する一連の処理・管理を行うDBMSは極めて重要なものとなっている。DBの特徴の一つは、多大な量のデータを扱うことである。そのため、DBMSが稼動する計算機システムの多くにおいては、DBMSが動作する計算機に大容量のディスクを持つ記憶装置を接続し、記憶装置上にDBデータを記憶するシステム形態が一般的である。   Currently, there are many applications based on DBs, and DBMSs that perform a series of processing and management related to DBs are extremely important. One of the features of DB is that it handles a large amount of data. Therefore, in many computer systems in which a DBMS operates, a system configuration in which a storage device having a large-capacity disk is connected to a computer in which the DBMS operates and the DB data is stored on the storage device is common.

このシステム形態をとっている場合においては、記憶装置のディスク上にデータが記憶されるので、DBに関する処理(DB処理)を行う際にはディスクに対してアクセスが必然的に発生する。特に、ペタバイトクラスの超大規模DBにおいて、そのDBのデータから、ある特定のデータを探し出す処理には膨大な時間を要することになる。そこで、大量のデータの中から特定のデータを探し出す検索処理を高速化する技術として、特許文献1に開示されている技術が知られている。   In the case of adopting this system form, data is stored on the disk of the storage device, so that access to the disk inevitably occurs when performing DB processing (DB processing). In particular, in a very large DB of the petabyte class, it takes a lot of time to search for specific data from the data in the DB. Thus, a technique disclosed in Patent Document 1 is known as a technique for speeding up a search process for searching for specific data from a large amount of data.

特許文献1に開示されている技術は、データの読み出しを行う都度、タスクを動的に作成し、タスクを並列に非順序で実行することでデータの読み出しを多重化する技術である。当該技術を用いたDBMSによると、タスクを発生順に実行する従来のDBMSと比較して、検索性能を飛躍的に向上することができる。   The technique disclosed in Patent Document 1 is a technique of dynamically creating a task each time data is read and multiplexing data reading by executing the tasks in parallel in an unordered manner. According to a DBMS using this technology, search performance can be dramatically improved as compared with a conventional DBMS that executes tasks in the order of occurrence.

特開2007−34414号公報JP 2007-34414 A 米国特許第6880102号明細書US Pat. No. 6,880,102

上記の超大規模DBは、POSデータやセンサデータ等、日々追加される順序性を持ったデータ(例えば、時系列データ等、以下、順序性データ)を扱うことが多く、この順序性データに対する検索では、直近のデータになるほどアクセスされる可能性が高くなるようなこともある。高並列で処理を実行し、高多重でストレージにI/Oを発行して性能向上を図るDBMSにおいては、性能を最大限引き出すため、例えば、I/O多重度を稼ぐために可能な限り多くのディスクに対してI/Oを発行する必要がある。しかし、ディスク間でDBデータの配置にアンバランス(例えば、特定のディスクにデータが集中して配置されている、特定のディスクに順序関係が近いデータが固まって配置されている等)があった場合、それはそのままI/Oのアンバランスに繋がり、結果として、I/O多重度を高めることができず、性能を引き出せないという課題がある。また、個々のディスクで見れば、物理的なアクセスレンジが狭ければ狭いほど性能は向上するため、ディスク内において順序性が保たれてDBデータが配置されている方が良い。   The above-mentioned super large-scale DB often handles data with order added every day such as POS data and sensor data (for example, time-series data, hereinafter, order data), and search for this order data. Then, the more recent data, the higher the possibility of access. In a DBMS that performs processing in high parallel and issues I / O to storage with high multiplexing to improve performance, to maximize performance, for example, as much as possible to increase I / O multiplicity It is necessary to issue I / O to this disk. However, there was an imbalance in the arrangement of DB data among the disks (for example, data is concentrated on a specific disk, data that is closely related to the order of data is fixed on a specific disk, etc.) In this case, it directly leads to I / O imbalance, and as a result, there is a problem that the I / O multiplicity cannot be increased and the performance cannot be brought out. Further, when viewed from individual disks, the narrower the physical access range, the better the performance. Therefore, it is better that the DB data is arranged in the disk while maintaining the order.

I/Oアンバランスを解消するための従来技術として、I/O統計を用いたマイグレーション技術がある。この技術は、ディスク毎にI/Oの統計を取っておき、ある特定のディスクにI/Oが集中している場合は、そのディスク上のデータを別のディスクに移動し、I/O負荷のバランスを取る。しかし、この技術は、一旦I/Oのアンバランスが生じてからでないとマイグレーションが行われないため、その間は性能が低下してしまうという問題がある。   As a conventional technique for eliminating the I / O imbalance, there is a migration technique using I / O statistics. This technology keeps I / O statistics for each disk, and when I / O is concentrated on a specific disk, the data on that disk is moved to another disk to balance the I / O load. I take the. However, this technique has a problem that the performance is degraded during this period because migration is not performed until an I / O imbalance occurs once.

また、特許文献2には、効率的な論理ボリュームの管理方法に関し、論理ボリュームへのデータ領域追加時に、論理ボリュームのアドレス(論理アドレス)レベルでデータのマイグレーションを行うことでデータ配置のアンバランスを解消する技術が開示されている。特許文献2に開示された、論理ボリュームの論理アドレスによってマイグレーションを行う技術では、DBのデータの内容に応じてデータの移動を行うわけではない。例え、論理アドレスとDBのデータの順序性に関係があったとしても、その関係が崩れた場合には特定のディスクに順序関係の近いデータが集中したり、個々のディスクでアクセスレンジが広くなったりし、その結果、I/Oのアンバランスが生じて性能を引き出せなくなる可能性がある。   Further, Patent Document 2 relates to an efficient logical volume management method. When a data area is added to a logical volume, data is unbalanced by performing data migration at the logical volume address (logical address) level. A technique for solving the problem is disclosed. In the technique disclosed in Patent Document 2 in which migration is performed using logical addresses of logical volumes, data is not moved according to the contents of DB data. For example, even if there is a relationship between the logical address and the order of DB data, if the relationship is lost, data with close order relationship is concentrated on a specific disk, or the access range is widened on each disk. As a result, there is a possibility that I / O imbalance occurs and performance cannot be obtained.

管理システムは、ストレージ装置におけるデータベースの1以上のスキーマを構成する複数のデータ単位を管理する。ストレージ装置は、複数の記憶領域を有する複数の第1記憶デバイス集合を有する。1以上のスキーマには、それぞれの順序が規定される順序性を有する複数のデータ単位により構成される順序性スキーマが含まれている。1以上の第2記憶デバイスの集合でありそれぞれの記憶領域が空きの記憶領域である第2記憶デバイス集合が前記第1記憶デバイス集合に追加される場合に、管理システムは、順序性スキーマを構成するどのデータ単位がどの記憶領域に記憶されているかを示す情報であるマッピング情報とデータ単位の順序を示す順序情報とを含む管理情報に基づいて、第1記憶デバイス集合の複数の記憶領域にそれぞれ格納されている複数のデータ単位のうち順序が連続しない2以上のデータ単位を、複数の空き記憶領域が前記第1記憶デバイス集合及び第2記憶デバイス集合に分散するよう少なくとも1つの第1記憶デバイス集合から第2記憶デバイス集合の空き記憶領域に移動させる。管理システムは、単一の計算機で構成されていても良いし、複数の計算機で構成された一種の計算機システムでも良い。   The management system manages a plurality of data units constituting one or more schemas of a database in the storage apparatus. The storage apparatus has a plurality of first storage device sets each having a plurality of storage areas. One or more schemas include an ordering schema configured by a plurality of data units having ordering in which each order is defined. When a second storage device set that is a set of one or more second storage devices and each storage area is an empty storage area is added to the first storage device set, the management system configures an ordering schema Based on management information including mapping information, which is information indicating which data unit is stored in which storage area, and order information indicating the order of the data unit, in each of the plurality of storage areas of the first storage device set At least one first storage device such that a plurality of empty storage areas are distributed to the first storage device set and the second storage device set, in which two or more data units that are not in sequence among a plurality of stored data units are distributed Move from the set to the free storage area of the second storage device set. The management system may be composed of a single computer or a kind of computer system composed of a plurality of computers.

図1は、第1実施形態に係る計算機システムの一例の構成図である。FIG. 1 is a configuration diagram of an example of a computer system according to the first embodiment. 図2Aは、第1実施形態に係るスキーマ情報の一例の構成図である。FIG. 2A is a configuration diagram of an example of schema information according to the first embodiment. 図2Bは、第1実施形態に係るDBマッピング情報の一例の構成図である。FIG. 2B is a configuration diagram of an example of DB mapping information according to the first embodiment. 図2Cは、第1実施形態に係るDBデータ追加情報の一例の構成図である。FIG. 2C is a configuration diagram of an example of DB data additional information according to the first embodiment. 図3Aは、第1実施形態に係るOSマッピング情報の一例の構成図である。FIG. 3A is a configuration diagram of an example of OS mapping information according to the first embodiment. 図3Bは、第1実施形態に係るストレージマッピング情報の一例の構成図である。FIG. 3B is a configuration diagram of an example of storage mapping information according to the first embodiment. 図4Aは、第1実施形態に係るDBデータ領域管理情報の一例の構成図である。FIG. 4A is a configuration diagram of an example of DB data area management information according to the first embodiment. 図4Bは、第1実施形態に係るDBデータ領域属性情報の一例の構成図である。FIG. 4B is a configuration diagram of an example of DB data area attribute information according to the first embodiment. 図4Cは、第1実施形態に係るDBデータ配置情報の一例の構成図である。FIG. 4C is a configuration diagram of an example of DB data arrangement information according to the first embodiment. 図5Aは、第1実施形態に係るデータ領域追加指示の一例の構成図である。FIG. 5A is a configuration diagram of an example of a data area addition instruction according to the first embodiment. 図5Bは、第1実施形態に係るデータ移動指示の一例の構成図である。FIG. 5B is a configuration diagram of an example of a data movement instruction according to the first embodiment. 図5Cは、第1実施形態に係る順序追加型のDBデータの物理的な配置例を示す図である。FIG. 5C is a diagram illustrating a physical arrangement example of the order-added DB data according to the first embodiment. 図6は、第1実施形態に係る管理処理のフローチャートである。FIG. 6 is a flowchart of management processing according to the first embodiment. 図7は、第1実施形態に係るデータ追加時処理のフローチャートである。FIG. 7 is a flowchart of data addition processing according to the first embodiment. 図8は、第1実施形態に係る追加セグメント分散処理のフローチャートである。FIG. 8 is a flowchart of additional segment distribution processing according to the first embodiment. 図9Aは、第1実施形態に係るDBデータの移動を説明する第1の図である。FIG. 9A is a first diagram for explaining movement of DB data according to the first embodiment. 図9Bは、第1実施形態に係るDBデータの移動を説明する第2の図である。FIG. 9B is a second diagram for explaining the movement of the DB data according to the first embodiment. 図10Aは、第1実施形態に係るDBデータの移動を説明する第3の図である。FIG. 10A is a third diagram for explaining the movement of the DB data according to the first embodiment. 図10Bは、第1実施形態に係るDBデータの移動を説明する第4の図である。FIG. 10B is a fourth diagram illustrating the movement of DB data according to the first embodiment. 図11Aは、第1実施形態に係るDBデータの移動を説明する第5の図である。FIG. 11A is a fifth diagram for explaining the movement of the DB data according to the first embodiment. 図11Bは、第1実施形態に係るDBデータの移動を説明する第6の図である。FIG. 11B is a sixth diagram illustrating the movement of DB data according to the first embodiment. 図12Aは、第1実施形態に係るDBデータの移動を説明する第7の図である。FIG. 12A is a seventh diagram illustrating the movement of DB data according to the first embodiment. 図12Bは、第1実施形態に係るDBデータの移動を説明する第8の図である。FIG. 12B is an eighth diagram for explaining the movement of the DB data according to the first embodiment. 図13は、第2実施形態に係る追加セグメント分散処理のフローチャートである。FIG. 13 is a flowchart of additional segment distribution processing according to the second embodiment. 図14は、第2実施形態に係るセグメント隣接処理のフローチャートである。FIG. 14 is a flowchart of segment adjacency processing according to the second embodiment. 図15Aは、第2実施形態に係るDBデータの移動を説明する第1の図である。FIG. 15A is a first diagram for explaining movement of DB data according to the second embodiment. 図15Bは、第1実施形態に係るDBデータの移動を説明する第2の図である。FIG. 15B is a second diagram for explaining the movement of the DB data according to the first embodiment. 図16Aは、第2実施形態に係るDBデータの移動を説明する第3の図である。FIG. 16A is a third diagram for explaining the movement of the DB data according to the second embodiment. 図16Bは、理想的なDBデータの配置を説明する図である。FIG. 16B is a diagram for explaining an ideal arrangement of DB data. 図17Aは、変形例に係るDBデータの移動を説明する第1の図である。FIG. 17A is a first diagram illustrating movement of DB data according to a modification. 図17Bは、変形例に係るDBデータの移動を説明する第2の図である。FIG. 17B is a second diagram illustrating the movement of DB data according to the modification. 図18Aは、変形例に係るDBデータの移動を説明する第3の図である。FIG. 18A is a third diagram for explaining the movement of the DB data according to the modification. 図18Bは、変形例に係るDBデータの移動を説明する第4の図である。FIG. 18B is a fourth diagram illustrating the movement of DB data according to the modification. 図19Aは、変形例に係るDBデータの移動を説明する第5の図である。FIG. 19A is a fifth diagram illustrating the movement of DB data according to the modification. 図19Bは、変形例に係るDBデータの移動を説明する第6の図である。FIG. 19B is a sixth diagram illustrating the movement of DB data according to the modification.

本発明の幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。   Several embodiments of the present invention will be described with reference to the drawings. The embodiments described below do not limit the invention according to the claims, and all the elements and combinations described in the embodiments are essential for the solution of the invention. Is not limited.

以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、計算機、ストレージ装置等に含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する装置(計算機、ストレージ装置等)が行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、コントローラが行う処理の一部又は全部を行うハードウエア回路を含んでも良い。プログラムは、プログラムソースから各コントローラにインストールされても良い。プログラムソースは、例えば、プログラム配布計算機又は記憶メディアであっても良い。   In the following description, processing may be described using “program” as the subject, but the program is defined by being executed by a processor (for example, a CPU (Central Processing Unit)) included in a computer, a storage device, or the like. Therefore, the subject of the processing may be a processor, using a storage resource (for example, a memory) and / or a communication interface device (for example, a communication port) as appropriate. The processing described with the program as the subject may be processing performed by a processor or a device (computer, storage device, etc.) having the processor. The controller may be the processor itself or may include a hardware circuit that performs part or all of the processing performed by the controller. The program may be installed in each controller from a program source. The program source may be, for example, a program distribution computer or a storage medium.

また、計算機における入出力装置の代替としてシリアルインタフェースやイーサーネットインタフェース(イーサーネットは登録商標)を入出力装置とし、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用装置を接続し、表示用情報を表示用装置に送信したり、入力用情報を表示用装置から受信することで、表示用装置で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替してもよい。   In addition, a serial interface or an Ethernet interface (Ethernet is a registered trademark) is used as an input / output device as an alternative to an input / output device in a computer, and a display device having a display, a keyboard, or a pointer device is connected to the interface. May be sent to the display device or input information may be received from the display device to display on the display device or accept input to replace the input and display on the input / output device. .

まず、実施例1を説明する。   First, Example 1 will be described.

図1は、実施例1に係る計算機システムの一例の構成図である。   FIG. 1 is a configuration diagram of an example of a computer system according to the first embodiment.

計算機システムにおいては、通信ネットワーク180、182を介して管理システムの一例としての計算機100と、ストレージ装置150とが接続される。計算機100は、ストレージ装置150に格納されているDBのデータを管理するDBMS120を実行する。   In the computer system, a computer 100 as an example of a management system and a storage apparatus 150 are connected via communication networks 180 and 182. The computer 100 executes a DBMS 120 that manages DB data stored in the storage apparatus 150.

このDBMS120は、高い並列度でストレージ装置150にI/Oを発行して性能向上を図るDBMSが望ましい。例えば、DBMS120は、DBのクエリを受け付け、受け付けたクエリを実行するために必要な1以上のデータベースオペレーションと1以上のデータベースオペレーションの実行手順とを表す情報を含んだクエリ実行プランを生成し、生成したクエリ実行プランに基づいて、上記受け付けたクエリを実行して良い。DBMS120は、そのクエリの実行において、データベースオペレーションを実行するためのタスクを動的に生成し、動的に生成されたタスクを実行して良い。例えば、DBMS120は、クエリの実行において、(a)データベースオペレーションを実行するためのタスクを生成すること、(b)生成されたタスクを実行することで、当該タスクに対応したデータベースオペレーションに必要なデータを読み出すためにデータベースへデータ読出し要求を発行すること、(c)上記(b)で実行されたタスクに対応したN番目のデータベースオペレーションの実行結果に基づき(N+1)番目のデータベースオペレーションを実行する場合には、当該実行結果に基づくタスクを新たに生成すること(Nは1以上の整数)、及び、(d)その新たに生成したタスクについて上記(b)及び上記(c)を行うこと、を行い、上記(b)及び(d)において、2以上の実行可能なタスクが存在する場合には、それら2以上のタスクのうちの少なくとも2つのタスクを並行して実行するようになっていて良い。このDBMS120は、前述した特許文献1に開示の技術に従うDBMSで良い。   The DBMS 120 is preferably a DBMS that improves performance by issuing I / O to the storage apparatus 150 with a high degree of parallelism. For example, the DBMS 120 receives a DB query, generates a query execution plan including information representing one or more database operations and an execution procedure of the one or more database operations necessary for executing the received query, and generates the query execution plan. The received query may be executed based on the query execution plan that has been executed. In executing the query, the DBMS 120 may dynamically generate a task for executing a database operation and execute the dynamically generated task. For example, in executing the query, the DBMS 120 generates (a) a task for executing a database operation, and (b) executes the generated task, thereby obtaining data necessary for the database operation corresponding to the task. (C) When executing the (N + 1) th database operation based on the execution result of the Nth database operation corresponding to the task executed in (b) above Includes newly generating a task based on the execution result (N is an integer of 1 or more), and (d) performing the above (b) and (c) for the newly generated task. If there are two or more executable tasks in (b) and (d) above, Them in parallel two or more of at least two tasks of the tasks may be adapted to run. The DBMS 120 may be a DBMS conforming to the technique disclosed in Patent Document 1 described above.

通信ネットワーク180、182は、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等のネットワークであっても良く、また、ファイバチャネル等で構成されるネットワーク(ストレージエリアネットワーク:SAN)であっても良い。図1において、計算機100、及びストレージ装置150はそれぞれ1台のみ記載しているが、それぞれ複数台であっても良い。   The communication networks 180 and 182 may be a network such as a local area network (LAN) or a wide area network (WAN), or may be a network (storage area network: SAN) configured by a fiber channel or the like. good. In FIG. 1, only one computer 100 and one storage device 150 are shown, but a plurality of computers may be used.

計算機100は、例えば一般的な計算機により実現することができる。例えば、計算機100は、CPU(制御デバイス)104、入出力装置106、記憶装置108、メモリ110、I/F(1)112、及び、I/F(2)114を有する。CPU104、入出力装置106、記憶装置108、メモリ110、I/F(1)112、及び、I/F(2)114は、内部バス102を介して接続されている。   The computer 100 can be realized by a general computer, for example. For example, the computer 100 includes a CPU (control device) 104, an input / output device 106, a storage device 108, a memory 110, an I / F (1) 112, and an I / F (2) 114. The CPU 104, the input / output device 106, the storage device 108, the memory 110, the I / F (1) 112, and the I / F (2) 114 are connected via the internal bus 102.

I/F(1)112は、通信ネットワーク180とのインタフェースである。I/F(2)114は、通信ネットワーク182とのインタフェースである。入出力装置106は、例えば、マウス、キーボード等の入力装置や、液晶ディスプレイの出力装置を含む。管理用記憶デバイスの一例としての記憶装置108、及びメモリ110の少なくとも一方には、DBMS120、管理プログラム130、オペレーティングシステム(以下、OS)140が格納される。DBMS120、管理プログラム130、及びOS140は、CPU104によって実行される。   The I / F (1) 112 is an interface with the communication network 180. The I / F (2) 114 is an interface with the communication network 182. The input / output device 106 includes, for example, an input device such as a mouse and a keyboard, and an output device for a liquid crystal display. A DBMS 120, a management program 130, and an operating system (hereinafter referred to as OS) 140 are stored in at least one of the storage device 108 and the memory 110 as an example of a management storage device. The DBMS 120, the management program 130, and the OS 140 are executed by the CPU 104.

DBMS120は、DBの表や索引等のスキーマに関するスキーマ情報122と、DBのデータが論理的に格納されるDBデータ領域とOS140上のデバイスとを対応付けるDBマッピング情報124を保持する。DBMS120は、DBMS120がDBデータを追加した際、追加したDBデータに関するDBデータ追加情報126を作成し、管理プログラム140に送信する。OS140は、OS140上のデバイスとストレージ装置150上の論理的な記憶領域とを対応付けるOSマッピング情報132を保持する。管理プログラム140は、必要に応じてDBMS120、OS130、ストレージ装置150の制御プログラム174から各種情報を取得し、DBデータ領域の属性や実際のDBデータの配置等に関するDBデータ領域情報142を作成して保持する。尚、管理プログラム140は、ネットワーク180もしくはネットワーク182を介して計算機100と接続された別の計算機(例えば、ホスト計算機)に備えるようにして、当該別の計算機上で動作させても良く、また、ストレージ装置150に備えるようにして、当該ストレージ装置150上で動作させるようにしても良い。   The DBMS 120 holds schema mapping information 122 relating to schemas such as DB tables and indexes, and DB mapping information 124 that associates DB data areas in which DB data is logically stored with devices on the OS 140. When the DBMS 120 adds DB data, the DBMS 120 creates DB data addition information 126 related to the added DB data, and transmits it to the management program 140. The OS 140 holds OS mapping information 132 that associates a device on the OS 140 with a logical storage area on the storage apparatus 150. The management program 140 acquires various types of information from the DBMS 120, the OS 130, and the control program 174 of the storage device 150 as necessary, and creates DB data area information 142 regarding the attributes of the DB data area, the actual DB data arrangement, and the like. Hold. The management program 140 may be provided on another computer (for example, a host computer) connected to the computer 100 via the network 180 or 182 so as to operate on the other computer. The storage apparatus 150 may be provided and operated on the storage apparatus 150.

ストレージ装置150は、コントローラ154と、複数のディスク(HDD:記憶デバイスの一例)156を有し、コントローラ154及び複数のディスク156は内部バス152によって接続される。コントローラ154は、例えば、I/F(1)162、I/F(2)164、CPU(制御デバイス)166、キャッシュメモリ168、及びメモリ170を有する。I/F(1)162、I/F(2)164、CPU166、キャッシュメモリ168、及びメモリ170は、内部バス160を介して接続されている。   The storage apparatus 150 has a controller 154 and a plurality of disks (HDD: an example of a storage device) 156, and the controller 154 and the plurality of disks 156 are connected by an internal bus 152. The controller 154 includes, for example, an I / F (1) 162, an I / F (2) 164, a CPU (control device) 166, a cache memory 168, and a memory 170. The I / F (1) 162, I / F (2) 164, CPU 166, cache memory 168, and memory 170 are connected via an internal bus 160.

I/F(1)162は、通信ネットワーク180とのインタフェースである。I/F(2)164は、通信ネットワーク182とのインタフェースである。メモリ170には、ストレージ装置150を制御する制御プログラム172が格納される。制御プログラム172は、CPU166によって実行される。   The I / F (1) 162 is an interface with the communication network 180. The I / F (2) 164 is an interface with the communication network 182. The memory 170 stores a control program 172 that controls the storage apparatus 150. The control program 172 is executed by the CPU 166.

制御プログラム172は、ストレージ装置150の論理的な記憶領域(LU:Logical Unit)と、ディスク156が有する物理的な記憶領域(セグメント)とを対応付けるストレージマッピング情報174を保持する。ディスク156は、例えばハードディスクドライブ(磁気記憶装置)である。ストレージ装置150においては、複数のディスク156をRAID(Redundant Array of Independent (or Inexpensive) Disks)構成にしても良い。尚、ディスク156に加えて、又は、ディスク156に代えて、他種の記憶メディアを有する記憶デバイス(例えばフラッシュメモリドライブ)を備えても良い。   The control program 172 holds storage mapping information 174 that associates a logical storage area (LU: Logical Unit) of the storage apparatus 150 with a physical storage area (segment) of the disk 156. The disk 156 is, for example, a hard disk drive (magnetic storage device). In the storage apparatus 150, a plurality of disks 156 may be configured as a RAID (Redundant Array of Independent (or Inexpensive) Disks). In addition to the disk 156 or instead of the disk 156, a storage device (for example, a flash memory drive) having other types of storage media may be provided.

このストレージ装置150では、後述のデータ領域追加指示500、及びデータ移動指示510を、I/F(1)162又はIF(2)164を介して受信し、データ領域追加指示500を受け付けた際は、その指示の内容に応じてデータが格納される記憶領域を追加し、また、データ移動指示510を受け付けた際は、その指示の内容に応じてデータ(データ単位)の移動を行う。   When the storage apparatus 150 receives a data area addition instruction 500 and a data movement instruction 510, which will be described later, via the I / F (1) 162 or IF (2) 164 and receives the data area addition instruction 500, A storage area for storing data is added according to the contents of the instruction, and when a data movement instruction 510 is received, data (data unit) is moved according to the contents of the instruction.

続いて、計算機100又はストレージ装置150に格納される各種情報の詳細について説明する。   Next, details of various types of information stored in the computer 100 or the storage device 150 will be described.

図2Aは、実施例1に係るスキーマ情報の一例の構成図である。   FIG. 2A is a configuration diagram of an example of schema information according to the first embodiment.

スキーマ情報122は、DBを構成する表や索引等のスキーマに関する情報であり、スキーマ毎にエントリを有する。各エントリは、スキーマを識別するための識別子を登録するフィールド200、スキーマの名前を登録するフィールド202、スキーマの種別を登録するフィールド204、スキーマが扱うデータのタイプを登録するフィールド206、スキーマが格納されるデータ領域のID(DBデータ領域ID)を登録するフィールド208、使用しているデータページ数を登録するフィールド210を有する。フィールド206に格納されるデータのタイプとしては、逐次追加される順序性データであることを示す順序追加と、順序性データではないデータであることを示す非順序とがある。ここで、順序性データを格納するスキーマが順序性スキーマである。スキーマ情報122は、DB構築時に作成され、DBデータの追加・削除時に更新される。   The schema information 122 is information related to a schema such as a table and an index constituting the DB, and has an entry for each schema. Each entry includes a field 200 for registering an identifier for identifying a schema, a field 202 for registering a schema name, a field 204 for registering a schema type, a field 206 for registering a data type handled by the schema, and a schema storage. Field 208 for registering the ID of the data area (DB data area ID), and a field 210 for registering the number of data pages in use. As types of data stored in the field 206, there are an order addition that indicates sequential data that is sequentially added and an unorder that indicates data that is not sequential data. Here, the schema for storing the order data is the order schema. The schema information 122 is created when a DB is constructed, and updated when DB data is added / deleted.

図2Bは、実施例1に係るDBマッピング情報の一例の構成図である。   FIG. 2B is a configuration diagram of an example of DB mapping information according to the first embodiment.

DBマッピング情報124は、DBの各スキーマが格納されるDBデータ領域とOS上のデバイスとの対応付けに関する情報であり、DBデータ領域毎にエントリを有する。各エントリは、DBデータ領域を識別するための識別子(DBデータ領域ID)を登録するフィールド220、DBデータ領域が作られるデバイスのファイルパスを登録するフィールド222、DBデータ領域に割当られている物理的な記憶領域のサイズ(同図では、例えば、割当てられているセグメントと呼ばれる領域単位の数)を登録するフィールド224、DBデータ領域に割当てられている領域の中で使用しているセグメント数を登録するフィールド226を有する。本実施例では、1つのセグメントには、例えば、DBにおけるデータページが4096ページ分格納される。DBマッピング情報124は、DB構築時に作成され、DBデータ領域の追加、削除、変更時に更新される。   The DB mapping information 124 is information relating to the association between a DB data area in which each DB schema is stored and a device on the OS, and has an entry for each DB data area. Each entry includes a field 220 for registering an identifier (DB data area ID) for identifying a DB data area, a field 222 for registering a file path of a device in which the DB data area is created, and a physical allocated to the DB data area. Field 224 for registering the size of a typical storage area (in the figure, for example, the number of area units called allocated segments), and the number of segments used in the area allocated to the DB data area It has a field 226 for registration. In the present embodiment, for example, 4096 pages of data pages in the DB are stored in one segment. The DB mapping information 124 is created when a DB is constructed, and is updated when a DB data area is added, deleted, or changed.

図2Cは、実施例1に係るDBデータ追加情報の一例の構成図である。   FIG. 2C is a configuration diagram of an example of DB data additional information according to the first embodiment.

DBデータ追加情報126は、DBMS120によりDBデータの追加時に作成され、管理プログラム140に送信される。DBデータ追加情報126は、追加したDBデータに関する情報であり、追加したDBデータ毎にエントリを有する。ここで、DBデータ毎とは、所定のデータ量(例えば、1セグメントに対応するデータ量)のDBデータを単位としたデータ単位毎を意味している。以下、データ単位について、DBデータということもある。各エントリは、DBデータを追加したスキーマの識別子(スキーマID)を登録するフィールド240、DBデータを追加したDBデータ領域の識別子(DBデータ領域ID)を登録するフィールド242、DBデータを追加したDBデータ領域上の論理的なアドレス(同図では、例えば、論理ページID)を登録するフィールド244、追加したDBデータのサイズ(同図では、例えば、データページ数)を登録するフィールド246、追加したDBデータの順序を特定可能な情報(順序性情報)を登録するフィールド248、追加したDBデータの範囲の情報(例えば、IDが0〜49999の範囲等)を登録するフィールド250を有する。尚、追加したDBデータのスキーマのデータタイプが順序追加の場合のみ、フィールド248、及びフィールド250は有効となり、それぞれに対応する情報が格納される。   The DB data addition information 126 is created by the DBMS 120 when DB data is added, and is transmitted to the management program 140. The DB data addition information 126 is information related to the added DB data, and has an entry for each added DB data. Here, each DB data means every data unit with DB data of a predetermined data amount (for example, data amount corresponding to one segment) as a unit. Hereinafter, the data unit may be referred to as DB data. Each entry includes a field 240 for registering an identifier (schema ID) of a schema to which DB data is added, a field 242 for registering an identifier (DB data area ID) of a DB data area to which DB data is added, and a DB to which DB data is added. A field 244 for registering a logical address on the data area (in the figure, for example, logical page ID), a field 246 for registering the size of the added DB data (in the figure, for example, the number of data pages), and the like are added. It has a field 248 for registering information (order information) that can specify the order of DB data, and a field 250 for registering information on the range of added DB data (for example, a range of IDs from 0 to 49999). Note that only when the data type of the schema of the added DB data is the order addition, the fields 248 and 250 are valid, and information corresponding to each is stored.

図3Aは、実施例1に係るOSマッピング情報の一例の構成図である。   FIG. 3A is a configuration diagram of an example of OS mapping information according to the first embodiment.

OSマッピング情報132は、OS130上のデバイスと、ストレージ装置150上の論理的な記憶領域(LU)とを対応付ける情報であり、デバイス毎にエントリを有する。各エントリは、デバイスが作られているOS130上のファイルパスを登録するフィールド300、デバイスに対応する記憶領域(LU)を持つストレージ装置150を識別するための識別子(ストレージ装置ID:ST−ID)を登録するフィールド302、デバイスに対応する記憶領域(LU)を識別するための番号(LUN)を登録するフィールド304を有する。OSマッピング情報132は、システム構築時に作成され、システム構成に変更があった場合に更新される。   The OS mapping information 132 is information that associates a device on the OS 130 with a logical storage area (LU) on the storage apparatus 150, and has an entry for each device. Each entry includes a field 300 for registering a file path on the OS 130 in which the device is created, and an identifier (storage device ID: ST-ID) for identifying the storage device 150 having a storage area (LU) corresponding to the device. And a field 304 for registering a number (LUN) for identifying a storage area (LU) corresponding to the device. The OS mapping information 132 is created when the system is constructed, and is updated when the system configuration is changed.

図3Bは、実施例1に係るストレージマッピング情報の一例の構成図である。   FIG. 3B is a configuration diagram of an example of storage mapping information according to the first embodiment.

ストレージマッピング情報174は、ストレージ装置150の論理的な記憶領域(LU)と、ディスク156が有する物理的な領域であるセグメントとを対応付ける情報であり、LUを構成するセグメント毎にエントリを有する。各エントリは、ストレージ装置150を識別するめの識別子(ST−ID)を登録するフィールド310、LUを識別するための番号(LUN)を登録するフィールド312、LU内の論理的な記憶領域のアドレス(例えば、論理ページID)を登録するフィールド314、セグメントを格納しているディスクを識別するための番号(ディスクNo)を登録するフィールド316、フィールド314の論理的な領域に対応するセグメント内のアドレス(例えば、物理ページID)を登録するフィールド318、セグメントを識別するための番号(セグメントNo)を登録するフィールド320を有する。本実施例では、フィールド320に格納されるセグメントNoは、ディスクNoで示されるディスク内で一意に識別するための番号である。ストレージマッピング情報174は、システム構築時に作成され、システム構成に変更があった場合に更新される。なお、フィールド316におけるディスクとは、1台のハードディスクドライブ(HDD)であっても良いし、複数のHDDがRAID構成されたRG(Raid Group)であっても良い。ここで、1台のハードディスク、又はRGが、記憶デバイス集合である。   The storage mapping information 174 is information that associates a logical storage area (LU) of the storage apparatus 150 with a segment that is a physical area of the disk 156, and has an entry for each segment that constitutes the LU. Each entry includes a field 310 for registering an identifier (ST-ID) for identifying the storage apparatus 150, a field 312 for registering a number (LUN) for identifying an LU, and an address of a logical storage area in the LU ( For example, a field 314 for registering a logical page ID), a field 316 for registering a number (disk No.) for identifying a disk storing the segment, and an address in the segment corresponding to the logical area of the field 314 ( For example, it has a field 318 for registering a physical page ID) and a field 320 for registering a number (segment number) for identifying a segment. In the present embodiment, the segment No. stored in the field 320 is a number for uniquely identifying within the disc indicated by the disc No. The storage mapping information 174 is created when the system is constructed, and is updated when the system configuration is changed. The disk in the field 316 may be a single hard disk drive (HDD), or an RG (Raid Group) in which a plurality of HDDs are configured in RAID. Here, one hard disk or RG is a storage device set.

図4Aは、実施例1に係るDBデータ領域管理情報の一例の構成図である。   FIG. 4A is a configuration diagram of an example of DB data area management information according to the first embodiment.

DBデータ領域管理情報142は、管理プログラム140により作成されて保持される。DBデータ領域管理情報142は、DBデータ領域属性情報400、DBデータ配置情報402を有する。   The DB data area management information 142 is created and held by the management program 140. The DB data area management information 142 includes DB data area attribute information 400 and DB data arrangement information 402.

図4Bは、実施例1に係るDBデータ領域属性情報の一例の構成図である。   FIG. 4B is a configuration diagram of an example of DB data area attribute information according to the first embodiment.

DBデータ領域属性情報400は、DBデータ領域に関する情報であり、DBデータ領域毎にエントリを有する。各エントリは、DBデータ領域を識別するための識別子(DBデータ領域ID)を登録するフィールド410、DBデータ領域に格納されるスキーマを識別するための識別子(スキーマID)を登録するフィールド412、DBデータ領域に格納されるスキーマが扱うデータのタイプを登録するフィールド414、DBデータ領域が作られているストレージ装置150を識別するための識別子を登録するフィールド416、DBデータ領域が作られているストレージ装置150上の記憶領域(LU)を識別するための番号(LUN)を登録するフィールド418、DBデータ領域に割当られているセグメント数を登録するフィールド420、DBデータ領域に割当られている領域の中で使用しているセグメント数を登録するフィールド422、次にデータ移動の対象となるディスクの番号(ディスクNo)を登録するフィールド424を有する。DBデータ領域属性情報400は、管理プログラム140起動時に、DBMS120から取得されたスキーマ情報122及びDBマッピング情報124、OS130から取得されたOSマッピング情報132、ストレージ装置150の制御プログラム172から取得されたストレージマッピング情報174に基づいて作成され、その後、DBデータに追加があった際に必要に応じて更新される。   The DB data area attribute information 400 is information on the DB data area, and has an entry for each DB data area. Each entry includes a field 410 for registering an identifier (DB data area ID) for identifying a DB data area, a field 412 for registering an identifier (schema ID) for identifying a schema stored in the DB data area, and a DB A field 414 for registering the type of data handled by the schema stored in the data area, a field 416 for registering an identifier for identifying the storage device 150 in which the DB data area is created, and a storage in which the DB data area is created A field 418 for registering a number (LUN) for identifying a storage area (LU) on the device 150, a field 420 for registering the number of segments allocated to the DB data area, and an area allocated to the DB data area Field 422 for registering the number of segments used in the field Then have a field 424 for registering a subject to the number of the disk of the data transfer (disk No). The DB data area attribute information 400 includes the schema information 122 and DB mapping information 124 acquired from the DBMS 120 when the management program 140 is started, the OS mapping information 132 acquired from the OS 130, and the storage acquired from the control program 172 of the storage apparatus 150. Created based on the mapping information 174, and then updated as necessary when the DB data is added.

図4Cは、実施例1に係るDBデータ配置情報の一例の構成図である。   FIG. 4C is a configuration diagram of an example of DB data arrangement information according to the first embodiment.

DBデータ配置情報402は、所定のデータ量のDBデータであるデータ単位についての物理的配置に関する情報であり、1つのデータ単位を格納可能なセグメント毎にエントリを有する。各エントリは、ストレージ装置150を識別するめの識別子(ST−ID)を登録するフィールド430、LUを識別するための番号(LUN)を登録するフィールド432、LU内の論理的な領域のアドレス(例えば、論理ページID)を登録するフィールド434、セグメントを格納しているディスクを識別するための番号(ディスクNo)を登録する436、セグメントを識別するための番号(セグメントNo)を登録するフィールド438、セグメントに格納されているDBデータ(データ単位)の順序性情報を登録するフィールド440、セグメントに格納されているDBデータ(データ単位)の範囲の情報を登録するフィールド442を有する。DBデータ配置情報402は、管理プログラム140起動時に作成され、DBMS120がDBデータの追加を行ってDBデータ追加情報126を管理プログラム140に送信した際に、そのDBデータ追加情報126の内容によってエントリの追加が行われる。   The DB data arrangement information 402 is information relating to the physical arrangement of a data unit that is DB data having a predetermined data amount, and has an entry for each segment that can store one data unit. Each entry includes a field 430 for registering an identifier (ST-ID) for identifying the storage apparatus 150, a field 432 for registering a number (LUN) for identifying an LU, and an address of a logical area in the LU (for example, , A logical page ID) field 434, a number for identifying the disk storing the segment (disk No.) 436, a segment identification number (segment No.) field 438, It has a field 440 for registering the order information of the DB data (data unit) stored in the segment, and a field 442 for registering information on the range of the DB data (data unit) stored in the segment. The DB data arrangement information 402 is created when the management program 140 is started. When the DBMS 120 adds DB data and transmits the DB data addition information 126 to the management program 140, the DB data arrangement information 402 is changed depending on the contents of the DB data addition information 126. An addition is made.

図5Aは、実施例1に係るデータ領域追加指示の一例の構成図である。   FIG. 5A is a configuration diagram of an example of a data area addition instruction according to the first embodiment.

データ領域追加指示500は、管理プログラム140により、ストレージ装置150に対して発行される。データ領域追加指示500は、データの記憶領域(データ領域)を追加するストレージ装置150を識別するための識別子を登録するフィールド502、データ領域を追加する記憶領域(LU)の番号(LUN)を登録するフィールド504、追加するデータ領域のセグメント数を登録するフィールド506を有する。データ領域追加指示500を受信したストレージ装置150は、内部で持っている未使用データ領域から、フィールド506で指定されたセグメント数のセグメントをフィールド504で指定された記憶領域に追加し、ストレージマッピング情報174を更新し、その結果を管理プログラム140に返信する。   The data area addition instruction 500 is issued to the storage apparatus 150 by the management program 140. The data area addition instruction 500 registers a field 502 for registering an identifier for identifying a storage apparatus 150 to which a data storage area (data area) is added, and a storage area (LU) number (LUN) for adding the data area. And a field 506 for registering the number of segments of the data area to be added. The storage apparatus 150 that has received the data area addition instruction 500 adds the number of segments specified in the field 506 from the internal unused data area to the storage area specified in the field 504, and storage mapping information 174 is updated, and the result is returned to the management program 140.

図5Bは、実施例1に係るデータ移動指示の一例の構成図である。   FIG. 5B is a configuration diagram of an example of a data movement instruction according to the first embodiment.

データ移動指示510は、管理プログラム140により、ストレージ装置150に対して発行される。データ移動指示510は、データを移動するストレージ装置を識別するための識別子を登録するフィールド512、データを移動する記憶領域(LU)の番号(LUN)を登録するフィールド514、データ移動元のディスクの番号を登録するフィールド516、データ移動元のセグメントを識別するための番号を登録するフィールド518、データ移動先のディスクの番号を登録するフィールド520、データ移動先のセグメントを識別するための番号を登録するフィールド522を有する。データ移動指示510を受信したストレージ装置150は、フィールド516で指定されたディスクのフィールド518で指定されたセグメント上のDBデータ(データ単位)を、フィールド520で指定されたディスクのフィールド522で指定されたセグメントに移動し、ストレージマッピング情報174を更新し、その結果を管理プログラム140に返信する。   The data movement instruction 510 is issued to the storage apparatus 150 by the management program 140. The data movement instruction 510 includes a field 512 for registering an identifier for identifying a storage apparatus to which data is to be moved, a field 514 for registering the number (LUN) of a storage area (LU) to which data is to be moved, and the data migration source disk. A field 516 for registering a number, a field 518 for registering a number for identifying a segment to which data is to be moved, a field 520 for registering a number for a disk to which data is to be moved, and a number for identifying a segment to be moved to a data are registered Field 522. The storage apparatus 150 that has received the data movement instruction 510 specifies the DB data (data unit) on the segment specified by the field 518 of the disk specified by the field 516 and is specified by the field 522 of the disk specified by the field 520. The storage mapping information 174 is updated, and the result is returned to the management program 140.

図5Cは、実施例1に係る順序追加型のDBデータの物理的な配置例を示す図である。   FIG. 5C is a diagram illustrating a physical arrangement example of the order-added DB data according to the first embodiment.

LU530は、番号0〜4の5つのディスク550で構成される。各ディスク550では、セグメントNo540が0〜4までの5つのセグメント542が割当てられる。ディスク番号0のセグメントNo0のセグメント542には、順序性1のDBデータ(データ単位)が格納され、ディスク番号1のセグメントNo0のセグメントには、順序性2のDBデータが格納され、ディスク番号2のセグメントNo0のセグメント542には、順序性3のDBデータが格納され、ディスク番号3のセグメントNo0のセグメント542には、順序性4のDBデータが格納され、ディスク番号4のセグメントNo0のセグメント542には、順序性5のDBデータが格納され、ディスク番号0のセグメントNo1のセグメント542には、順序性6のDBデータが格納され、同様にして、各ディスク550の各セグメント542に、順序性7以降のDBデータがそれぞれ格納される。ストレージ装置150は、図5Cに示すように、連続するDBデータが、異なるディスク550に格納されるように、DBデータを分散させて格納する。   The LU 530 is composed of five disks 550 numbered 0-4. In each disk 550, five segments 542 having segment numbers 540 of 0 to 4 are allocated. The segment 542 of the disk No. 0 segment No. 0 stores DB data (data unit) of order 1, the segment No. 0 of the disk No. 1 stores DB data of order 2, and the disk number 2 The segment No. 0 segment 542 stores order 3 DB data, the disk number 3 segment No 0 segment 542 stores order 4 DB data, and the disk number 4 segment No 0 segment 542. DB data with order 5 is stored, DB data with order 6 is stored in segment 542 of segment No. 1 with disk number 0. Similarly, each segment 542 of each disk 550 stores order data. DB data after 7 are stored. As illustrated in FIG. 5C, the storage apparatus 150 stores DB data in a distributed manner so that continuous DB data is stored in different disks 550.

LU530上の論理的な記憶領域は、先頭の記憶領域から順に、ディスク番号0のセグメントNo0のセグメント542、ディスク番号1のセグメントNo0のセグメント542、ディスク番号2のセグメントNo0のセグメント542、ディスク番号3のセグメントNo0のセグメント542、ディスク番号4のセグメントNo0のセグメント542、ディスク番号0のセグメントNo1のセグメント542、ディスク番号1のセグメントNo1のセグメント542、・・・に対応している。   The logical storage areas on the LU 530 are, in order from the first storage area, the segment 542 of segment number 0 with disk number 0, the segment 542 of segment number 0 with disk number 1, the segment 542 with segment number 0 of disk number 2, and the disk number 3 Correspond to the segment 542 of the segment No 0, the segment 542 of the segment No 0 of the disk number 4, the segment 542 of the segment No 1 of the disk number 0, the segment 542 of the segment No 1 of the disk number 1.

次に、実施例1に係る計算機システムにおける処理動作を説明する。   Next, processing operations in the computer system according to the first embodiment will be described.

図6は、実施例1に係る管理処理のフローチャートである。   FIG. 6 is a flowchart of management processing according to the first embodiment.

管理処理は、計算機100のCPU104が管理プログラム140を実行することにより実現される。   The management process is realized by the CPU 104 of the computer 100 executing the management program 140.

システム管理者等によって、計算機100上で、管理プログラム140が起動されると、管理処理を開始する(ステップ600)。   When the management program 140 is started on the computer 100 by a system administrator or the like, the management process is started (step 600).

管理プログラム140は、DBMS120からスキーマ情報122、DBマッピング情報124を取得し(ステップ602)、OS130からOSマッピング情報132を取得し(ステップ604)、ストレージ装置150の制御プログラム172からストレージマッピング情報174を取得し(ステップ606)、それらの情報に基づいてDBデータ領域属性情報400、及びDBデータ配置情報402を作成し(ステップ608)、その後、DBMS120からのDBデータ追加情報126の受信待ち状態となる。   The management program 140 acquires the schema information 122 and the DB mapping information 124 from the DBMS 120 (Step 602), acquires the OS mapping information 132 from the OS 130 (Step 604), and acquires the storage mapping information 174 from the control program 172 of the storage apparatus 150. Acquire (step 606), create DB data area attribute information 400 and DB data arrangement information 402 based on the information (step 608), and then wait for reception of DB data additional information 126 from the DBMS 120. .

管理プログラム140は、DBMS120からDBデータ追加情報126を受信したか否かを判定し(ステップ610)、その結果、DBデータ追加情報126を受信した場合(ステップ610でYes)には、データ追加時処理(図7参照)を実行する(ステップ612)。データ追加時処理を実行後には、管理プログラム140は、DBMS120に追加データのストレージ装置150への書込み指示を行うこととなり、DBMS120の指示に従って追加データがストレージ装置150に格納されることとなる。なお、ストレージ装置150は、連続するデータが異なるディスクに分散されるように空き領域に対して追加データを格納する。   The management program 140 determines whether or not the DB data additional information 126 has been received from the DBMS 120 (step 610). As a result, when the DB data additional information 126 has been received (Yes in step 610), the data is added. Processing (see FIG. 7) is executed (step 612). After executing the data addition process, the management program 140 instructs the DBMS 120 to write the additional data to the storage apparatus 150, and the additional data is stored in the storage apparatus 150 in accordance with the instruction of the DBMS 120. The storage device 150 stores additional data in the free space so that continuous data is distributed to different disks.

データ追加時処理を終了した後、もしくはステップ610でDBデータ追加情報126を受信していない場合(ステップ610でNo)は、管理プログラム140は、システム管理者による管理プログラム140の終了の指示を受けたか否かを判定し(ステップ614)、その結果、終了の指示を受けた場合(ステップS614でYes)には、管理プログラム140を終了して管理処理を終了する(ステップ616)、一方、終了の指示を受けていない場合(ステップS614でNo)には、ステップ610から処理を繰り返す。   After completing the data addition process, or when the DB data addition information 126 has not been received in step 610 (No in step 610), the management program 140 receives an instruction to end the management program 140 by the system administrator. If the end instruction is received (Yes in step S614), the management program 140 is ended and the management process is ended (step 616). If the instruction is not received (No in step S614), the process is repeated from step 610.

図7は、実施例1に係るデータ追加時処理のフローチャートである。   FIG. 7 is a flowchart of data addition processing according to the first embodiment.

データ追加時処理は、計算機100のCPU104が管理プログラム140を実行することにより実現される。   The data addition process is realized by the CPU 104 of the computer 100 executing the management program 140.

管理プログラム140は、図6のステップ610で受信したデータ追加情報126を基に、データ領域属性情報400の対応するDBデータ領域のエントリを更新し(ステップ702)、当該DBデータ領域のエントリの割当セグメント数に対する使用セグメント数の割合が所定の閾値を下回ったか否かを判定する(ステップ704)。尚、この所定の閾値は予め管理プログラム140が内部に持っておいても良いし、管理プログラム140の起動時等にシステム管理者等から設定されても良い。また、上記ステップ704においては、DBデータ領域のエントリの割当セグメント数に対する使用セグメント数の割合が所定の閾値を下回ったか否かにより、未使用のセグメント数が所定量以下であるか否かを判定するようにしているが、これに代えて、例えば、追加するDBデータを格納するためのセグメントが不足するか否かを判定しても良く、また、未使用のセグメント数の絶対数が所定値以下であるか否かを判定しても良い。   The management program 140 updates the corresponding DB data area entry of the data area attribute information 400 based on the data addition information 126 received in step 610 of FIG. 6 (step 702), and assigns the entry of the DB data area. It is determined whether the ratio of the number of used segments to the number of segments is below a predetermined threshold (step 704). The predetermined threshold value may be previously stored in the management program 140, or may be set by a system administrator or the like when the management program 140 is started. Further, in the above step 704, it is determined whether or not the number of unused segments is equal to or less than a predetermined amount depending on whether or not the ratio of the number of used segments to the number of allocated segments of entries in the DB data area falls below a predetermined threshold. However, instead of this, for example, it may be determined whether or not there are insufficient segments for storing additional DB data, and the absolute number of unused segments is a predetermined value. It may be determined whether or not:

ステップ704の判定の結果、割当セグメント数に対する使用セグメント数の割合が所定の閾値を下回っている場合(ステップ704でYes)には、管理プログラム140は、ステップ706以降の処理を行い、閾値を下回っていない場合(ステップ704でNo)には、データ追加時処理を終了する(ステップ718)。   As a result of the determination in step 704, if the ratio of the number of used segments to the number of allocated segments is below a predetermined threshold (Yes in step 704), the management program 140 performs the processing from step 706 onward, and falls below the threshold. If not (No in step 704), the data addition process is terminated (step 718).

ステップ706では、管理プログラム140は、データ領域追加指示500の各フィールドに情報をセットしてストレージ装置150に送信する(ステップ706)。具体的には、管理プログラム140は、DBデータ領域属性情報テーブル400の対応するDBデータ領域のエントリのフィールド416のST−IDをデータ領域追加指示500のフィールド502にセットし、フィールド418のLUNをデータ領域追加指示500のフィールド504にセットし、フィールド506に追加セグメント要求数をセットする。尚、データ領域追加指示500のフィールド506に設定する追加セグメント要求数は、予めシステム管理者等から与えられた値としても良いし、現在の割当セグメント数から計算した値(例えば、現割当セグメント数の半分)としても良い。   In step 706, the management program 140 sets information in each field of the data area addition instruction 500 and transmits it to the storage apparatus 150 (step 706). Specifically, the management program 140 sets the ST-ID of the field 416 of the corresponding DB data area entry of the DB data area attribute information table 400 in the field 502 of the data area addition instruction 500, and sets the LUN of the field 418. It is set in the field 504 of the data area addition instruction 500 and the number of additional segment requests is set in the field 506. The number of additional segment requests set in the field 506 of the data area addition instruction 500 may be a value given in advance by a system administrator or the like, or a value calculated from the current number of allocated segments (for example, the number of current allocated segments). Half).

管理プログラム140は、ステップ706で送信したデータ領域追加指示500の応答をストレージ装置150から受信した後、ストレージ装置150からストレージマッピング情報174を再取得し(ステップ708)、取得したストレージマッピング情報174の情報に基づいて、ストレージ装置150において新たに追加されたセグメントに関するデータ配置情報402のエントリを追加する(ステップ710)。   The management program 140 receives the response of the data area addition instruction 500 transmitted in step 706 from the storage apparatus 150, and then reacquires the storage mapping information 174 from the storage apparatus 150 (step 708), and acquires the storage mapping information 174 acquired. Based on the information, an entry of the data arrangement information 402 regarding the newly added segment in the storage apparatus 150 is added (step 710).

続いて、管理プログラム140は、データ領域属性情報400のDBデータが追加されたDBデータ領域に対応するエントリを検索して、追加されたDBデータのスキーマのデータタイプをフィールド414の値により特定し(ステップ712)、そのデータタイプが順序追加であるか否か、すなわち、当該スキーマが順序性スキーマであるか否かを判定する(ステップ714)。   Subsequently, the management program 140 searches for an entry corresponding to the DB data area to which the DB data of the data area attribute information 400 is added, and specifies the data type of the schema of the added DB data by the value of the field 414. (Step 712), it is determined whether or not the data type is an order addition, that is, whether or not the schema is an ordering schema (Step 714).

ステップ714の判定の結果、データタイプが順序追加の場合(ステップ714でYes)には、管理プログラム140は、追加セグメント分散処理(図8参照)を実行し(ステップ716)、その後、データ追加時処理を終了する(ステップ718)。一方、データタイプが順序追加でない場合(ステップ714でNo)には、管理プログラム140は、そのままデータ追加時処理を終了する(ステップ718)。   If the result of determination in step 714 is that the data type is order addition (Yes in step 714), the management program 140 executes additional segment distribution processing (see FIG. 8) (step 716), and then data addition The process ends (step 718). On the other hand, when the data type is not the order addition (No in step 714), the management program 140 ends the data addition process as it is (step 718).

図8は、実施例1に係る追加セグメント分散処理のフローチャートである。   FIG. 8 is a flowchart of additional segment distribution processing according to the first embodiment.

追加セグメント分散処理は、計算機100のCPU104が管理プログラム140を実行することにより実現される。   The additional segment distribution process is realized by the CPU 104 of the computer 100 executing the management program 140.

管理プログラム140は、変数Nに“1”をセットする(ステップ802)。次いで、管理プログラム140は、DBデータ配置情報402を検索して、追加したセグメントの中のN番目のセグメントが存在するディスクが新しく追加されたディスク(第2記憶デバイス集合)か、すなわち、既存の全DBデータ領域を構成するディスク(1以上の第1記憶デバイス集合)として使われていないか否かを判定し(ステップ804)、この結果、新しく追加されたディスク(第2記憶デバイス集合)ではない場合(ステップ804でNo)には、処理をステップ810に進める。   The management program 140 sets “1” in the variable N (step 802). Next, the management program 140 searches the DB data arrangement information 402 to determine whether the disk containing the Nth segment among the added segments is a newly added disk (second storage device set), that is, an existing one. It is determined whether or not it is not used as a disk (one or more first storage device set) constituting the entire DB data area (step 804). As a result, in the newly added disk (second storage device set), If not (No in Step 804), the process proceeds to Step 810.

一方、ステップ804の判定の結果、新しく追加されたディスク(第2記憶デバイス集合)である場合(ステップ804でYes)には、管理プログラム140は、対応するエントリのフィールド424に格納されているデータ移動ディスクNoが指すディスク上のセグメントの中で、フィールド440の順序性情報の順序がN番目に古いDBデータを持つセグメントのDBデータ(データ単位)を、新しく追加されたディスクのN番目のセグメントに移動するようにデータ移動指示510に情報をセットしてストレージ装置150に送信する(ステップ806)。具体的には、管理プログラム140は、データ移動指示510のフィールド516に、データ移動ディスクNoが示すディスクのディスクNoを格納し、フィールド518に、当該ディスク上のN番目に古いDBデータを持つセグメントのセグメントNoを格納し、フィールド520に、新しく追加されたディスクのディスクNoを格納し、フィールド522に、新しく追加されたディスクのN番目のセグメントのセグメントNoを格納する。   On the other hand, if it is determined in step 804 that the disk is a newly added disk (second storage device set) (Yes in step 804), the management program 140 stores the data stored in the field 424 of the corresponding entry. Among the segments on the disk indicated by the moving disk No., the DB data (data unit) of the segment having the Nth oldest DB data in the order of the order information in the field 440 is replaced with the Nth segment of the newly added disk. The information is set in the data movement instruction 510 so as to move to the storage device 150 and transmitted to the storage apparatus 150 (step 806). Specifically, the management program 140 stores the disk number of the disk indicated by the data movement disk number in the field 516 of the data movement instruction 510, and the segment having the Nth oldest DB data on the disk in the field 518. , The disk number of the newly added disk is stored in the field 520, and the segment number of the Nth segment of the newly added disk is stored in the field 522.

次いで、管理プログラム140は、ステップ806で送信したデータ移動指示510の応答をストレージ装置150から受信した後、DBデータ移動の内容に応じてデータ配置情報402を更新する(ステップ808)。具体的には、移動元のディスクのセグメントに対応するエントリのフィールド440及び442の順序性情報及びデータ範囲情報を、移動先のディスクのセグメントに対応するエントリのフィールド440及び442に登録し、移動元のエントリのフィールド440及び442の内容をクリアする。   Next, the management program 140 receives the response of the data movement instruction 510 transmitted in step 806 from the storage apparatus 150, and then updates the data arrangement information 402 according to the contents of the DB data movement (step 808). Specifically, the order information and data range information of the fields 440 and 442 of the entry corresponding to the segment of the source disk are registered in the fields 440 and 442 of the entry corresponding to the segment of the destination disk, and the migration is performed. Clear the contents of fields 440 and 442 of the original entry.

続いて、管理プログラム140は、変数Nをインクリメント(+1)し(ステップ810)、ステップ806でデータを移動した場合は、フィールド424のデータ移動ディスクNoに次のディスク(次の第1記憶デバイス集合)の番号をセットし(ステップ812)、変数Nが追加したセグメント数と同じか否か、すなわち、追加したセグメント数−1回処理(ステップ804〜ステップ812)を繰り返したか否かを判定する(ステップ814)。この結果、変数Nが追加したセグメント数よりも小さい場合(ステップ814でNo)には、管理プログラム140は、ステップ804からの処理を再び実行する。従って、ステップ706でセットしたDBデータ領域の追加セグメント数−1回だけステップ804〜812の処理が繰り返されることとなる。この処理により、連続するDBデータが一つのディスクに集まらないようにしつつ、複数のディスク900〜910に空き領域が分散されることとなる。また、この処理により、複数のディスク900〜910にほぼ同数の空き領域(空きセグメント)が備えられることとなる。   Subsequently, the management program 140 increments the variable N (+1) (step 810), and when the data is moved in step 806, the next disk (next first storage device set) is transferred to the data movement disk No in the field 424. ) Is set (step 812), and it is determined whether or not the variable N is the same as the number of added segments, that is, whether or not the number of added segments-1 times (steps 804 to 812) has been repeated (step 812). Step 814). As a result, when the variable N is smaller than the added number of segments (No in Step 814), the management program 140 executes the processing from Step 804 again. Therefore, the processing in steps 804 to 812 is repeated only for the number of additional segments in the DB data area set in step 706 −1. By this processing, free areas are distributed over the plurality of disks 900 to 910 while preventing continuous DB data from being collected on one disk. In addition, by this processing, the plurality of disks 900 to 910 are provided with almost the same number of free areas (empty segments).

一方、ステップ814の判定の結果、変数Nが追加したセグメント数と同じである場合(ステップ814でYes)には、管理プログラム140は、追加セグメント分散処理を終了する(ステップ816)。   On the other hand, if the result of determination in step 814 is that the variable N is the same as the number of segments added (Yes in step 814), the management program 140 ends the additional segment distribution processing (step 816).

次に、図7に示すデータ追加時処理と、図8に示す追加セグメント分散処理とが実行された場合におけるDBデータの移動の具体例を説明する。   Next, a specific example of DB data movement when the data addition process shown in FIG. 7 and the additional segment distribution process shown in FIG. 8 are executed will be described.

図9Aは、実施例1に係るDBデータの移動を説明する第1の図である。図9Bは、実施例1に係るDBデータの移動を説明する第2の図である。図10Aは、実施例1に係るDBデータの移動を説明する第3の図である。図10Bは、実施例1に係るDBデータの移動を説明する第4の図である。図11Aは、実施例1に係るDBデータの移動を説明する第5の図である。図11Bは、実施例1に係るDBデータの移動を説明する第6の図である。図12Aは、実施例1に係るDBデータの移動を説明する第7の図である。図12Bは、実施例1に係るDBデータの移動を説明する第8の図である。ここで、これら図面においては、ディスク(900等)の内部の各矩形は、それぞれセグメントに対応し、矩形の左横の数字は、当該ディスクにおけるセグメントの番号を示し、矩形内に記載された数字は、当該セグメントに格納されているDBデータ(データ単位)の順序性を示している。例えば、矩形内の数字が“1”は、順序性1のデータが対応するセグメントに格納されていることを示している。また、図示の個々のディスクにおいて、縦方向に並んだセグメントは、アドレスの並びに沿って並んでいるものとする。つまり、セグメントが連続(隣接)しているとは、アドレス範囲が連続(隣接)していることを意味する。図によれば、P個のディスクがある場合(Pは2以上の整数)、P(横)×Q(縦)個のセグメントを有する(Qは1以上の整数)。つまり、各ディスクが、Q個のセグメントを有する。Qの数は、ディスクの容量(或いはディスクのうちのどの範囲をDBデータの格納範囲とするか)に応じて異なる。同一行にあるセグメントは、アドレスが同一とする。   FIG. 9A is a first diagram illustrating movement of DB data according to the first embodiment. FIG. 9B is a second diagram for explaining the movement of the DB data according to the first embodiment. FIG. 10A is a third diagram illustrating the movement of the DB data according to the first embodiment. FIG. 10B is a fourth diagram illustrating the movement of the DB data according to the first embodiment. FIG. 11A is a fifth diagram illustrating the movement of the DB data according to the first embodiment. FIG. 11B is a sixth diagram illustrating the movement of the DB data according to the first embodiment. FIG. 12A is a seventh diagram illustrating the movement of the DB data according to the first embodiment. FIG. 12B is an eighth diagram illustrating the movement of the DB data according to the first embodiment. Here, in these drawings, each rectangle inside the disk (900, etc.) corresponds to a segment, and the number on the left side of the rectangle indicates the number of the segment in the disk, and the number written in the rectangle Indicates the order of the DB data (data unit) stored in the segment. For example, the number “1” in the rectangle indicates that data of order 1 is stored in the corresponding segment. In the illustrated individual disks, the segments arranged in the vertical direction are arranged along the sequence of addresses. That is, the segment being continuous (adjacent) means that the address range is continuous (adjacent). According to the figure, when there are P discs (P is an integer of 2 or more), there are P (horizontal) × Q (vertical) segments (Q is an integer of 1 or more). That is, each disk has Q segments. The number of Q differs depending on the capacity of the disk (or which range of the disk is used as the DB data storage range). The segments in the same row have the same address.

図9Aに示すように、処理を開始する時点における或るスキーマのデータが格納されるデータ領域としては、ディスク900〜908の5つのディスク(5つの第1記憶デバイス集合)の記憶領域が割り当てられている。すなわち、ここでいう「ディスク」は、単体の記憶デバイスでも良いし、複数の記憶デバイス(例えばRAID(Redundant Array of Independent (or Inexpensive) Disks)グループ)でも良い。ディスク900〜908には、それぞれ5つのセグメントが割り当てられている。順序性1のデータ(データ単位)は、ディスク900のセグメントNo0のセグメントに格納され、順序性2のデータは、ディスク902のセグメントNo0のセグメントに格納され、順序性3のデータは、ディスク904のセグメントNo0のセグメントに格納されており、同様にして各データがディスクのセグメントに格納されている。このような状態は、例えば、DBMS120(或いは、ストレージ装置150のCPU166)が、先頭の順序性データから順に格納する際に、格納先とするディスクを順次切り替えることにより、実現される。   As shown in FIG. 9A, storage areas of five disks (a set of five first storage devices) of disks 900 to 908 are allocated as data areas for storing data of a certain schema at the time of starting processing. ing. That is, the “disk” here may be a single storage device or a plurality of storage devices (for example, a RAID (Redundant Array of Independent (or Inexpensive) Disks) group). Five segments are assigned to each of the disks 900 to 908. Order 1 data (data unit) is stored in the segment No 0 segment of the disk 900, order 2 data is stored in the segment No 0 segment of the disk 902, and order 3 data is stored in the disk 904. It is stored in the segment No. 0, and each data is similarly stored in the segment of the disk. Such a state is realized, for example, when the DBMS 120 (or the CPU 166 of the storage apparatus 150) sequentially switches the storage destination disks when storing sequentially from the head order data.

このような状態において、スキーマのデータを格納するための記憶領域として、新しくディスク910(第2記憶デバイス集合)の5つのセグメントを追加する場合を例に挙げて、追加セグメント分散処理におけるデータの移動を以下説明する。尚、DBデータ領域属性情報400のフィールド424に格納されたデータ移動ディスクNoは、ディスク900を指しているものとする。   In such a state, as an example of adding five segments of the disk 910 (second storage device set) as a storage area for storing schema data, the data movement in the additional segment distribution processing is taken as an example. Is described below. It is assumed that the data migration disk number stored in the field 424 of the DB data area attribute information 400 indicates the disk 900.

スキーマのデータを格納する領域は、新しくディスク910の5つのセグメントが追加されると、図9Bに示すように、ディスク900〜ディスク908の既存のデータ領域に対して、新たなディスク910の5つのセグメントが追加されることとなる。例えば、管理プログラム140が、ディスク900〜ディスク908(ディスクの一群)に新たなディスク910が追加されたか否かを監視していて、新たなディスク910が追加された場合にはそれを検出して良い。この状態では、ディスク910のセグメントNo0〜No4のセグメントが未使用となっている。ここで、図8に示す追加セグメント分散処理を実行しなかった場合には、次の順序のデータ(例えば、順序性26から順序性30までのデータ)は、ディスク910のセグメントNo0からセグメントNo4のセグメントに順次追加されることになる。この状態で、直近の5セグメント分のデータ(この例では、順序性26から順序性30のデータ)にアクセスすることを想定すると、ディスク910にアクセスが集中してしまい、結果として処理の並列度が高まらず性能を向上することができない。   When five segments of the disk 910 are newly added to the area for storing the schema data, as shown in FIG. 9B, the five areas of the new disk 910 are compared with the existing data areas of the disks 900 to 908. A segment will be added. For example, the management program 140 monitors whether or not a new disk 910 has been added to the disks 900 to 908 (a group of disks), and if a new disk 910 is added, detects it. good. In this state, the segments No. 0 to No. 4 of the disk 910 are unused. Here, when the additional segment distribution processing shown in FIG. 8 is not executed, the data in the next order (for example, data from the order 26 to the order 30) are segment No. 0 to segment No. 4 on the disk 910. It will be added sequentially to the segment. In this state, assuming access to the data for the most recent five segments (in this example, data having the order 26 to the order 30), the access is concentrated on the disk 910, and as a result, the degree of parallelism of processing is increased. However, the performance cannot be improved.

図9Bに示す状態において、追加セグメント分散処理における変数N=1とした場合の処理(ステップS804〜ステップ808)が実行されると、図10Aに示すように管理プログラム140は、順序性1のデータ(データ単位)を移動する。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoがディスク900を指しているので、管理プログラム140は、ディスク900の中で順序性がN番目(ここでは、1番目)に古いデータ(ここでは、順序性1のデータ)を持つセグメント(ここでは、セグメントNo0)のデータを、追加したディスク910のN番目(ここでは、1番目)のセグメント(ここでは、セグメントNo0のセグメント)に移動させる。この後、管理プログラム140は、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoを、次のディスク、すなわち、ディスク902を指すようにセットする。   In the state shown in FIG. 9B, when the process (step S804 to step 808) when the variable N = 1 in the additional segment distribution process is executed, the management program 140, as shown in FIG. Move (data unit). That is, when the additional segment distribution process is executed, the data migration disk No in the field 424 indicates the disk 900, so that the management program 140 has the Nth order (here, the first) in the disk 900. The data of the segment (here, segment No. 0) having the old data (here, data of order 1) is added to the Nth segment (here, the first) segment (here, segment No. 0) of the added disk 910. Segment). Thereafter, the management program 140 sets the data migration disk No in the field 424 of the DB data area attribute information 400 to point to the next disk, that is, the disk 902.

その後、追加セグメント分散処理における変数N=2とした場合の処理(ステップS804〜ステップ808)が実行されると、図10Bに示すように、管理プログラム140は、順序性7のデータを移動させる。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク902を指しているので、管理プログラム140は、ディスク902の中で順序性がN番目(ここでは、2番目)に古いデータ(ここでは、順序性7のデータ)を持つセグメント(ここでは、セグメントNo1)のデータを、追加したディスク910のN番目(ここでは、2番目)のセグメント(ここでは、セグメントNo1)に移動させる。ここで、逐次インクリメントされるN番目に古いDBデータを移動させるようにするので、管理プログラム140は、他のディスクから移動されたDBデータと、順序が比較的はなれたDBデータをディスク910に移動させることができる。すなわち、ディスク910に連続するDBデータが移動されることを適切に低減することができる。この後、管理プログラム140は、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoを、次のディスク、すなわち、ディスク904を指すようにセットする。   Thereafter, when processing (step S804 to step 808) in the case where the variable N = 2 in the additional segment distribution processing is executed, the management program 140 moves the data of order 7 as shown in FIG. 10B. That is, when the additional segment distribution processing is executed, the data migration disk No in the field 424 indicates the disk 902, so that the management program 140 has the Nth order (here, the second number) in the disk 902. ), The data of the segment (here, segment No. 1) having the old data (here, data of order 7) is added to the Nth (here, second) segment (here, segment No. 1) of the added disk 910. ). Here, since the N-th oldest DB data that is sequentially incremented is moved, the management program 140 moves the DB data moved from another disk and the DB data that is relatively out of order to the disk 910. Can be made. That is, it is possible to appropriately reduce the movement of continuous DB data to the disk 910. Thereafter, the management program 140 sets the data migration disk No in the field 424 of the DB data area attribute information 400 so as to indicate the next disk, that is, the disk 904.

その後、追加セグメント分散処理における変数N=3とした場合の処理(ステップS804〜ステップ808)が実行されると、図11Aに示すように、管理プログラム140は、順序性13のデータを移動させる。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク904を指しているので、管理プログラム140は、ディスク904の中で順序性がN番目(ここでは、3番目)に古いデータ(ここでは、順序性13のデータ)を持つセグメント(ここでは、セグメントNo2)のデータを、追加したディスク910のN番目(ここでは、3番目)のセグメント(ここでは、セグメントNo2)に移動させる。この後、管理プログラム140は、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoを、次のディスク、すなわち、ディスク906を指すようにセットする。   Thereafter, when the process (step S804 to step 808) when the variable N is set to 3 in the additional segment distribution process is executed, the management program 140 moves the data of the order 13 as shown in FIG. 11A. That is, when the additional segment distribution process is executed, the data migration disk No in the field 424 indicates the disk 904, so that the management program 140 has the Nth order in the disk 904 (here, the third position). ), The data of the segment (here, segment No. 2) having the old data (here, data of order 13) is added to the Nth (here, third) segment (here, segment No. 2) of the added disk 910. ). Thereafter, the management program 140 sets the data migration disk No in the field 424 of the DB data area attribute information 400 to point to the next disk, that is, the disk 906.

その後、追加セグメント分散処理における変数N=4とした場合の処理(ステップS804〜ステップ808)が実行されると、図11Bに示すように、管理プログラム140は、順序性19のデータを移動させる。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク906を指しているので、管理プログラム140は、ディスク906の中で順序性がN番目(ここでは、4番目)に古いデータ(ここでは、順序性19のデータ)を持つセグメント(ここでは、セグメントNo3)のデータを、追加したディスク910のN番目(ここでは、4番目)のセグメント(ここでは、セグメントNo3)に移動させる。この後、管理プログラム140は、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoを、次のディスク、すなわち、ディスク908を指すようにセットする。   Thereafter, when the process (step S804 to step 808) when the variable N is set to 4 in the additional segment distribution process is executed, the management program 140 moves the data of order 19 as shown in FIG. 11B. That is, when the additional segment distribution processing is executed, the data migration disk No in the field 424 indicates the disk 906, so that the management program 140 has the Nth order (here, the fourth) in the disk 906. ), The data of the segment (here, segment No. 3) having the old data (here, data of order 19) is added to the Nth (here, fourth) segment (here, segment No. 3) of the added disk 910. ). Thereafter, the management program 140 sets the data migration disk No in the field 424 of the DB data area attribute information 400 to point to the next disk, that is, the disk 908.

図9Bの状態に対して、追加セグメント分散処理が実行されて、データの移動が終わった場合には、図12Aに示す状態となる。すなわち、新たなデータの追加が行われる前において、未使用のセグメントが、ディスク900のセグメントNo0、ディスク902のセグメントNo1、ディスク904のセグメントNo2、ディスク906のセグメントNo3、ディスク910のセグメントNo4といったように、異なるディスクに分散されることとなる。   When the additional segment distribution process is executed for the state of FIG. 9B and the data movement is completed, the state shown in FIG. 12A is obtained. That is, before new data is added, the unused segments are segment No. 0 of disk 900, segment No. 1 of disk 902, segment No. 2 of disk 904, segment No. 3 of disk 906, segment No. 4 of disk 910, etc. In other words, it is distributed to different disks.

図12Aに示す状態において、DBMS120により、順序性26から順序性30までのデータがストレージ装置150に追加されると、図12Bに示すように連続するデータが異なるディスクに分散されて格納されることとなる。すなわち、順序性26のデータは、ディスク900のセグメントNo0のセグメントに格納され、順序性27のデータは、ディスク902のセグメントNo1のセグメントに格納され、順序性28のデータは、ディスク904のセグメントNo2のセグメントに格納され、順序性29のデータは、ディスク906のセグメントNo3のセグメントに格納され、順序性30のデータは、ディスク910のセグメントNo4のセグメントに格納される。   In the state shown in FIG. 12A, when data from the order 26 to the order 30 is added to the storage apparatus 150 by the DBMS 120, continuous data is distributed and stored in different disks as shown in FIG. 12B. It becomes. That is, the data of the order 26 is stored in the segment No. 0 of the disk 900, the data of the order 27 is stored in the segment No. 1 of the disk 902, and the data of the order 28 is stored in the segment No. 2 of the disk 904. The data of the order 29 is stored in the segment No. 3 of the disk 906, and the data of the order 30 is stored in the segment No. 4 of the disk 910.

すなわち、以上の説明によれば、ディスクの数がPであり(Pは2以上の整数)、各ディスクが、Q個のセグメントを有しており(Qは1以上の整数)、故に、P個のディスクが、(P×Q)個のセグメントを有しており、順番が連続したP個のDBデータ毎に、順番が連続したP個のDBデータが、異なるディスクの同一行のP個のセグメントに格納されるようになっている。この場合、管理プログラム140は、X番目の第1記憶デバイス集合のうちX番目に古いデータを(Xは整数、且つ、X=0、1、…、(Q−1))、X番目のディスクのセグメントから追加されたディスクの空きセグメントに移動させる。その後、管理プログラム140は、X番目のディスクに生じた空きセグメントが、X番目のディスクにおける最新のデータ単位を格納しているセグメントに隣接していない場合、X番目のディスクにおける2番目に新しいDBデータを、2番目に新しいDBデータを記憶しているセグメントから、X番目のディスクにおける空きセグメントに移動させる。   That is, according to the above description, the number of disks is P (P is an integer of 2 or more), and each disk has Q segments (Q is an integer of 1 or more). Each disk has (P × Q) segments, and for every P pieces of DB data in which the order is continuous, P pieces of DB data in which the order is continuous are P pieces in the same row of different disks. Is stored in the segment. In this case, the management program 140 stores the Xth oldest data in the Xth first storage device set (X is an integer, and X = 0, 1,... (Q-1)), and the Xth disk. Move to the free segment of the added disk. Thereafter, the management program 140 determines that the free segment generated in the Xth disk is not adjacent to the segment storing the latest data unit in the Xth disk, and is the second newest DB in the Xth disk. The data is moved from the segment storing the second new DB data to the empty segment in the Xth disk.

以上説明したように、実施例1によると、未使用のデータ領域(セグメント)が各ディスクに分散されることとなり、その後、その未使用のセグメントに対して新たなデータの追加が行われる。この結果、図12Bに示す状態となり、例えば、直近の5セグメント分のデータ(ここでは、順序性26から順序性30のデータ)に対してアクセスすることを想定すると、ディスク900、ディスク902、ディスク904、ディスク906、ディスク910にアクセスが分散するため、処理の並列度が高まり、性能を向上することが可能となる。   As described above, according to the first embodiment, an unused data area (segment) is distributed to each disk, and thereafter, new data is added to the unused segment. As a result, the state shown in FIG. 12B is obtained. For example, assuming that access is made to the data for the most recent five segments (here, data of order 26 to order 30), the disk 900, the disk 902, the disk Since access is distributed to 904, the disk 906, and the disk 910, the degree of parallelism of processing is increased and the performance can be improved.

ここで、直近の10セグメント分のデータ(ここでは、順序性21から順序性30のデータ)にアクセスすることを想定すると、実施例1の技術だけでは、ディスク上の物理的なアクセスレンジ(アクセスされる範囲)が広くなってしまうディスクが出てくる場合が考えられる。例えば、ディスク900では、セグメントNo0からセグメントNo4までの範囲に対してアクセスされることとなる。物理的なアクセスレンジが狭ければ狭いほど性能は向上するため、アクセスレンジが広がったディスクに関しては、性能向上の割合が小さくなってしまう。これに対して、以下の実施例2では、ディスクにおける物理的なアクセスレンジを狭めることができる技術を説明する。   Here, assuming that access is made to the most recent 10-segment data (here, data of order 21 to order 30), the physical access range (access) on the disk can be obtained only with the technique of the first embodiment. It is conceivable that there will be a disc that becomes wider. For example, in the disk 900, the range from segment No0 to segment No4 is accessed. The narrower the physical access range, the better the performance. Therefore, for a disk with an extended access range, the performance improvement rate becomes small. On the other hand, in the following second embodiment, a technique capable of narrowing a physical access range in a disk will be described.

次に、実施例2に係る計算機システムについて説明する。   Next, a computer system according to the second embodiment will be described.

実施例2に係る計算機システムは、実施例1に係る計算機システムにおける追加セグメント分散処理において、更にセグメント隣接処理(図14参照)を行うようにしたものである。実施例2に係る計算機システムの構成は、図1に示す実施例1に係る計算機システムと同様である。以下、実施例2に係る計算機システムについて、実施例1に係る計算機システムとの相違点を中心に説明する。   The computer system according to the second embodiment further performs segment adjacent processing (see FIG. 14) in the additional segment distribution processing in the computer system according to the first embodiment. The configuration of the computer system according to the second embodiment is the same as that of the computer system according to the first embodiment shown in FIG. Hereinafter, the computer system according to the second embodiment will be described focusing on differences from the computer system according to the first embodiment.

図13は、実施例2に係る追加セグメント分散処理のフローチャートである。なお、図8に示す実施例1に係る追加セグメント分散処理と同様な部分には、同一の符号を付している。   FIG. 13 is a flowchart of additional segment distribution processing according to the second embodiment. In addition, the same code | symbol is attached | subjected to the part similar to the additional segment dispersion | distribution process which concerns on Example 1 shown in FIG.

実施例2における追加セグメント分散処理においては、ステップ808とステップ810との間にセグメント隣接処理(図14参照)を実行するステップ1300が追加されている。   In the additional segment distribution processing in the second embodiment, step 1300 for executing segment adjacency processing (see FIG. 14) is added between step 808 and step 810.

図14は、実施例2に係るセグメント隣接処理のフローチャートである。   FIG. 14 is a flowchart of segment adjacency processing according to the second embodiment.

管理プログラム140は、DBデータ配置情報402を検索して、追加したセグメントの中のN番目(この変数Nは、追加セグメント分散処理から引き継いだ変数である。)のセグメントが存在するディスクが新しく追加されたディスクか、すなわち、既存の全DBデータ領域を構成するディスクとして使われていないか否かを判定し(ステップ1402)、この結果、新しく追加されたディスクではない場合(ステップ1402でNo)には、処理をステップ1410に進める。   The management program 140 searches the DB data arrangement information 402 and newly adds a disk in which the Nth segment in the added segment (this variable N is a variable inherited from the additional segment distribution process) exists. It is determined whether the disk has been used, that is, whether it is not used as a disk constituting all existing DB data areas (step 1402). As a result, if it is not a newly added disk (No in step 1402). , The process proceeds to step 1410.

ステップ1402の判定の結果、新しく追加されたディスクの場合(ステップS1402でYes)には、管理プログラム140は、図13の追加セグメント分散処理のステップ806で移動元になったセグメント、すなわち、現在、未使用のセグメントのセグメントNoと、当該セグメントが属するディスクの全セグメントの中でフィールド440の順序性情報が一番新しいセグメントNoとを取得し(ステップ1404)、両セグメントが隣接しているか否か、すなわち、両セグメントのセグメントNoが±1であるか否かを判定する(ステップ1406)。   As a result of the determination in step 1402, in the case of a newly added disk (Yes in step S1402), the management program 140 determines the segment that became the movement source in step 806 of the additional segment distribution processing in FIG. The segment number of the unused segment and the segment number having the newest order information in the field 440 among all the segments of the disk to which the segment belongs are acquired (step 1404), and whether or not both segments are adjacent to each other That is, it is determined whether or not the segment numbers of both segments are ± 1 (step 1406).

その結果、両セグメントが隣接している場合(ステップ1406でYes)には、管理プログラム140は、セグメント隣接処理を終了する(ステップ1416)。一方、両者のセグメントが隣接していない場合(ステップ1406でNo)には、管理プログラム140は、そのディスクの全セグメントの中で一番新しいデータを格納しているセグメントに隣接しているセグメントのデータを、ステップ806で移動元になったセグメントに移動するようにデータ移動指示510に情報をセットしてストレージ装置150に送信し、ストレージ装置150からその応答を受信後、データ配置情報402を更新して(ステップ1408)、セグメント隣接処理を終了する(ステップ1416)。   As a result, if both segments are adjacent (Yes in step 1406), the management program 140 ends the segment adjacent process (step 1416). On the other hand, if the two segments are not adjacent (No in step 1406), the management program 140 determines the segment adjacent to the segment storing the newest data among all the segments of the disk. Information is set in the data movement instruction 510 so that the data is moved to the segment that became the movement source in Step 806 and transmitted to the storage apparatus 150. After receiving the response from the storage apparatus 150, the data arrangement information 402 is updated. (Step 1408), the segment adjacency processing is terminated (Step 1416).

ステップ1402の判定の結果、新しく追加されたディスクではない場合(ステップ1402でNo)には、管理プログラム140は、追加したセグメント中のN番目のセグメント(現在、未使用のセグメント)と、当該セグメントが属するディスクの全セグメントの中でフィールド440の順序性情報が一番新しいセグメントのセグメントNoとを取得し(ステップ1410)、両セグメントが隣接しているか否か、すなわち、両セグメントのセグメントNoが±1であるか否かを判定する(ステップ1412)。   If it is determined in step 1402 that the disk is not a newly added disk (No in step 1402), the management program 140 determines the Nth segment (currently unused segment) in the added segment and the segment. The segment No. of the segment with the newest order information in the field 440 is acquired from all the segments of the disk to which the segment belongs (step 1410), and whether or not both segments are adjacent, that is, the segment No. of both segments is It is determined whether or not ± 1 (step 1412).

その結果、両セグメントが隣接している場合(ステップ1412でYes)には、管理プログラム140は、セグメント隣接処理を終了する(ステップ1416)。一方、両者のセグメントが隣接していない場合(ステップ1412でNo)には、管理プログラム140は、そのディスクの全セグメントの中で一番新しいデータを記憶しているセグメントに隣接しているセグメントのデータを、追加したセグメント中のN番目のセグメントに移動するようにデータ移動指示510に情報をセットしてストレージ装置150に送信し、ストレージ装置150からその応答を受信後、データ配置情報402を更新して(ステップ1414)、セグメント隣接処理を終了する(ステップ1416)。   As a result, if both segments are adjacent (Yes in step 1412), the management program 140 ends the segment adjacent process (step 1416). On the other hand, if the two segments are not adjacent (No in step 1412), the management program 140 determines the segment adjacent to the segment storing the newest data among all the segments of the disk. Information is set in the data movement instruction 510 so that the data is moved to the Nth segment in the added segment and transmitted to the storage apparatus 150. After receiving the response from the storage apparatus 150, the data arrangement information 402 is updated. (Step 1414), the segment adjacency process is terminated (Step 1416).

尚、同一ディスク上で順序性が一番新しいデータを記憶しているセグメントの両隣のセグメントが未使用の場合は、更にその隣のセグメントのデータを移動するようにしても良い。また、セグメント隣接処理では、同一ディスク上で順序性が一番新しいセグメントと、未使用のセグメントとが隣接するようにしているが、本発明はこれに限られず、例えば、各スキーマのデータ範囲に対する検索頻度の統計情報を管理プログラム140の内部にもっておいて、検索頻度の高いデータを記憶しているセグメント同士が、隣接するようにデータの移動を行っても良い。また、一番新しいデータが格納されているセグメントに対して所定の範囲内(例えば、前後2セグメント以内)に空き領域が存在しない場合に、その範囲内のいずれかのセグメントのデータを空き領域に移動させるようにしても良い。   If the adjacent segments of the segment storing the most recent data on the same disk are unused, the data of the adjacent segment may be moved further. In the segment adjacency processing, the segment with the newest order and the unused segment are adjacent to each other on the same disk. However, the present invention is not limited to this. For example, for the data range of each schema The statistical information of the search frequency may be stored in the management program 140, and the data may be moved so that the segments storing the data with the high search frequency are adjacent to each other. In addition, when there is no free area within a predetermined range (for example, within 2 segments before and after) for the segment in which the newest data is stored, the data of any segment within that range is set as a free area. You may make it move.

次に、図14に示すセグメント隣接処理を行った場合におけるDBデータの移動の具体例を説明する。   Next, a specific example of DB data movement when the segment adjacency process shown in FIG. 14 is performed will be described.

図15Aは、実施例2に係るDBデータの移動を説明する第1の図である。図15Bは、実施例1に係るDBデータの移動を説明する第2の図である。図16Aは、実施例2に係るDBデータの移動を説明する第3の図である。図16Bは、理想的なデータ配置を説明する図である。   FIG. 15A is a first diagram illustrating movement of DB data according to the second embodiment. FIG. 15B is a second diagram illustrating the movement of the DB data according to the first embodiment. FIG. 16A is a third diagram for explaining the movement of the DB data according to the second embodiment. FIG. 16B is a diagram for explaining an ideal data arrangement.

図15Aは、図13に示す追加セグメント分散処理において、セグメント隣接処理を実行する前の状態(図10B、図11A、図11B、図12A)を便宜的にまとめて示した図である。尚、追加した1つのセグメントに起因するセグメント隣接処理は、追加セグメント分散処理の1つのセグメントに対する処理に引き続いて行われる。   FIG. 15A is a diagram collectively showing the state (FIG. 10B, FIG. 11A, FIG. 11B, and FIG. 12A) before the segment adjacency processing is performed for convenience in the additional segment distribution processing shown in FIG. In addition, the segment adjacent process resulting from one added segment is performed following the process for one segment of the additional segment distribution process.

まず、図10Bに示すように、ディスク900のセグメントNo0のデータ(順序性1のデータ)がディスク910のセグメントNo0のセグメントに移動した後には、セグメント隣接処理(ステップ1300)により、図15Aに示すように、ディスク900の中で順序性が一番新しいデータ(ここでは、順序性21のデータ)を持つセグメント(ここでは、セグメントNo4のセグメント)に隣接しているセグメント(ここでは、セグメントNo3のセグメント)のデータ(ここでは、順序性16のデータ)を、追加セグメント分散処理によって未使用となったセグメント(ここでは、セグメントNo0のセグメント)に移動する。同様にして、図11Aに示すように、ディスク902のセグメントNo1のデータ(順序性7のデータ)がディスク910のセグメントNo1のセグメントに移動した後には、図15Aに示すように、ディスク902のセグメントNo3のデータ(ここでは、順序性17のデータ)をセグメントNo1のセグメントに移動する。また、図11Bに示すように、ディスク904のセグメントNo2のデータ(順序性13のデータ)がディスク910のセグメントNo2のセグメントに移動した後には、図15Aに示すように、ディスク904のセグメントNo3のデータ(ここでは、順序性18のデータ)をセグメントNo2のセグメントに移動する。ディスク906に関しては、ディスク906の中で順序性が一番新しいデータ(ここでは、順序性24のデータ)を持つセグメント(ここでは、セグメントNo4のセグメント)と、追加セグメント分散処理によって未使用となったセグメント(ここでは、セグメントNo3のセグメント)が隣接しているため、セグメント隣接処理によってデータの移動は行われない。   First, as shown in FIG. 10B, after the segment No. 0 data (order 1 data) of the disk 900 is moved to the segment No. 0 segment of the disk 910, it is shown in FIG. 15A by the segment adjacency process (step 1300). As described above, the segment (here, the segment No. 3) adjacent to the segment (here, the segment No. 4 segment) having the most recent data (here, the data of the order 21) in the disk 900 is shown. Segment data (here, data of order 16) is moved to an unused segment (here, segment No. 0) by the additional segment distribution processing. Similarly, as shown in FIG. 11A, after the data of segment No. 1 on disk 902 (data of order 7) is moved to the segment of segment No. 1 of disk 910, the segment of disk 902 is moved as shown in FIG. 15A. The data of No. 3 (here, data of order 17) is moved to the segment of segment No. 1. Further, as shown in FIG. 11B, after the data of segment No. 2 on disk 904 (data of order 13) is moved to the segment No. 2 of disk 910, as shown in FIG. Data (here, data of order 18) is moved to the segment of segment No2. Regarding the disk 906, the segment (here, the segment of segment No. 4) having the most recent data in the disk 906 (here, data of the order 24) and the unused segment distribution process are unused. Since the segment (the segment of segment No. 3 here) is adjacent, the data is not moved by the segment adjacent process.

セグメント隣接処理が実行されて、データの移動が終わった場合には、図15Bに示す状態となる。すなわち、新たなデータの追加が行われる前において、未使用のセグメントが、ディスク900のセグメントNo3、ディスク902のセグメントNo3、ディスク904のセグメントNo3、ディスク906のセグメントNo3、ディスク910のセグメントNo4といったように、異なるディスクに分散されることとなる。また、未使用のセグメントが、各ディスクの一番新しいデータを持つセグメントと隣接することとなる。   When the segment adjacency process is executed and the data movement is finished, the state shown in FIG. 15B is obtained. That is, before new data is added, the unused segments are segment No. 3 of the disk 900, segment No. 3 of the disk 902, segment No. 3 of the disk 904, segment No. 3 of the disk 906, segment No. 4 of the disk 910, and so on. In other words, it is distributed to different disks. Further, the unused segment is adjacent to the segment having the newest data on each disk.

図15Bに示す状態において、順序性26から順序性30までのデータが追加されると、図16Aに示すように異なるディスクに分散されて格納されることとなる。すなわち、順序性26のデータは、ディスク900のセグメントNo3のセグメントに格納され、順序性27のデータは、ディスク902のセグメントNo3のセグメントに格納され、順序性28のデータは、ディスク904のセグメントNo3のセグメントに格納され、順序性29のデータは、ディスク906のセグメントNo3のセグメントに格納され、順序性30のデータは、ディスク910のセグメントNo4のセグメントに格納される。   In the state shown in FIG. 15B, when data of order 26 to order 30 is added, it is distributed and stored in different disks as shown in FIG. 16A. That is, the data of the order 26 is stored in the segment No. 3 of the disk 900, the data of the order 27 is stored in the segment No. 3 of the disk 902, and the data of the order 28 is stored in the segment No. 3 of the disk 904. The data of the order 29 is stored in the segment No. 3 of the disk 906, and the data of the order 30 is stored in the segment No. 4 of the disk 910.

以上により、実施例2では、追加されたデータ領域(セグメント)が各ディスクに分散され、且つ個々のディスクでは未使用のセグメントが最新のデータを持つセグメントと隣接されることとなり、その後、その未使用のセグメントに対して新たなデータの追加が行われる。この結果、図16Aに示す状態となり、例えば、直近の5セグメント分のデータ(ここでは、順序性26から順序性30のデータ)に対してアクセスすることを想定すると、実施例1と同様に、ディスク900、ディスク902、ディスク904、ディスク906、ディスク910にアクセスが分散するため、処理の並列度が高まり、性能を向上することが可能となる。更に、直近の10セグメント分のデータ(ここでは、順序性21から順序性30のデータ)にアクセスすることを想定すると、実施例1では、ディスク上の物理的なアクセスレンジが広くなってしまうディスク(例えばディスク900)が発生したが、実施例2では、ディスク900においては、物理的なアクセスレンジがセグメントNo3とセグメントNo4のセグメントに限られるので、アクセスレンジが広くなるディスクの発生が抑えられる。ディスク上の物理的なアクセス範囲は狭ければ狭いほど性能は良くなるため、実施例2によると、実施例1に比して、更に性能を向上することが可能となる。   As described above, in the second embodiment, the added data area (segment) is distributed to each disk, and in each disk, an unused segment is adjacent to a segment having the latest data. New data is added to the used segment. As a result, the state shown in FIG. 16A is obtained. For example, assuming that access is made to data for the latest five segments (here, data of order 26 to order 30), as in the first embodiment, Since access is distributed to the disk 900, the disk 902, the disk 904, the disk 906, and the disk 910, the degree of parallelism of processing is increased and the performance can be improved. Further, assuming that access is made to the most recent 10 segments of data (here, data of order 21 to order 30), in the first embodiment, the physical access range on the disk becomes wide. However, in the second embodiment, the physical access range is limited to the segment No. 3 and the segment No. 4 in the disk 900. Therefore, the occurrence of a disk with a wide access range can be suppressed. The narrower the physical access range on the disk, the better the performance. Therefore, according to the second embodiment, the performance can be further improved as compared with the first embodiment.

ここで、DBデータの理想的な配置を示して、実施例2の効果についてさらに説明する。   Here, the ideal arrangement of the DB data will be shown to further explain the effects of the second embodiment.

図16Bは、理想的なデータ配置を説明する図である。   FIG. 16B is a diagram for explaining an ideal data arrangement.

図16Bに示すデータの配置は、例えば、図9Bの状態から、ディスク間、及び各ディスク内で順序性情報に従った順番に並ぶようにDBデータを移動し、その後、未使用のセグメントに順序性26から順序性30までのデータを追加することにより実現することができる。   The arrangement of the data shown in FIG. 16B is, for example, from the state shown in FIG. 9B, the DB data is moved so as to be arranged in order according to the order information between the disks and within each disk, and then the unused segments are ordered. This can be realized by adding data from the property 26 to the order 30.

図16Bに示す状態において、直近の5セグメント分のデータ(ここでは、順序性26から順序性30のデータ)にアクセスすることを想定すると、ディスク902、ディスク904、ディスク906、ディスク908、ディスク910にアクセスが分散し、処理の並列度が高まり性能を向上することが可能となる。更に、直近の10セグメント分のデータ(ここでは順序性21から30のデータ)にアクセスすることを想定すると、どのディスクにおいてもアクセスレンジは最小となる。   In the state shown in FIG. 16B, assuming access to the data for the most recent five segments (here, data of order 26 to order 30), disk 902, disk 904, disk 906, disk 908, disk 910 Access is distributed to each other, the parallelism of processing is increased, and the performance can be improved. Further, assuming that the most recent 10 segments of data (in this case, data having an order of 21 to 30) are to be accessed, the access range is minimum on any disk.

ここで、図9Bに示す状態から図16Bに示す状態にするためには、セグメントのデータ移動が20回必要になる。これに対して、図9Bに示す状態から、図16Aに示す状態にするためには、セグメントのデータ移動は7回で済む。図16Bに示すような理想的な状態するためのデータ移動の回数と、図16Aに示すような状態するためのデータ移動の回数との差は、スキーマを構成するセグメントの数が多くなれば多くなるほど、大きくなってしまう。実施例2によると、セグメントの移動回数とそのオーバヘッドを抑えながら、ある範囲のデータのアクセスでは理想的なデータ配置の状態と同様の効果が得られる。   Here, in order to change from the state shown in FIG. 9B to the state shown in FIG. 16B, the data movement of the segment is required 20 times. On the other hand, in order to change from the state shown in FIG. 9B to the state shown in FIG. 16A, the data movement of the segment is only seven times. The difference between the number of times of data movement for achieving the ideal state as shown in FIG. 16B and the number of times of data movement for achieving the state as shown in FIG. 16A increases as the number of segments constituting the schema increases. I see, it gets bigger. According to the second embodiment, the same effect as that in an ideal data arrangement state can be obtained by accessing a certain range of data while suppressing the number of segment movements and the overhead thereof.

次に、実施例1の変形例について説明する。   Next, a modification of the first embodiment will be described.

本変形例は、実施例1における追加セグメント分散処理において、データを移動させる対象とするセグメントを決定する方法を異ならせたものである。   In this modification, in the additional segment distribution process in the first embodiment, a method for determining a segment to which data is to be moved is different.

具体的には、図8に示す追加セグメント分散処理のステップ806において、管理プログラム140は、対応するエントリのフィールド424に格納されているデータ移動ディスクNoが指すディスク上のセグメントの中で、フィールド440の順序性情報の順序がN+1番目に古いセグメントのDBデータを、新しく追加されたディスクのN番目のセグメントに移動するようにデータ移動指示510に情報をセットしてストレージ装置150に送信するようにしている。   Specifically, in step 806 of the additional segment distribution process shown in FIG. 8, the management program 140 uses the field 440 in the segment on the disk pointed to by the data migration disk No. stored in the field 424 of the corresponding entry. The information is set in the data movement instruction 510 so that the DB data of the segment with the order of N + 1 oldest data is moved to the Nth segment of the newly added disk and transmitted to the storage apparatus 150. ing.

次に、変形例に係る追加セグメント分散処理が実行された場合におけるDBデータの移動の具体例を説明する。   Next, a specific example of DB data movement when the additional segment distribution process according to the modification is executed will be described.

図17Aは、変形例に係るDBデータの移動を説明する第1の図である。図17Bは、変形例に係るDBデータの移動を説明する第2の図である。図18Aは、変形例に係るDBデータの移動を説明する第3の図である。図18Bは、変形例に係るDBデータの移動を説明する第4の図である。図19Aは、変形例に係るDBデータの移動を説明する第5の図である。図19Bは、変形例に係るDBデータの移動を説明する第6の図である。   FIG. 17A is a first diagram illustrating movement of DB data according to a modification. FIG. 17B is a second diagram illustrating the movement of DB data according to the modification. FIG. 18A is a third diagram for explaining the movement of the DB data according to the modification. FIG. 18B is a fourth diagram illustrating the movement of DB data according to the modification. FIG. 19A is a fifth diagram illustrating the movement of DB data according to the modification. FIG. 19B is a sixth diagram illustrating the movement of DB data according to the modification.

図9Bに示す状態において、変形例に係る追加セグメント分散処理における変数N=1とした場合の処理(ステップS804〜ステップ808)が実行されると、図17Aに示すように、順序性6のデータが移動される。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoがディスク900を指しているので、ディスク900の中で順序性がN+1番目(ここでは、2番目)に古いデータ(ここでは、順序性6のデータ)を持つセグメント(ここでは、セグメントNo1)のデータが、追加したディスク910のN番目(ここでは、1番目)のセグメント(ここでは、セグメントNo0のセグメント)に移動されることになる。この後、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoは、次のディスク、すなわち、ディスク902を指すようにセットされる。   In the state shown in FIG. 9B, when the process (step S804 to step 808) in the case where the variable N = 1 in the additional segment distribution process according to the modification is executed, as shown in FIG. Is moved. That is, when the additional segment distribution processing is executed, the data moving disk No in the field 424 indicates the disk 900, so that the order of data in the disk 900 is the N + 1th (here, second) oldest data (here Then, the data of the segment having the order 6 data (here, segment No. 1) is moved to the Nth segment (here, the first segment) of the added disk 910 (here, the segment having the segment No. 0). Will be. Thereafter, the data migration disk No. in the field 424 of the DB data area attribute information 400 is set to indicate the next disk, that is, the disk 902.

その後、追加セグメント分散処理における変数N=2とした場合の処理(ステップS804〜ステップ808)が実行されると、図17Bに示すように、順序性12のデータが移動される。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク902を指しているので、ディスク902の中で順序性がN+1番目(ここでは、3番目)に古いデータ(ここでは、順序性12のデータ)を持つセグメント(ここでは、セグメントNo2)のデータが、追加したディスク910のN番目(ここでは、2番目)のセグメント(ここでは、セグメントNo1)に移動されることになる。この後、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoは、次のディスク、すなわち、ディスク904を指すようにセットされる。   Thereafter, when the process (step S804 to step 808) when the variable N = 2 in the additional segment distribution process is executed, the data of the order 12 is moved as shown in FIG. 17B. That is, when the additional segment distribution processing is executed, the data movement disk No in the field 424 indicates the disk 902, and therefore, the order of the data in the disk 902 is N + 1th (here, the third) oldest data ( Here, the data of the segment having the order 12 (here, segment No. 2) is moved to the Nth (here, second) segment (here, segment No. 1) of the added disk 910. It will be. Thereafter, the data migration disk No in the field 424 of the DB data area attribute information 400 is set to indicate the next disk, that is, the disk 904.

その後、追加セグメント分散処理における変数N=3とした場合の処理(ステップS804〜ステップ808)が実行されると、図18Aに示すように、順序性18のデータが移動される。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク904を指しているので、ディスク904の中で順序性がN+1番目(ここでは、4番目)に古いデータ(ここでは、順序性18のデータ)を持つセグメント(ここでは、セグメントNo3)のデータが、追加したディスク910のN番目(ここでは、3番目)のセグメント(ここでは、セグメントNo2)に移動されることになる。この後、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoは、次のディスク、すなわち、ディスク906を指すようにセットされる。   Thereafter, when the process (step S804 to step 808) when the variable N = 3 in the additional segment distribution process is executed, the data of the order 18 is moved as shown in FIG. 18A. That is, when the additional segment distribution processing is executed, the data migration disk No in the field 424 indicates the disk 904, and therefore, the order of the data in the disk 904 is N + 1th (here, fourth) oldest data ( Here, the data of the segment having the order 18 (here, segment No. 3) is moved to the Nth (here, third) segment (here, segment No. 2) of the added disk 910. It will be. Thereafter, the data migration disk No. in the field 424 of the DB data area attribute information 400 is set to indicate the next disk, that is, the disk 906.

その後、追加セグメント分散処理における変数N=4とした場合の処理(ステップS804〜ステップ808)が実行されると、図18Bに示すように、順序性24のデータが移動される。すなわち、追加セグメント分散処理が実行されると、フィールド424のデータ移動ディスクNoは、ディスク906を指しているので、ディスク906の中で順序性がN+1番目(ここでは、5番目)に古いデータ(ここでは、順序性24のデータ)を持つセグメント(ここでは、セグメントNo4)のデータが、追加したディスク910のN番目(ここでは、4番目)のセグメント(ここでは、セグメントNo3)に移動されることになる。この後、DBデータ領域属性情報400のフィールド424のデータ移動ディスクNoは、次のディスク、すなわち、ディスク908を指すようにセットされる。   Thereafter, when the process (step S804 to step 808) when the variable N = 4 in the additional segment distribution process is executed, the data of the order 24 is moved as shown in FIG. 18B. That is, when the additional segment distribution processing is executed, the data migration disk No in the field 424 indicates the disk 906, and therefore, the order of the data in the disk 906 is N + 1th (here, fifth) oldest data ( Here, the data of the segment having the order 24 data (here, segment No. 4) is moved to the Nth (here, fourth) segment (here, segment No. 3) of the added disk 910. It will be. Thereafter, the data migration disk No. in the field 424 of the DB data area attribute information 400 is set to indicate the next disk, that is, the disk 908.

その後、追加セグメント分散処理が実行されて、データの移動が終わった場合には、図19Aに示す状態となる。すなわち、新たなデータの追加が行われる前において、未使用のセグメントが、ディスク900のセグメントNo1、ディスク902のセグメントNo2、ディスク904のセグメントNo3、ディスク906のセグメントNo4、ディスク910のセグメントNo5といったように、異なるディスクに分散されることとなる。   After that, when the additional segment distribution process is executed and the data movement is completed, the state shown in FIG. 19A is obtained. That is, before new data is added, the unused segments are segment No. 1 of the disk 900, segment No. 2 of the disk 902, segment No. 3 of the disk 904, segment No. 4 of the disk 906, segment No. 5 of the disk 910, and so on. In other words, it is distributed to different disks.

図19Aに示す状態において、順序性26から順序性30までのデータが追加されると、図19Bに示すように連続するデータが異なるディスクに分散されて格納されることとなる。すなわち、順序性26のデータは、ディスク900のセグメントNo1のセグメントに格納され、順序性27のデータは、ディスク902のセグメントNo2のセグメントに格納され、順序性28のデータは、ディスク904のセグメントNo3のセグメントに格納され、順序性29のデータは、ディスク906のセグメントNo4のセグメントに格納され、順序性30のデータは、ディスク910のセグメントNo4のセグメントに格納される。   In the state shown in FIG. 19A, when data from the order 26 to the order 30 is added, continuous data is distributed and stored in different disks as shown in FIG. 19B. That is, the data of the order 26 is stored in the segment No. 1 of the disk 900, the data of the order 27 is stored in the segment No. 2 of the disk 902, and the data of the order 28 is stored in the segment No. 3 of the disk 904. The data of the order 29 is stored in the segment No. 4 segment of the disk 906, and the data of the order 30 is stored in the segment No. 4 segment of the disk 910.

以上説明したように、変形例によると、実施例1と同様に、未使用のデータ領域(セグメント)が各ディスクに分散されることとなり、その後、その未使用のセグメントに対して新たなデータの追加が行われる。この結果、図19Bに示す状態となり、例えば、直近の5セグメント分のデータ(ここでは、順序性26から順序性30のデータ)に対してアクセスすることを想定すると、ディスク900、ディスク902、ディスク904、ディスク906、ディスク910にアクセスが分散するため、処理の並列度が高まり、性能を向上することが可能となる。さらに、変形例によると、実施例1に比して、古いデータを各ディスクの先頭に近いセグメントに格納することができる。なお、変形例に対して、実施例2と同様な処理を行うようにしてもよい。   As described above, according to the modified example, as in the first embodiment, unused data areas (segments) are distributed to the respective disks, and new data is then stored in the unused segments. An addition is made. As a result, the state shown in FIG. 19B is obtained. For example, assuming that data for the latest five segments (here, data of order 26 to order 30) is accessed, the disk 900, the disk 902, the disk Since access is distributed to 904, the disk 906, and the disk 910, the degree of parallelism of processing is increased and the performance can be improved. Further, according to the modification, it is possible to store old data in a segment near the head of each disk as compared with the first embodiment. In addition, you may make it perform the process similar to Example 2 with respect to a modification.

上記した実施例1及び実施例2では、追加セグメント分散処理は、DBデータの領域が所定量以下の場合(例えば、DBデータ領域が不足するか、もしくはDBデータ領域の割当セグメント数に対する使用セグメント数の割合が所定の閾値を下回った場合)に行われるようにしていたが、これに限られず、例えば、システム管理者からの指示等を契機として行われるようにしても良い。これにより、DBデータ領域が不足していなくても、新しくディスクを追加して、追加したディスク上のセグメントに既存のDBデータ領域を構成するディスクのセグメントのデータを移動することで、I/Oの並列度を高め、性能を向上することができる。   In the first embodiment and the second embodiment described above, the additional segment distribution processing is performed when the DB data area is equal to or smaller than a predetermined amount (for example, the DB data area is insufficient or the number of used segments with respect to the allocated number of segments in the DB data area). However, the present invention is not limited to this, and may be performed in response to an instruction from a system administrator, for example. As a result, even if the DB data area is not insufficient, a new disk is added, and the data of the disk segment constituting the existing DB data area is moved to the segment on the added disk. The degree of parallelism can be increased and the performance can be improved.

以上、幾つかの実施例及び変形例を説明したが、本発明は、それらの実施例及び変形例に限られない。例えば、計算機100に接続された別の計算機で、管理プログラム140が実行されても良い。その場合、当該別の計算機が、管理システムで良い。   Although several embodiments and modifications have been described above, the present invention is not limited to these embodiments and modifications. For example, the management program 140 may be executed by another computer connected to the computer 100. In that case, the other computer may be a management system.

100…計算機、120…DBMS、122…スキーマ情報、124…DBマッピング情報、126…DBデータ追加情報、130…OS、132…OSマッピング情報、140…管理プログラム、142…DBデータ領域管理情報、150…ストレージ装置、154…コントローラ、156…ディスク(HDD)、172…制御プログラム、174…ストレージマッピング情報、180、182…ネットワーク DESCRIPTION OF SYMBOLS 100 ... Computer, 120 ... DBMS, 122 ... Schema information, 124 ... DB mapping information, 126 ... DB data additional information, 130 ... OS, 132 ... OS mapping information, 140 ... Management program, 142 ... DB data area management information, 150 ... Storage device, 154 ... Controller, 156 ... Disk (HDD), 172 ... Control program, 174 ... Storage mapping information, 180, 182 ... Network

Claims (12)

ストレージ装置におけるデータベースの1以上のスキーマを構成する複数のデータ単位を管理する管理システムであって、
記憶資源と、
前記記憶資源に接続された制御デバイスと
を有し、
前記ストレージ装置は、複数の記憶領域を有する複数の第1記憶デバイス集合を有し、
前記1以上のスキーマには、それぞれの順序が規定される順序性を有する複数のデータ単位により構成される順序性スキーマが含まれており、
前記記憶資源は、前記順序性スキーマを構成するどのデータ単位がどの記憶領域に記憶されているかを示す情報であるマッピング情報と、前記データ単位の順序を示す順序情報とを含む管理情報を記憶し、
前記第1記憶デバイス集合は、1以上の第1記憶デバイスの集合であり、
前記制御デバイスは、
(A)1以上の第2記憶デバイスの集合でありそれぞれの記憶領域が空きの記憶領域である第2記憶デバイス集合が前記第1記憶デバイス集合に追加される場合に、前記管理情報に基づいて、前記第1記憶デバイス集合の複数の記憶領域にそれぞれ格納されている複数のデータ単位のうち順序が連続しない2以上のデータ単位を、複数の空き記憶領域が前記第1記憶デバイス集合及び前記第2記憶デバイス集合に分散するよう少なくとも1つの前記第1記憶デバイス集合から前記第2記憶デバイス集合の空き記憶領域に移動させる、
管理システム。
A management system for managing a plurality of data units constituting one or more schemas of a database in a storage device,
Storage resources,
A control device connected to the storage resource,
The storage apparatus has a plurality of first storage device sets having a plurality of storage areas,
The one or more schemas include an ordering schema composed of a plurality of data units having ordering in which each order is defined,
The storage resource stores management information including mapping information, which is information indicating which data units constituting the ordering schema are stored in which storage area, and order information indicating the order of the data units. ,
The first storage device set is a set of one or more first storage devices;
The control device is
(A) When a second storage device set that is a set of one or more second storage devices and each storage area is an empty storage area is added to the first storage device set, based on the management information , Two or more data units that are not in sequence among a plurality of data units respectively stored in a plurality of storage areas of the first storage device set, a plurality of free storage areas being the first storage device set and the first storage unit Moving from at least one first storage device set to a free storage area of the second storage device set to be distributed to two storage device sets;
Management system.
第1記憶デバイス集合の数は、Pであり(Pは2以上の整数)、各第1の記憶デバイスが、Q個の記憶領域を有しており(Qは1以上の整数)、故に、P個の第1記憶デバイス集合が、(P×Q)個の記憶領域を有しており、
順番が連続したP個のデータ単位毎に、順番が連続したP個のデータ単位が、異なる第1記憶デバイス集合の、同一行のP個の記憶領域に格納されており、
前記制御デバイスは、前記(A)において、X番目の第1記憶デバイス集合のうちX番目に古いデータ単位を(Xは整数、且つ、X=0、1、…、(Q−1))、X番目の第1記憶デバイス集合の記憶領域から前記第2記憶デバイス集合の空き記憶領域に移動させる、
請求項1に記載の管理システム。
The number of first storage device sets is P (P is an integer of 2 or more), and each first storage device has Q storage areas (Q is an integer of 1 or more). The P first storage device sets have (P × Q) storage areas,
For every P data units in which the order is continuous, P data units in which the order is continuous are stored in P storage areas in the same row of different first storage device sets,
In (A), the control device defines the Xth oldest data unit in the Xth first storage device set (X is an integer, and X = 0, 1,..., (Q−1)), Move from the storage area of the Xth first storage device set to the free storage area of the second storage device set;
The management system according to claim 1.
前記(A)の後、前記制御デバイスは、前記X番目の第1記憶デバイス集合に生じた空き記憶領域が、前記X番目の第1記憶デバイス集合における最新のデータ単位を格納している記憶領域に隣接していない場合、前記X番目の第1記憶デバイス集合における2番目に新しいデータ単位を、前記2番目に新しいデータ単位を記憶している記憶領域から、前記X番目の第1記憶デバイス集合における空き記憶領域に移動させる、
請求項2に記載の管理システム。
After (A), the control device has a storage area in which a free storage area generated in the Xth first storage device set stores the latest data unit in the Xth first storage device set. The Xth first storage device set from the storage area storing the second new data unit in the Xth first storage device set and the second new data unit. Move to free storage in
The management system according to claim 2.
前記(A)において、前記制御デバイスは、前記第1記憶デバイス集合から前記第2記憶デバイス集合へのデータ単位の移動を、Y回行った場合に(Yは自然数)、前記(A)を終了し、
前記Yの値は、前記第2記憶デバイス集合が有する記憶領域の数以下である、
請求項2に記載の管理システム。
In (A), when the control device performs data unit movement from the first storage device set to the second storage device set Y times (Y is a natural number), the control device ends (A). And
The value of Y is equal to or less than the number of storage areas of the second storage device set.
The management system according to claim 2.
前記制御デバイスは、
前記第1記憶デバイス集合が複数ある場合に、前記第1記憶デバイス集合と同数のデータ単位をそれぞれの前記第1記憶デバイス集合から前記第2記憶デバイス集合に移動させる、
請求項1に記載の管理システム。
The control device is
Moving the same number of data units as the first storage device set from the first storage device set to the second storage device set when there are a plurality of the first storage device sets;
The management system according to claim 1.
前記制御デバイスは、
前記第1記憶デバイス集合が複数ある場合に、前記第2記憶デバイス集合に移動させる前記データ単位の選択対象とする前記第1記憶デバイス集合を順次切り替えることにより、同数のデータ単位がそれぞれの前記第1記憶デバイス集合から前記第2記憶デバイス集合に移動されるようにする、
請求項5に記載の管理システム。
The control device is
When there are a plurality of the first storage device sets, the same number of data units can be obtained by sequentially switching the first storage device sets to be selected as the data units to be moved to the second storage device set. Moving from one storage device set to the second storage device set,
The management system according to claim 5.
前記制御デバイスは、
(B)前記第1記憶デバイス集合における前記順序性スキーマの前記データ単位を格納可能な記憶領域の空き領域が所定量以下であると判定した場合に、前記順序性スキーマのデータ単位を格納可能な新たな記憶領域を追加させ、前記追加させる新たな記憶領域が前記第2記憶デバイス集合の記憶領域であるか否かを判定し、前記新たな記憶領域が前記第2記憶デバイス集合の記憶領域である場合に、前記(A)を行う
請求項1に記載の管理システム。
The control device is
(B) When it is determined that the free area of the storage area capable of storing the data unit of the ordering schema in the first storage device set is less than or equal to a predetermined amount, the data unit of the ordering schema can be stored A new storage area is added, it is determined whether the new storage area to be added is a storage area of the second storage device set, and the new storage area is a storage area of the second storage device set The management system according to claim 1, wherein (A) is performed in some cases.
前記制御デバイスは、
前記データベースの前記スキーマに対する新たなデータ単位の追加が発生したか否かを判定し、
前記データ単位の追加が発生した場合に、前記(B)を行い、
前記(A)を行った後に、前記新たなデータ単位を、前記空き領域に格納させることにより、連続する前記データ単位が異なる記憶デバイス集合に格納されるようにする
請求項に記載の管理システム。
The control device is
Determining whether a new data unit has been added to the schema of the database;
When the addition of the data unit occurs, perform (B),
The management system according to claim 7 , wherein after performing (A), the new data unit is stored in the free space so that the continuous data units are stored in different storage device sets. .
前記制御デバイスは、
前記(A)を実行した後に、
(C)前記空き領域と、当該空き領域が含まれる前記第1記憶デバイス集合における最新のデータ単位が格納された記憶領域とが所定の領域内に存在しない場合に、前記所定の領域内のデータ単位を前記空き領域に移動させる
請求項1に記載の管理システム。
The control device is
After executing (A) above,
(C) and the free space, when the storage area in which the latest data units stored does not exist in a predetermined area in the first storage device set that includes the free space, the data of the predetermined area The management system according to claim 1, wherein a unit is moved to the free area.
前記制御デバイスは、
前記(C)において、前記所定の領域とは、前記空き領域に隣接する領域である
請求項に記載の管理システム。
The control device is
Management system according to claim 9 in the (C), wherein the predetermined region is a region adjacent to the free space.
ストレージ装置におけるデータベースの1以上のスキーマを構成する複数のデータ単位を管理するコンピュータに実行させるためのコンピュータプログラムであって、
前記ストレージ装置は、複数の記憶領域を有する複数の第1記憶デバイス集合を有し、
前記1以上のスキーマには、それぞれの順序が規定される順序性を有する複数のデータ単位により構成される順序性スキーマが含まれており、
前記コンピュータプログラムは、
1以上の第2記憶デバイスの集合でありそれぞれの記憶領域が空きの記憶領域である第2記憶デバイス集合が前記第1記憶デバイス集合に追加されるか否かを判断し、
前記判断の結果が肯定的の場合に、前記順序性スキーマを構成するどのデータ単位がどの記憶領域に記憶されているかを示す情報であるマッピング情報と前記データ単位の順序を示す順序情報とを含む管理情報を基に、前記第1記憶デバイス集合の複数の記憶領域にそれぞれ格納されている複数のデータ単位のうち順序が連続しない2以上のデータ単位を、複数の空き記憶領域が前記第1記憶デバイス集合及び前記第2記憶デバイス集合に分散するよう少なくとも1つの前記第1記憶デバイス集合から前記第2記憶デバイス集合の空き記憶領域に移動させる、
ことを前記コンピュータに実行させるコンピュータプログラム。
A computer program for causing a computer that manages a plurality of data units constituting one or more schemas of a database in a storage device to execute the program,
The storage apparatus has a plurality of first storage device sets having a plurality of storage areas,
The one or more schemas include an ordering schema composed of a plurality of data units having ordering in which each order is defined,
The computer program is
Determining whether or not a second storage device set, which is a set of one or more second storage devices and each storage area is an empty storage area, is added to the first storage device set;
When the result of the determination is affirmative, it includes mapping information that is information indicating which data units constituting the ordering schema are stored in which storage area, and order information indicating the order of the data units Based on management information, two or more data units that are not in sequence among a plurality of data units respectively stored in a plurality of storage areas of the first storage device set, a plurality of free storage areas being the first storage Moving from at least one first storage device set to a free storage area of the second storage device set to be distributed to a device set and the second storage device set;
A computer program for causing the computer to execute the above.
ストレージ装置におけるデータベースの1以上のスキーマを構成する複数のデータ単位を管理する方法であって、
前記ストレージ装置は、複数の記憶領域を有する複数の第1記憶デバイス集合を有し、
前記1以上のスキーマには、それぞれの順序が規定される順序性を有する複数のデータ単位により構成される順序性スキーマが含まれており、
前記方法は、
1以上の第2記憶デバイスの集合でありそれぞれの記憶領域が空きの記憶領域である第2記憶デバイス集合が前記第1記憶デバイス集合に追加されるか否かを判断し、
前記判断の結果が肯定的の場合に、前記順序性スキーマを構成するどのデータ単位がどの記憶領域に記憶されているかを示す情報であるマッピング情報と前記データ単位の順序を示す順序情報とを含む管理情報を基に、前記第1記憶デバイス集合の複数の記憶領域にそれぞれ格納されている複数のデータ単位のうち順序が連続しない2以上のデータ単位を、複数の空き記憶領域が前記第1記憶デバイス集合及び前記第2記憶デバイス集合に分散するよう少なくとも1つの前記第1記憶デバイス集合から前記第2記憶デバイス集合の空き記憶領域に移動させる、
管理方法。
A method for managing a plurality of data units constituting one or more schemas of a database in a storage device,
The storage apparatus has a plurality of first storage device sets having a plurality of storage areas,
The one or more schemas include an ordering schema composed of a plurality of data units having ordering in which each order is defined,
The method
Determining whether or not a second storage device set, which is a set of one or more second storage devices and each storage area is an empty storage area, is added to the first storage device set;
When the result of the determination is affirmative, it includes mapping information that is information indicating which data units constituting the ordering schema are stored in which storage area, and order information indicating the order of the data units Based on management information, two or more data units that are not in sequence among a plurality of data units respectively stored in a plurality of storage areas of the first storage device set, a plurality of free storage areas being the first storage Moving from at least one first storage device set to a free storage area of the second storage device set to be distributed to a device set and the second storage device set;
Management method.
JP2014519763A 2012-06-07 2012-06-07 Management system and management method Active JP5978297B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/064672 WO2013183143A1 (en) 2012-06-07 2012-06-07 Management system and management method

Publications (2)

Publication Number Publication Date
JPWO2013183143A1 JPWO2013183143A1 (en) 2016-01-21
JP5978297B2 true JP5978297B2 (en) 2016-08-24

Family

ID=49711560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014519763A Active JP5978297B2 (en) 2012-06-07 2012-06-07 Management system and management method

Country Status (3)

Country Link
US (1) US9870152B2 (en)
JP (1) JP5978297B2 (en)
WO (1) WO2013183143A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642633B1 (en) * 2015-09-29 2020-05-05 EMC IP Holding Company LLC Intelligent backups with dynamic proxy in virtualized environment
KR20190067540A (en) * 2017-12-07 2019-06-17 에스케이하이닉스 주식회사 Storage system and operating method thereof
CN108228107A (en) * 2018-01-02 2018-06-29 联想(北京)有限公司 A kind of data transmission method, data transmission device and electronic equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US6530035B1 (en) 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
JP4236590B2 (en) 2002-03-13 2009-03-11 富士通株式会社 RAID device control device
JP4611830B2 (en) 2005-07-22 2011-01-12 優 喜連川 Database management system and method
JP4859456B2 (en) 2005-12-27 2012-01-25 株式会社日立製作所 Data schema mapping program and computer system
JP5141402B2 (en) * 2008-06-26 2013-02-13 富士通株式会社 Storage system, copy control method, and copy control apparatus
US9176779B2 (en) * 2008-07-10 2015-11-03 Juniper Networks, Inc. Data access in distributed systems
JP2010033261A (en) * 2008-07-28 2010-02-12 Hitachi Ltd Storage device and control method

Also Published As

Publication number Publication date
JPWO2013183143A1 (en) 2016-01-21
US20150177984A1 (en) 2015-06-25
WO2013183143A1 (en) 2013-12-12
US9870152B2 (en) 2018-01-16

Similar Documents

Publication Publication Date Title
US11593037B2 (en) File system block-level tiering and co-allocation
US9858303B2 (en) In-memory latch-free index structure
US8719529B2 (en) Storage in tiered environment for colder data segments
US10380108B2 (en) Partition access method for query optimization
Ahn et al. ForestDB: A fast key-value storage system for variable-length string keys
US20070005660A1 (en) Prefetch appliance server
US11321302B2 (en) Computer system and database management method
US8296286B2 (en) Database processing method and database processing system
US9740722B2 (en) Representing dynamic trees in a database
WO2012095771A1 (en) Sparse index table organization
JP6707797B2 (en) Database management system and database management method
EP2122450A1 (en) Method and apparatus for storing and accessing data records on solid state disks
JP5858307B2 (en) Database management system, computer, database management method
US10242053B2 (en) Computer and data read method
US8949559B2 (en) Storage system and performance management method of storage system
JP2005234834A (en) Method for relocating logical volume
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
WO2024021488A1 (en) Metadata storage method and apparatus based on distributed key-value database
JP5978297B2 (en) Management system and management method
JP2012168781A (en) Distributed data-store system, and record management method in distributed data-store system
JP6974706B2 (en) Information processing equipment, storage systems and programs
JP6108418B2 (en) Database management system, computer, database management method
Ge et al. Cinhba: A secondary index with hotscore caching policy on key-value data store
Mazumdar et al. An index scheme for fast data stream to distributed append-only store
US9864761B1 (en) Read optimization operations in a storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5978297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150