JPH11312150A - 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体 - Google Patents

並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体

Info

Publication number
JPH11312150A
JPH11312150A JP10119789A JP11978998A JPH11312150A JP H11312150 A JPH11312150 A JP H11312150A JP 10119789 A JP10119789 A JP 10119789A JP 11978998 A JP11978998 A JP 11978998A JP H11312150 A JPH11312150 A JP H11312150A
Authority
JP
Japan
Prior art keywords
distribution
class
parallel processing
script
distributed
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
JP10119789A
Other languages
English (en)
Inventor
Hiroshi Arimichi
啓史 有道
Yoshihiro Yoshida
芳浩 吉田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10119789A priority Critical patent/JPH11312150A/ja
Publication of JPH11312150A publication Critical patent/JPH11312150A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】分散したテーブルを作成するスクリプトを自動
作成でき、データベースにアクセスするアプリケーショ
ンからテーブルの分散を隠蔽でき、データベースへのア
クセス性能を向上させる。 【解決手段】分散対象となるクラスを親クラスとして定
義し(17,27)、属性全てを継承する子クラスを定
義して、分散テーブルを作成するスクリプトの自動作成
を行い(18,28)、親クラスに対するグローバル検
索機能(25)を備えて、検索時のテーブル分散の隠蔽
を行い、かつ分散テーブルを識別するための分散ID払
い出し用の分散管理手段(3)を設け、分散管理手段
(3)により分散ID払出しロジックを自由に設定し、
値域を利用したテーブル分割やハッシュ関数を利用した
テーブル分割(11〜13,21〜23)を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、料金処理や利用ロ
グの統計処理等の多量のデータを高速に処理する必要の
あるデータ処理の分野において、処理するデータを分散
して蓄積した後、処理を並列に行う並列処理方法および
並列処理システム、ならびに並列処理プログラムを記録
した記録媒体に関する。
【0002】
【従来の技術】従来より、料金処理や利用ログの統計処
理等の多量のデータを高速に処理する必要があるシステ
ムにおいては、データを分散してデータ蓄積装置に蓄積
してから、それらのデータを並列に処理する方法が、処
理速度、設備コストおよび作業量から有効である。ま
た、その場合に、データ蓄積装置をアクセスするアプリ
ケーションとしては、分散されたデータを意識すること
なくアクセスできる仕組みが要求される。上記要求条件
を満たす技術として、例えばORACLE社のORAC
LEデータベースで提供されるパーティショニングとい
う技術がある。この技術では、データベースの1つのテ
ーブルをある属性の値域毎に小さな単位に分割して、そ
れをあたかも1つのテーブルのように見せることによ
り、アプリケーションがテーブルの分割を意識せずにア
クセスできるようにするものである。いま、あるテーブ
ルを月毎に1月、2月、3月、・・・・12月と作成
し、パーティショニングでこれらを1月から12月まで
の1つのテーブルに見せることで、アクセスすることが
可能である。この技術により、1つのテーブル当りのデ
ータ量を少なくすることができ、データ蓄積時にはイン
サート処理によるインデックス再作成負荷の軽減によっ
て蓄積性能を向上することができ、また検索時には値域
分割に使用した属性をキーに検索することにより、検索
範囲をテーブル単位に絞ることで検索性能を向上させる
ことができる。
【0003】
【発明が解決しようとする課題】しかしながら、パーテ
ィショニングを利用したテーブルの分割は、属性の値域
毎の小さな単位への分割であり、属性の値域指定である
ために、並列処理時にデータを複数のテーブルへ均等に
分散したい場合には、属性の選択と値域の選択が難しい
という問題がある。また、パーティションテーブルを作
成するためのスクリプトは、テーブルの数だけデータベ
ース管理者が作成する必要があり、作業量が多くなると
いう問題もある。そこで、本発明の目的は、このような
従来の課題を解決し、分散したテーブルを作成するスク
リプトを自動作成することができ、かつ効率的にデータ
を蓄積でき、さらにデータベースにアクセスするアプリ
ケーションからテーブルの分散を隠蔽して、データベー
スへのアクセス性能を向上させることが可能な並列処理
方法および並列処理システム、ならびに並列処理プログ
ラムを記録した記録媒体を提供することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明の並列処理方法では、クラス定義を蓄積し
ているリポジトリ(CASEツール)において、分散対
象となるクラスを親クラスとして定義し、その属性の全
てを継承する子クラスを分散数分だけ定義することによ
り、分散したテーブルを作成するスクリプトを自動作成
する。 また、親クラスに対するグローバル検索機能を持つこ
とにより、検索時のテーブル分散の隠蔽を可能にしてい
る。 また、アプリケーションからテーブルの分散を意識す
ることなく蓄積・更新処理できるようにするため、分散
テーブルを識別するための分散IDを払い出す分散管理
手段を設置している。 上記分散管理手段において、分散IDの払い出しロジ
ックを自由に設定できるようにして、値域を利用したテ
ーブル分割やハッシュ関数を利用したテーブル分割等を
可能にしている。
【0005】
【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の一実施例を示す
並列処理方法の説明図であって、3分散のときにクラス
AとクラスBが並列数3で処理を行う場合の機能ブロッ
クを示している。先ず、データベースの各々のテーブル
について説明すると、クラスA分散1からクラスA分散
3(11〜13)、およびクラスB分散1からクラスB
分散3(21〜23)は、クラスAおよびクラスBの属
性を全て継承する子クラスとしてリポジトリ上で定義す
ることにより、スクリプト自動作成手段18,28で作
成されたテーブル定義スクリプト(DDL:Data
Definition Language)により作成
されたテーブルを表す。クラスA拡張ビュー10および
クラスB拡張ビュー20は、クラスAおよびクラスBを
検索するときに、分散を意識することなく検索処理を実
行することができるビューであり、スクリプト自動作成
手段18,28により作成される。
【0006】次に、図1により処理フローを説明する。
処理データ7が蓄積系アプリケーシヨン8に送られる
と、蓄積系アプリケーション8では、この処理データの
各レコードに対して分散管理手段3に対して蓄積処理を
依頼する。分散管理手段3は、処理するデータを分割す
るときのキー情報となる分散対象IDを基に、アクセス
するテーブルを決定するための分散IDを決定して、そ
の分散IDを基にクラスA分散1からクラスA分散3
(11〜13)のいずれかにそれらのレコードを蓄積す
る。集計手段14〜16は、クラスAからクラスBを作
成する手段であって、クラスAのレコードを集計してク
ラスBに蓄積する。この集計手段14〜16は、分散の
数だけ並列に動作することができる(ここでは並列
3)。クラスAおよびクラスBを検索する検索系アプリ
ケーション25は、クラスA拡張ビュー10およびクラ
スB拡張ビュー20に対して検索を行うことにより、分
散を意識することなく検索処理が行える。クラスAおよ
びクラスBに対して蓄積や更新を行う蓄積更新系アプリ
ケーション5a,5bは、前述の蓄積系アプリケーショ
ン8と同じように、分散管理手段3に蓄積更新処理を依
頼することにより、クラスA分散1からクラスA分散3
(11〜13)、あるいはクラスB分散1からクラスB
分散3(21〜23)のいずれかに蓄積更新処理を行
う。これにより、テーブルの分散を意識することなく、
アクセスすることができる。
【0007】図2は、本発明における値域分割の方法を
示すブロック図であり、図3は、本発明におけるハッシ
ュ関数による分割の方法を示すブロック図である。図2
および図3により、分散IDを払い出すための分散管理
手段の処理を説明する。図2では、分散対象IDの値域
分割で分散IDを発行する方法の例が示されている。図
2に示すように、分散管理データベース6では、最小分
散対象ID、最大分散対象ID、および分散IDを属性
としてデータを保持している。分散管理手段3は、蓄積
更新系アプリケーション5から蓄積更新処理を依頼され
ると、分散対象IDをキーとして分散管理データベース
6を検索して分散IDを取得し、アクセスするテーブル
を決定するとともに、蓄積更新処理を実行する。すなわ
ち、分散管理手段3によりn並列に分散されたクラスm
分散n4に対して蓄積更新処理を実行する。この方法で
は、分散対象IDがシーケンシャルに払い出されている
場合には、分散管理手段3が取得する分散IDに偏りが
生じるため、特定のテーブルにアクセスが集中する危険
があり、適切な方法ではない。
【0008】図3では、分散対象IDから独自のハッシ
ュ関数等を使用して分散IDを発行する方法が示されて
いる。分散ID払出手段9ではハッシュ関数等を実装し
ており、分散対象IDを基にして分散IDを払い出す。
ここでは、分散対象IDを分散数で割った余りを返却す
る関数を用いるものとする。例えば、分散数が3の場合
で、分散対象IDが100であれば、分散IDは100
/3=33・・・1であるため返却は1となる。蓄積更
新系アプリケーション5から蓄積更新処理を分散管理手
段3に依頼すると、分散管理手段3は、分散対象IDを
キーとして分散ID払出手段9の関数を呼出して分散I
Dを取得し、アクセスするテーブルを決定して、クラス
m分散n4に対して蓄積更新処理を実行する。なお、分
散対象IDがシーケンシャルに払い出される場合でも、
この方法では複数テーブルに均一にアクセスが分散す
る。
【0009】図4は、ORACLEのパーティショニン
グ機能と本発明におけるハッシュ関数による分割の併用
時のテーブルの概念図である。すなわち、図4では、図
3で説明した実施例とORACLEのパーティショニン
グ技術を併用した場合の例を示している。ORACLE
のパーティショニング技術は値域分割が可能であるた
め、時系列データの月分割に適している。一方、図3に
示すハッシュ関数を用いた方法は、シーケンシャルに割
り当てられたIDを用いて複数テーブルに均等に蓄積す
る場合に適している。これらを併用すると、各分散テー
ブルをさらに月分割することが可能となり、さらに並列
性を高めることが可能となる。図4では、各分散テーブ
ルを有するクラスm分散n4が、さらに1月〜12月
(41〜43,・・・)に月分割されている。
【0010】図5は、本発明におけるリポジトリの情報
をOMT法で表現した図である。OMT法は、オブジェ
クト指向を使用してシステム分析や設計を進めるオブジ
ェクト指向分析/設計開発方法論の1つである。なお、
参考文献としては、例えば、『オブジェクト指向方法論
OMTモデル化と設計』J.ランボー/M.ブラハ/
W.プレメラニ/F.エディ/W.ローレンセン著、羽
生田栄一監訳、トッパン、ISBN4−8101−85
27−3がある。ここで、ClassA(60)は、C
lassAdist1(61)、ClassAdist
2(62)、およびClassAdist3(63)を
サブクラスに持つクラスである。また、ClassA
(60)は属性として、item1,item2を持っ
ており、これらの属性は各サブクラス61〜63にも継
承される。なお、item1はキー属性とする。
【0011】図6は、図5に示すクラス定義を基に、ス
クリプト自動作成手段を用いて作成したデータベースの
テーブル定義スクリプトの図である。図6において、最
初の〜は、ClassAdist1,ClassA
dist2,ClassAdist3の各テーブルを作
成する部分であって、それぞれにitem1,item
2が記述されている。次の〜は、ClassAdi
st1,ClassAdist2,およびClassA
dist3のitem1をユニークキーとするインデッ
クスを作成する部分である。次のは、ClassA配
下の検索機能を提供する拡張ビューを作成する部分であ
る。この拡張ビューを用いることにより、分散をまたが
った検索が可能である。このように、リポジトリ上で分
散対象となるクラスを親クラスとして、その属性を全て
継承する子クラスを分散対象数分定義することによっ
て、並列処理に使用するテーブル定義スクリプトを自動
的に作成することが可能になる。なお、図1の太線で囲
まれた部分1,2、つまりクラスA,B拡張ビュー1
0,20、クラスA分散1,2,3(11〜13)、お
よびクラスB分散1,2,3(21〜23)は、このテ
ーブル定義スクリプトを実行することにより作成された
ことを示している。
【0012】図1に示すような本発明の並列処理方法、
すなわち処理データ7を蓄積系アプリケーシヨン8に送
出することにより、蓄積系アプリケーション8は、この
処理データの各レコードに対して分散管理手段3に対し
て蓄積処理を要求し、分散管理手段3は、処理するデー
タを分割するときのキー情報となる分散対象IDを基
に、アクセスするテーブルを決定するための分散IDを
決定して、その分散IDを基にクラスA分散1からクラ
スA分散3(11〜13)のいずれかにそれらのレコー
ドを蓄積し、集計手段14〜16は、クラスAからクラ
スBを作成することにより、クラスAのレコードを集計
してクラスBに蓄積する、という一連の処理ステップを
プログラムに変換した後、この並列処理プログラムを記
録媒体に格納する。この記録媒体を設置した任意の場所
でこのプログラムを実行することにより、容易に本発明
の並列処理方法が実現される。
【0013】
【発明の効果】以上説明したように、本発明によれば、
分散管理手段によりデータベーステーブルの値域分割
やハッシュ関数等による分割が可能となるので、容易に
並列処理が行える。また、分割された複数のテーブル
に対して、アプリケーションは意識することなくアクセ
スが可能となる。さらに、クラス情報を保持するリポ
ジトリにおいてクラス定義を行うことにより、並列処理
に用いるデータベースに複数のテーブルを作成するため
のスクリプトを自動作成することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す並列処理方法の機能ブ
ロック図である。
【図2】本発明における値域分割の説明図である。
【図3】本発明におけるハッシュ関数による分割の説明
図である。
【図4】ORACLEのパーティショニング機能と本発
明におけるハッシュ関数による分割の併用時のテーブル
の概念図である。
【図5】本発明のリポジトリの情報をOMT法で表現し
た図である。
【図6】図5におけるクラス定義を、スクリプト自動作
成手段を用いて作成した場合のデータ定義スクリプトの
図である。
【符号の説明】
1,2…テーブル定義スクリプトを実行することにより
作成された並列処理、3…分散管理手段、4…クラスm
分散n、5…蓄積更新系アプリケーション、6…分散管
理データベース、7…処理データ、8…蓄積系アプリケ
ーション、10…クラスA拡張ビュー、11〜13…ク
ラスA分散1,2,3、20…クラスB拡張ビュー、2
1〜23…クラスB分散1,2,3、5a,5b…蓄積
更新系アプリケーション、14,15,16…集計手
段、17,27…リポジトリ定義クラスA,B、9…分
散ID払出手段、18,28…スクリプト自動作成手
段、25…検索系アプリケーション、41,42,43
…月分割された分散テーブル、60…クラス、61〜6
3…サブクラス。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 蓄積装置に分散してデータを蓄積し、該
    蓄積装置から読み出したデータを演算処理部により並列
    に処理する並列処理方法において、 クラス定義を蓄積しているリポジトリにより、分散対象
    となるクラスを親クラスとして定義し、かつ該親クラス
    が持つ属性全てを継承する子クラスを分散数分定義する
    ことにより、分散したテーブルを作成するスクリプトを
    自動的に作成し、 該親クラスに対するグローバル検索を行うことにより、
    検索時のテーブル分散を隠蔽し、 該分散テーブルを識別するための分散IDを払い出す分
    散管理手段により、アプリケーションからテーブルの分
    散を意識させることなく蓄積あるいは更新処理を行うこ
    とを特徴とする並列処理方法。
  2. 【請求項2】 請求項1に記載の並列処理方法におい
    て、 前記分散管理手段は、分散IDの払出しにハッシュ関数
    を利用することを特徴とする並列処理方法。
  3. 【請求項3】 蓄積装置に分散してデータを蓄積し、該
    蓄積装置から読み出したデータを演算処理部により並列
    に処理する並列処理システムにおいて、 複数のテーブルを隠蔽し、アプリケーションに意識させ
    ることなく分散テーブルにアクセスさせるため、該分散
    テーブルを識別するための分散IDを払い出す分散管理
    手段と、 並列処理に使用される複数のテーブルをデータベース上
    に作成するためのスクリプトを自動的に作成するため、
    クラス情報を保持するリポジトリにおいてクラス定義を
    行うことにより自動作成するスクリプト自動作成手段と
    を有することを特徴とする並列処理システム。
  4. 【請求項4】 請求項1または2に記載の並列処理方法
    に記述した各処理ステップをプログラムに変換し、該並
    列処理プログラムを格納することを特徴とする記録媒
    体。
JP10119789A 1998-04-30 1998-04-30 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体 Pending JPH11312150A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10119789A JPH11312150A (ja) 1998-04-30 1998-04-30 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10119789A JPH11312150A (ja) 1998-04-30 1998-04-30 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JPH11312150A true JPH11312150A (ja) 1999-11-09

Family

ID=14770272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10119789A Pending JPH11312150A (ja) 1998-04-30 1998-04-30 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JPH11312150A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2011523738A (ja) * 2008-05-15 2011-08-18 アリババ グループ ホールディング リミテッド 大容量データ処理の方法及びシステム
JP2018060570A (ja) * 2012-10-01 2018-04-12 オラクル・インターナショナル・コーポレイション 単一テーブルから複数テーブルへの参照データセグメント化
CN110321674A (zh) * 2019-07-12 2019-10-11 北京智游网安科技有限公司 一种基于脚本程序的反调试方法、智能终端及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2011523738A (ja) * 2008-05-15 2011-08-18 アリババ グループ ホールディング リミテッド 大容量データ処理の方法及びシステム
JP2018060570A (ja) * 2012-10-01 2018-04-12 オラクル・インターナショナル・コーポレイション 単一テーブルから複数テーブルへの参照データセグメント化
CN110321674A (zh) * 2019-07-12 2019-10-11 北京智游网安科技有限公司 一种基于脚本程序的反调试方法、智能终端及存储介质
CN110321674B (zh) * 2019-07-12 2021-04-06 北京智游网安科技有限公司 一种基于脚本程序的反调试方法、智能终端及存储介质

Similar Documents

Publication Publication Date Title
US11922221B2 (en) System and method for automatic dependency analysis for use with a multidimensional database
US11797496B2 (en) System and method for parallel support of multidimensional slices with a multidimensional database
US20190102447A1 (en) System and method for metadata sandboxing and what-if analysis in a multidimensional database environment
US20170116311A1 (en) System and method for use of automatic slice merge in a multidimensional database environment
US9652291B2 (en) System and method utilizing a shared cache to provide zero copy memory mapped database
US7113957B1 (en) Row hash match scan join using summary contexts for a partitioned database system
JP5589205B2 (ja) 計算機システム及びデータ管理方法
CN107533569B (zh) 用于多维数据库环境中的沙箱支持的系统和方法
KR20050030531A (ko) 실시간 데이타 집계의 자기 유지
US11698893B2 (en) System and method for use of lock-less techniques with a multidimensional database
JP2002529819A (ja) 散在行列エントリを対応データで占める方法及び装置
US20220075771A1 (en) Dynamically deploying execution nodes using system throughput
US7447682B2 (en) Framework for retrieval and display of large result sets
JPH11312150A (ja) 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体
US7236971B1 (en) Method and system for deriving data through interpolation in a database system
US10762084B2 (en) Distribute execution of user-defined function
US20170147393A1 (en) Cache-efficient system for two-phase processing
US10642741B2 (en) Accessing tables with heterogeneous partitions
US9009155B2 (en) Parallel set aggregation
US7676477B1 (en) Utilities for deriving values and information from within an interlocking trees data store
US20060106855A1 (en) Reusable row indices table
JPH03276254A (ja) 文書管理システム