JPH10269225A - データベース分割方法 - Google Patents

データベース分割方法

Info

Publication number
JPH10269225A
JPH10269225A JP9071312A JP7131297A JPH10269225A JP H10269225 A JPH10269225 A JP H10269225A JP 9071312 A JP9071312 A JP 9071312A JP 7131297 A JP7131297 A JP 7131297A JP H10269225 A JPH10269225 A JP H10269225A
Authority
JP
Japan
Prior art keywords
data
division
database
search
retrieval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9071312A
Other languages
English (en)
Inventor
Kazuo Masai
一夫 正井
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
Priority to JP9071312A priority Critical patent/JPH10269225A/ja
Publication of JPH10269225A publication Critical patent/JPH10269225A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】並列データベースにて大規模なデータを処理す
る場合、全プロセッサが同時に並列に検索することが出
来る一方全件検索の範囲を限定することで検索時間を短
縮することが出来るようにデータを分割する。 【解決手段】複数のプロセッサから構成され、各プロセ
ッサ間の通信が可能なシステムで、データを分割して並
列に検索できるようにした並列データベースにおけるデ
ータの分割で、各プロセッサ間でデータを均等分割し、
各プロセッサ内では、データをさらにキーレンジ分割し
て格納する。検索要求は、各プロセッサで同時に実行す
るが、各プロセッサ内では、キーレンジ条件がヒットす
る可能性のある格納領域だけを全件検索する。並列な全
件検索を全プロセッサで行い、かつ検索する範囲を記レ
ンジ条件にて限定することが出来るため、検索時間を1
/(プロセッサ数×キーレンジ分割数)に短縮できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
で超大規模なデータベースを並列に検索する方式に関す
る。
【0002】
【従来の技術】大規模なデータベースから特定のデータ
検索する場合、索引(インデクス)をつけることが一般
的である。インデクスは、検索をする際のキーとなる項
目が特定できる場合には有効である。インデクスは、デ
ータベースの特定のキー項目を集めて、その上位にバラ
ンスドトリーの形にポインタを設け、特定の値のキーが
どの範囲にあるかという情報からトリーのリーフに当た
る位置まで高速にたどれるように仕掛けであり、アン
イントロダクション トゥ データベース システム
ズ、シー ジェイ デイト、アディソン ウェズリー、
1986、第58頁から第67頁(An Inroduction t
o Database Systems,C.J.Date,ADDISON
−WESLEY,1986,pp58−pp67)において
論じられている様に、全データ項目についてその格納位
置に相当する情報が得られる仕掛けになっている。この
ため、百万件程度のデータベースでは問題がないが、十
億件とか一兆件といった超大規模なデータベースにおい
ては、インデクスそのものの維持が膨大な処理となる。
【0003】インデクスを付加することが非現実的なほ
ど大きなデータベースでは、並列プロセッサを用いた全
件検索を行うことが有効である。これは、複数のプロセ
ッサを用いてデータベースの部分を各プロセッサで並行
に検索することで、n台のプロセッサを用いて検索時間
を1/nにすることを狙いとしている。このためには、
「信学技法」、鳥居他、電気通信学会DE94−49、
1994年9月に示されているようにn台のプロセッサ
が均等に検索作業を行うことが必要であり、検索対象と
なるデータは、均等に分割しておくことが考えられる。
しかし、ハッシング分割やラウンドロビン分割は、ラン
ダム分割であるため、特定のキーの範囲の検索であって
も完全な全件検索となり、超大規模なデータベースにお
いては、非常に時間のかかる検索となる。一方、キーレ
ンジ分割してあれば、検索する部分が特定できるため、
検索対象は小さくなるが、これを実施するプロセッサも
特定されてしまうため、結局高速化に結び付かない。
【0004】
【発明が解決しようとする課題】上記従来技術は、デー
タの検索の高速化のためには、キー項目一件ずつに対応
するインデクスを作成していたが、これではインデクス
のデータ量が大きくなりすぎてしまう。
【0005】また、並列プロセッサを用いた全件検索の
高速化においてもハッシング分割やラウンドロビン分割
に代表される均等分割手法用いると全プロセッサを用い
て並列検索を行えるが、対象となるデータは、特定の範
囲条件のデータであっても全データとなる。逆にキーレ
ンジ分割を用いると、検索対象となるデータは絞り込め
るが、検索を実行するプロセッサの数も絞りこまれてし
まい、高速な検索が出来ない。
【0006】超大規模なデータベースにおいては、全プ
ロセッサで並列検索を行い、かつ特定の範囲条件がつい
ている場合は、検索対象となるデータベースの部分を絞
りこむことが必要である。
【0007】
【課題を解決するための手段】前記課題を解決するため
に、データベースのデータ分割手法として一つの分割手
法だけでなく、複数の分割手法を階層的に用いることで
超大規模なデータベースを実現的なサイズのデータベー
スに分割することができる。プロセッサ間でハッシング
分割やラウンドロビン分割に代表される均等分割手法を
適用し、プロセッサ内では、特定の範囲に絞りこむこと
が出来るキーレンジ分割で分割することで、全プロセッ
サで並列検索を行い、かつ特定の範囲条件がついている
場合は、検索対象となるデータベースの部分を絞りこむ
ことができる。
【0008】本発明の階層型データ分割方法を用いるこ
とで、インデクスが無くとも超大規模データベース全体
を検索すること無く特定の範囲だけを全プロセッサで全
件検索することで目的とするデータをアクセスすること
が出来る。
【0009】また、データの分割を階層的に行うこと
で、1回の分割での分割数を現実的な範囲の抑えること
が出来る。
【0010】
【発明の実施の形態】以下、本発明の一実施例を図1か
ら図7を参照しながら説明する。
【0011】図1は、本発明を実施する階層型データ分
割方法を用いたデータベース管理システムの全体構成図
である。
【0012】図1において各ノード1は、高速ネットワ
ーク2を介して相互に接続されている。各ノード1に
は、各々の役割に応じてSQL処理プログラム10、デ
ィクショナリ管理プログラム11、データアクセス管理
プログラム12が動作している。ディクショナリ管理プ
ログラム11には、外部記憶装置上のディクショナリ4
を有し、データアクセス処理プログラム12には、デー
タベースの表データを格納する外部記憶装置3を有す
る。該外部記憶装置3は、格納領域30という単位に分
けられている。格納領域30は、複数の物理的な外部記
憶装置上にまたがっていることも出来る。
【0013】図2は、ディクショナリ4の構成を示す。
ディクショナリ4は、表に関する情報を管理する表情報
管理表41と表の分割情報を管理する表分割情報管理表
42が存在する。該表情報管理表41には、表名称列4
11、表均等分割フラグ列412、表キーレンジ分割フ
ラグ列413およびその他の表情報414が存在する。
表均等分割フラグ列412がONであれば少なくとも初
段の分割は均等分割であることを示す。均等分割の方法
はいろいろ存在するが、ここではハッシングによる分割
を仮定する。表キーレンジ分割フラグ列413がONで
あれば、キーレンジ分割方法が少なくとも併用されてい
ることを示す。表分割情報管理表42には、表名称42
1、格納ノード名称422、キーレンジ先頭の値42
3、キーレンジ最後の値424および格納領域情報42
5が存在する。このキーレンジ先頭の値423とキーレ
ンジ最後の値424の中間に存在するキー値は、全てこ
のキーレンジの格納位置に格納される。
【0014】図3は、このデータベースへのデータの初
期格納の流れを示す。初段が均等分割の場合、各ノード
への分割は均等でありさえすれば良い。そこで、事前に
均等なデータ量となるように入力データを分割する。分
割された入力データ5を入力とし、各ノードでお互いに
独立してデータの初期格納(ローディング)を行う。ロ
ーディング時は、二段目がキーレンジ分割なので、入力
データのキー値にしたがって、格納すべきデータ格納領
域30に分配して格納する。この方法のローディングで
は、各ノードが独立して走行するため、非常に並列度が
高く、ノード数が増えたぶんだけ高速となりスケーラビ
リティの高いローディング方法である。
【0015】図4は、事前にデータを分割せずにデータ
ロードする方法である。この場合、均等分割に近い方法
としてハッシングを使用する。従って、入力データ5の
特定のキー値にしたがって、ハッシングを行い格納され
るべきノードを決める。あとは、図3のケースと同様に
各々のノード内で格納すべき格納領域30を決めるデー
タを格納する。
【0016】次にこのように構成された本実施例の並列
RDBの階層型データ分割方式の動作について説明す
る。
【0017】まず、データ定義の際に初段が均等分割で
二段目をキーレンジ分割とすることを指定する。このこ
とで、ディクショナリ4中の表情報管理表41に表名称
411、表均等分割フラグ412、表キーレンジ分割フ
ラグ413が定義される。
【0018】データベースの検索は、一般的に図5に示
す流れで実行する。すなわち、入力されたSQLで記述
された問い合わせは、まず、構文解析し、次に最適に実
行すべきアクセスパスを最適化して求める。最適化によ
って求められたアクセスパスを実行すれば問い合わせに
対する結果が求められる。本実施例では、インデクスが
利用できずに全件検索となるケースについて説明する。
構文解析の結果データベースから特定の条件を満たすデ
ータを検索する必要があると分かると図6に示す最適化
の流れで最適化を行う。まずインデクスが利用できない
ので全件検索が必要であることが決まる。たとえインデ
クスがあっても検索結果(ヒット率)が10%以上であ
ることが予想されると全件検索を行う。次に表データが
どのように分割されているかをディクショナリの情報を
検索して求める。キーレンジ分割が使用されているかを
調べ、キーレンジ分割情報413が存在すると、そのキ
ーレンジ検索条件に指定されているかを調べキーレンジ
条件でありの場合、均等分割フラグ412がオンかを調
べオンであれば階層分割されているので、全ノードにキ
ーレンジ条件付きで指示を出す。元々キーレンジ分割を
使用していない場合は、全ノードにキーレンジ条件無し
での全件検索を指示する。これで、各データアクセス処
理プログラムのあるノードへの指示であるアクセスパス
が決まる。
【0019】最適化でアクセスパスが決まると次は、図
7に示すように検索が実行される。各データアクセスの
ノードへ全件検索の指示がでると該データアクセスのノ
ードは、キーレンジ条件付きか否かを調べ、キーレンジ
条件付きであれば、その条件に対応するデータが格納さ
れている格納領域30だけを検索する。従って、全プロ
セッサを使用しての全件検索でありながら、キーレンジ
分割の一部だけを検索することが出来、全件に対し、キ
ーレンジ分割数分の1の時間で検索が出来る。
【0020】
【発明の効果】並列データベースのインデクス無しの検
索または、ヒット率が高くインデクスを使用するより全
件検索の方が効率がよいケースにおいて、全件検索をす
るが、記レンジ分割を行う分割キーの条件が指定されて
いる場合、約1(プロセッサ数×キーレンジ分割数)の
時間で検索することが出来るようになる。
【図面の簡単な説明】
【図1】本発明の1実施例を示す説明図である。
【図2】ディクショナリでの構成管理を示す説明図であ
る。
【図3】データロードのデータの流れ(1)を示す説明
図である。
【図4】データロードのデータの流れ(2)を示す説明
図である。
【図5】検索の流れを示す流れ図である。
【図6】最適化の流れを示す流れ図である。
【図7】検索の実行を示す流れ図である。
【符号の説明】
1…ノード、 2…高速ネットワーク、3…外
部記憶装置、4…ディクショナリ、10…SQL処理プ
ログラム、11…ディクショナリ管理プログラム、12
…データアクセス処理プログラム、 30…格納
領域、41…表情報管理表、 42…表分割情報管理
表、411…表名称列、 412…表均等分割フラグ
列、413…表キーレンジ分割フラグ列、 4
14…その他の表情報、421…表名称、 422…
格納ノード名称、423…キーレンジ先頭の値、424
…キーレンジ最後の値、 425…格納
領域情報。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数のプロッセサを高速なネットワークで
    結合し、各プロセッサ上でデータベースの検索を並列に
    行うことで高速化する並列データベースのデータ分割方
    法においてデータ分割を複数階層にわたって行うこと
    で、大規模なデータベースのデータ分割を小規模な分割
    の繰り返しで実現し、全件検索を多段の分割の必要部分
    だけを行うことを特徴としたデータベース分割方法。
  2. 【請求項2】複数のプロッセサを高速なネットワークで
    結合し、各プロセッサ上でデータベースの検索を並列に
    行うことで高速化する並列データベースのデータ分割方
    法においてデータ分割をプロセッサ間にはハッシング分
    割やラウンドロビン分割等の均等分割手法で均等に振り
    分け、該プロセッサ内では、キーレンジ分割でデータ分
    割する階層型データ分割を用いることで、データベース
    にインデクスを付加すること無く、キーレンジの特定の
    範囲を全プロセッサで並列に検索することができ、大規
    模なデータベースの全件検索を高速に実現することを特
    徴としたデータベース分割方法。
JP9071312A 1997-03-25 1997-03-25 データベース分割方法 Pending JPH10269225A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9071312A JPH10269225A (ja) 1997-03-25 1997-03-25 データベース分割方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9071312A JPH10269225A (ja) 1997-03-25 1997-03-25 データベース分割方法

Publications (1)

Publication Number Publication Date
JPH10269225A true JPH10269225A (ja) 1998-10-09

Family

ID=13456978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9071312A Pending JPH10269225A (ja) 1997-03-25 1997-03-25 データベース分割方法

Country Status (1)

Country Link
JP (1) JPH10269225A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235551A (ja) * 1999-02-17 2000-08-29 Pfu Ltd データベース並列検索制御方法および記録媒体
US7277892B2 (en) 2000-05-22 2007-10-02 Hitachi, Ltd. Database processing system, method, program and program storage device
JP2009181577A (ja) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp インテリジェントデータストレージシステム
WO2012137347A1 (ja) * 2011-04-08 2012-10-11 株式会社日立製作所 計算機システム及び並列分散処理方法
JP2013156990A (ja) * 2012-01-26 2013-08-15 Hyundai Motor Co Ltd 複数の空間客体を利用した検索方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235551A (ja) * 1999-02-17 2000-08-29 Pfu Ltd データベース並列検索制御方法および記録媒体
US7277892B2 (en) 2000-05-22 2007-10-02 Hitachi, Ltd. Database processing system, method, program and program storage device
JP2009181577A (ja) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp インテリジェントデータストレージシステム
WO2012137347A1 (ja) * 2011-04-08 2012-10-11 株式会社日立製作所 計算機システム及び並列分散処理方法
JP2013156990A (ja) * 2012-01-26 2013-08-15 Hyundai Motor Co Ltd 複数の空間客体を利用した検索方法

Similar Documents

Publication Publication Date Title
Papailiou et al. H 2 RDF+: High-performance distributed joins over large-scale RDF graphs
US6795817B2 (en) Method and system for improving response time of a query for a partitioned database object
US7158996B2 (en) Method, system, and program for managing database operations with respect to a database table
US7756861B2 (en) Optimizing a computer database query that fetches N rows
US10706052B2 (en) Method for performing in-memory hash join processing in relational database systems
EP3014488B1 (en) Incremental maintenance of range-partitioned statistics for query optimization
US20030061244A1 (en) System and method for database query optimization
US20110137890A1 (en) Join Order for a Database Query
US9418092B2 (en) Index selection in a multi-system database management system
Hubail et al. Couchbase analytics: NoETL for scalable NoSQL data analysis
AU2002312104A1 (en) Method and system for improving response time of a query for a partitioned database object
CN112015741A (zh) 一种海量数据的分库分表存储方法与装置
WO2016107497A1 (en) Method and apparatus for scalable sorting of data set
Cheng et al. Scale-out processing of large RDF datasets
Fu et al. Geabase: A high-performance distributed graph database for industry-scale applications
Cheng et al. Efficient skew handling for outer joins in a cloud computing environment
Bachhav et al. An efficient query optimizer with materialized intermediate views in distributed and cloud environment
KR20180077830A (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
Sudhir et al. Pando: Enhanced Data Skipping with Logical Data Partitioning
CN108664662B (zh) 时间旅行和时态聚合查询处理方法
Arnold et al. HRDBMS: Combining the best of modern and traditional relational databases
JPH10269225A (ja) データベース分割方法
Xu et al. Semantic connection set-based massive RDF data query processing in Spark environment
Ordonez et al. A survey on parallel database systems from a storage perspective: rows versus columns
Durneková et al. Optimization of the SELECT statement containing window functions