JP4947407B2 - 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム - Google Patents

高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム Download PDF

Info

Publication number
JP4947407B2
JP4947407B2 JP2006091074A JP2006091074A JP4947407B2 JP 4947407 B2 JP4947407 B2 JP 4947407B2 JP 2006091074 A JP2006091074 A JP 2006091074A JP 2006091074 A JP2006091074 A JP 2006091074A JP 4947407 B2 JP4947407 B2 JP 4947407B2
Authority
JP
Japan
Prior art keywords
cache
data
relational database
unit
acquisition request
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.)
Expired - Fee Related
Application number
JP2006091074A
Other languages
English (en)
Other versions
JP2007265164A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006091074A priority Critical patent/JP4947407B2/ja
Publication of JP2007265164A publication Critical patent/JP2007265164A/ja
Application granted granted Critical
Publication of JP4947407B2 publication Critical patent/JP4947407B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、データベースの高効率キャッシュシステム、キャッシュ格納方法およびキャッシュ操作プログラムに関し、特にオブジェクト・リレーショナルマッピングにおいて効率的にオブジェクトキャッシュデータを格納できるデータベースの高効率キャッシュシステム、高効率キャッシュ格納方法及び高効率キャッシュ操作プログラムに関する。
従来から、企業向けの情報システムにおいて、データベースへのアクセスする際の手法として、オブジェクト・リレーショナルマッピング(Object Relational Mapping)というキャッシュシステム(Cache System)が知られている。
ここで、オブジェクト・リレーショナルマッピングとは、データベースの設計手法であるデータ中心設計手法と、オブジェクト指向開発を融合させた技術であり、オブジェクト指向言語におけるオブジェクトを、リレーショナルデータベースにマッピングするための技術の総称である。
このオブジェクト・リレーショナルマッピングキャッシュシステムの一例が、特表2001−527244号公報に記載されている。
この特表2001-527244号公報では、図13に示すように、従来のキャッシュシステムとして、サーバ装置176と、クライアント装置110と、ネットワーク165とを備えている。
このサーバ装置176は、入出力インターフェース172、ネットワークインターフェース174、プロセッサ170、リレーショナルデータベース管理システム(RDBMS)188を備えており、バスによって接続されている。このRDBMS188は、クエリ(query)を受け取り、テーブルに格納されたデータに基づきこのクエリを実行し、結果として得たデータを返す。
またクライアント装置110は、ディスプレイ装置115、プロセッサ120、入出力インターフェース125、ネットワークインターフェース130、メモリ140を備えており、それぞれバス135に接続されている。またメモリ140は、ユーザプログラム145、オブジェクトキャッシュ150、ODM/OQLプロセス155、仮想マシン160を格納している。
このような構成を有する従来のキャッシュシステムは、以下のように動作する。
クライアント装置110のユーザプログラム145は、クエリを発行する。次に、ODM/OQLプロセス155は、発行されたクエリとRDBMS188に含まれるテーブルに格納するデータとのインターフェースを行う。すなわちクエリは、ODM/OQLプロセス155によって処理され、ネットワーク165を介してサーバ装置176のRDBMS188に送信される。
RDBMS188は、保有するテーブルに基づいてクエリを実行した結果、得られるデータセットをODM/OQLプロセス155に提供する。ODM/OQLプロセス155は、得られたデータセットをオブジェクトに変換し、変換したオブジェクトをオブジェクトキャッシュ150に格納する。その後ODM/OQLプロセス155は、さらにオブジェクトを作成する処理を行い、その結果をユーザプログラム145に提供する。このとき、作成されたオブジェクトの構造は、RDBMS188の表構造をそのまま反映したものとなっている。
特表2001−527244号公報
しかしながら、特許文献1に記載された発明では、オブジェクトの生成において、データの利用形態ではなく、データベースの表構造に依存したオブジェクトを生成するため、不必要な要素を持つオブジェクトが生成されたり、オブジェクトを生成するためのデータベースへのアクセスが非効率になったりするので、データベースを効率的に利用できていなかった。
また、上記のようにオブジェクトの生成において、データの利用形態ではなく、データベースの表構造に依存したオブジェクトが生成されるので、生成されたオブジェクトを利用する際には、参照するオブジェクトの数が増加する上に、オブジェクトに対する操作も複雑になってしまう。
従って、データベースから生成されたオブジェクトは、非常に利用しにくいものになってしまうという問題があった。
本発明は、上記課題に鑑みてなされたものであり、オブジェクト・リレーショナルマッピングにおいて、効率的にキャッシュデータを格納できるデータベースの高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラムを提供することを目的とする。
本発明の高効率キャッシュシステムは、表構造のテーブルの行毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した定義情報テーブルと、前記キャッシュ用オブジェクトをキャッシュとして格納するオブジェクトキャッシュ格納手段と、前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得するデータ取得手段と、前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納し、前記生成した処理用オブジェクトは前記取得要求に対して提供するオブジェクト生成手段とを有することを特徴とする。
また、本発明の高効率キャッシュ格納方法は、表構造のテーブルのレコード毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ格納方法であって、定義情報格納手段が、前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した情報を定義情報テーブルに格納するステップと、格納手段が、前記キャッシュ用オブジェクトをキャッシュとしてオブジェクトキャッシュ格納手段に格納するステップと、データ取得手段が、前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得するステップと、オブジェクト生成手段が、前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納し、前記生成した処理用オブジェクトは前記取得要求に対して提供するステップと、を有することを特徴とする
また、本発明の高効率キャッシュ操作プログラムは、表構造のテーブルのレコード毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ操作プログラムであって、前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した定義情報を定義情報テーブルに格納する手順と、 前記キャッシュ用オブジェクトをキャッシュとしてオブジェクトキャッシュ格納手段に格納する手順と、前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得する手順と、前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納し、前記生成した処理用オブジェクトは前記取得要求に対して提供する手順と、をコンピュータに実行させることを特徴とする
このような構成を採用し、オブジェクトキャッシュ格納手段にオブジェクトの格納、検索に柔軟に対応し、取得できないオブジェクトについてリレーショナルデータベースのデータを利用することにより、本発明の目的を達成することができる。
本発明によれば、オブジェクトキャッシュ格納手段に格納されたキャッシュ用オブジェクトとリレーショナルデータベースから取得したデータとを加工した上で処理用オブジェクトを提供するオブジェクト作成手段を有しているので、リレーショナルデータベースのデータからシステムで利用しやすい利用形態の処理用オブジェクトの形式で提供できると共に、リレーショナルデータベースへのアクセスする回数を低減させることにより、効率化を図ることができる。
以下、本発明を実施するための最良の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
図1は、本発明に係る第1の実施の形態として、高効率キャッシュシステムのブロック図である。図1に示す高効率キャッシュシステムでは、データを格納するリレーショナルDB(database)部200と、リレーショナルDB部200とオブジェクトの変換を行うオブジェクトリレーショナルDB(database)マッピング部100と、オブジェクトをキャッシュとして保持するオブジェクトキャッシュ部300と、オブジェクト処理を行うオブジェクト処理部400とを備えている。
オブジェクトリレーショナルDBマッピング部100は、オブジェクトアクセス−DB(database)アクセス変換部101と、DB(database)アクセス部102と、DB(database)データ−オブジェクト変換部103とを備えている。
これらの各ブロックはそれぞれ概略、次のように動作する。
オブジェクトアクセス−DBアクセス変換部101は、オブジェクト処理部400からのオブジェクト取得要求を受けて、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301と、DBアクセス部102とを利用してオブジェクトの操作を行い、結果をオブジェクト処理部400に提供する。
DBアクセス部102は、オブジェクトアクセス−DBアクセス変換部101からDBアクセス要求を受け取り、リレーショナルDB部200へアクセスし、結果をオブジェクトアクセス−DBアクセス変換部101に通知する。
DBデータ−オブジェクト変換部103は、オブジェクトアクセス−DBアクセス変換部101を介してDBアクセス部102によってリレーショナルDB部200から取得されたDBデータをオブジェクトに変換する。
次にオブジェクトキャッシュ部300は、オブジェクトキャッシュ操作部301と、オブジェクトキャッシュ保持部302とを備えている。
これらの回路ブロックは、それぞれ概略、次のように動作する。
オブジェクトキャッシュ操作部301は、オブジェクトの取得、保持要求により、オブジェクトキャッシュ保持部302におけるオブジェクトの有無の検索、オブジェクトの取得、オブジェクトの格納を行い、オブジェクトキャッシュ保持部302は、オブジェクトの保持を行っている。
次に、図2のフローチャートを参照しながら、図1のブロック図の本実施の形態の全体の動作について詳細に説明する。
まず、オブジェクト処理部400が、オブジェクト処理を行う中で、オブジェクトの取得、新規作成、更新が必要となった際に、オブジェクトアクセス−DBアクセス変換部101に対し、オブジェクトの取得、新規作成、更新命令を送る(図2のステップA01)。
次に、オブジェクトアクセス−DBアクセス変換部101は、オブジェクト操作の種類を判定する(図2のステップA02)。オブジェクト操作の種類がオブジェクトの取得ならば、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301が、オブジェクトキャッシュ保持部302へ取得すべきオブジェクトそのもの、又はその一部が存在するか否か検索する(図2のステップA03、A04)。
オブジェクトキャッシュ保持部302に取得したいオブジェクトがそのまま存在した場合や、オブジェクトキャッシュ保持部302の情報から取得したいオブジェクトが生成できる場合には、オブジェクトキャッシュ保持部302からデータを取得し、オブジェクト処理部400に提供する(図2のA09)。
オブジェクトキャッシュ保持部302に必要なオブジェクトが存在しない場合や、オブジェクトキャッシュ保持部302の情報からでは必要なオブジェクトが完全には生成できない場合には、オブジェクトアクセス−DBアクセス変換部101は、オブジェクトの取得命令を必要なDBデータの取得命令に変換し(図2のステップA05)、DBアクセス部102に通知する。
DBアクセス部102は、受け取ったDBデータの取得命令をリレーショナルDB部200に送り、必要なDBデータをオブジェクトアクセス−DBアクセス変換部101に返答する(図2のA06)。
オブジェクトアクセス−DBアクセス変換部101は、取得したDBデータと図2のA03で取得したオブジェクトをDBデータ−オブジェクト変換部103へ通知し、DBデータ−オブジェクト変換部103では、キャッシュ用オブジェクトと処理用オブジェクトとを生成する(図2のA07)。
キャッシュ用オブジェクトは、オブジェクトキャッシュ操作部301に送られ、オブジェクトキャッシュ保持部302に保存される(図2のA08)。一方、処理用オブジェクトは、DBデータ−オブジェクト変換部103からオブジェクトアクセス−DBアクセス変換部101を介してオブジェクト処理部400に提供される(図2のA09)。
これに対し、オブジェクトの操作の種類がオブジェクトの新規作成、更新であれば、オブジェクトの新規作成または更新が行われる(図2のA10)。
新規作成又は更新されたオブジェクトは、オブジェクトキャッシュ操作部301に送られ、ここでキャッシュ用オブジェクトに変換されてオブジェクトキャッシュ保持部302に保存される(図2のA11)。
そして、オブジェクトアクセス−DBアクセス変換部101は、オブジェクトの新規作成、更新命令をDBデータ新規作成、更新命令に変換し(図2のA12)、DBアクセス部102に通知する。
DBアクセス部102は、受け取ったDBデータの新規作成、更新命令をリレーショナルDB部200に送り、DBデータが新規作成、更新される(図2のA13)。
ここで、キャッシュ用オブジェクトとは、リレーショナルDB部200の表構造に対応したオブジェクトである。すなわち、1つのオブジェクトが1つの表の1行を表現するようなオブジェクトである。各オブジェクトは、リレーショナルDBの主キーに対応する情報によって識別される。なお、主キーとは、ある情報を特定するための特別なフィールドを示し、重複しない一意な値を持っている。
また、処理用オブジェクトとは、オブジェクト処理部400が処理するオブジェクトであり、リレーショナルDB部200の情報から生成可能ではあるものの、リレーショナルDB部200の表構造に対応していないオブジェクトである。
次に、本実施の形態における効果について説明する。
本実施形態のシステムは、処理用オブジェクトの各要素を生成するために、キャッシュ用オブジェクトのどの要素をどのように加工する必要があるかについて、あらかじめ保持している。この情報により、図2のA04で必要な情報の有無を判断することができる。
また、処理用オブジェクトの要素とキャッシュ用オブジェクトの要素の対応関係情報もあらかじめ保持している。この情報により、図2のA07、A10でキャッシュ用オブジェクトを生成することができる。
次に、具体的な実施例を用いて、本発明を実施するための最良の形態の動作を説明する。
図3に示すように、リレーショナルDB部200には、社員、業務、業務履歴の3つの表が定義されており、この各表には図3に図示しているようなデータが格納されているものとする。
また、オブジェクト処理部400は、このデータを各社員の作業量、業務の進捗率という観点で処理するために、図4のようなオブジェクトを取得するものとする。
さらに、DBデータ−オブジェクト変換部103は、図4のようなオブジェクトを生成する機能と、リレーショナルDB部200に定義されている3つの表(図3参照)に対応した図5のようなオブジェクトを生成する機能を有するものとする。
また、本発明の実施形態のシステムは、図6に示すようなオブジェクトの対応関係定義が、図4のオブジェクトと図5のオブジェクトから生成されると共に、図3のオブジェクト及び各表との対応関係がつけられ、図4のオブジェクトの生成方法を保持しているものとする。
また、オブジェクトキャッシュ保持部302は、初期状態では一切キャッシュを保持していないものとする。
このとき、オブジェクト処理部400が、各社員の作業量を取得するというオブジェクト操作を実行すると(図2のA01)、操作の種類はオブジェクトの取得であるため、判定(図2のA02)により、オブジェクトアクセス−DBアクセス変換部101は、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301に、必要な情報(社員の社員番号、氏名、勤務先、業務履歴の履歴番号、社員番号、作業日数、作業率)の問い合わせを行う(図2のA04)。
この時点では、オブジェクトキャッシュ保持部302は、何も保持していない。このため、オブジェクトアクセス−DBアクセス変換部101は、これらオブジェクトへのアクセスを、リレーショナルDB部200の該当する情報へのアクセスに変換し(図2のA05)、DBアクセス部102を利用して、リレーショナルDB部200からDBデータを取得する(図2のA06)。
DBデータは、DBデータ−オブジェクト変換部103によって図7のようなキャッシュ用オブジェクトと図8のような処理用オブジェクトとが生成(図2のA07)される。キャッシュ用オブジェクトは、オブジェクトキャッシュ操作部301によってオブジェクトキャッシュ保持部302に格納される(図2のA08)と共に、処理用オブジェクトは、DBデータ−オブジェクト変換部103から、オブジェクトアクセス−DBアクセス変換部101を介して、オブジェクト処理部400に渡される(図2のA09)。
次に、オブジェクト処理部400が、業務の進捗率を取得するというオブジェクト操作を実行すると(図2のA01)、操作の種類はオブジェクトの取得であるため、判定(図2のA02)により、オブジェクトアクセス−DBアクセス変換部101は、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301に、必要な情報(業務の業務番号、業務名、必要工数、業務履歴の履歴番号、業務番号、作業日数、作業率)の問い合わせを行う(図2のA04)。
この時点では、オブジェクトキャッシュ保持部302は、図7のようなキャッシュ用オブジェクトを保持しているため、オブジェクトキャッシュ操作部301は、必要な情報のうち、業務履歴の作業日数、作業率はオブジェクトキャッシュ保持部302から取得可能である。しかしながら、業務の業務番号、業務名、必要工数、業務履歴の履歴番号、業務番号は保持していないため、リレーショナルDB部200から取得する必要があることをオブジェクトアクセス−DBアクセス変換部101に通知する。
オブジェクトアクセス−DBアクセス変換部101は、これらの必要な情報へのアクセスを、リレーショナルDB部200の該当する情報へアクセスするためのDBアクセスに変換し(図2のA05)、DBアクセス部102を利用してリレーショナルDB部200からDBデータを取得する(図2のA06)。
DBデータは、DBデータ−オブジェクト変換部103によって図9に示すようなキャッシュ用オブジェクトを生成(図2のA07)し、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301によって、オブジェクトキャッシュ保持部302に格納する(図2のA08)。このとき、オブジェクトキャッシュ操作部301は、既存のオブジェクトと新規に格納されるオブジェクトの対応付けを行うため、オブジェクトキャッシュ保持部302に保持されるオブジェクトは図10のようになる。
さらに、DBデータ−オブジェクト変換部103は、図11のようなオブジェクト処理部400で利用される処理用オブジェクトを生成する。この処理用オブジェクトは、DBデータ−オブジェクト変換部103から、オブジェクトアクセス−DBアクセス変換部101を介してオブジェクト処理部400に渡される(図2のA09)。
このように、オブジェクトキャッシュ保持部302を利用することにより、オブジェクト処理部400が要求した情報の一部のみをリレーショナルDB部200から取得することによって、オブジェクト処理部400が要求した情報の構造がリレーショナルDB部200の構造と異なっていたとしても、キャッシュによる性能向上効果を得ることができる。
次に、オブジェクト処理部400が、業務の進捗率オブジェクトに対し、業務名を"試験"から"試験・配備"に変更するというオブジェクト操作を実行すると(図2のA01)、操作の種類はオブジェクトの更新であるため、判定(図2のA02)の後、オブジェクトの更新が行われ(図2のA10)、オブジェクトアクセス−DBアクセス変換部101は、オブジェクトキャッシュ部300のオブジェクトキャッシュ操作部301に、更新された処理用オブジェクトを送る。
オブジェクトキャッシュ操作部301は、更新された処理用オブジェクトとオブジェクトキャッシュ保持部302に存在するキャッシュ用オブジェクトの対応付けを行い、オブジェクトキャッシュ保持部302のキャッシュ用オブジェクトを図12のように更新する(図2のA11)。
さらに、オブジェクトアクセス−DBアクセス変換部101は、キャッシュ用オブジェクトの更新をDBデータの更新に変換し(図2のA12)、DBアクセス部102を利用してリレーショナルDB部200を更新する(図2のA13)。
このように、オブジェクトの新規作成、及び更新の際に、オブジェクトキャッシュ保持部302に格納されているキャッシュ用オブジェクトとリレーショナルDB部200に格納されているデータとを同時に更新することにより、オブジェクトキャッシュ保持部302のキャッシュ用オブジェクトとリレーショナルDB部200のDBデータとの整合性が維持され、この後のオブジェクト処理部400からの要求に対し、オブジェクトキャッシュ格納部を利用して効率的にキャッシュ用オブジェクトとDBデータの有効活用を図ることができる。
以上のように本発明によれば、オブジェクトキャッシュ保存部302に格納されたキャッシュ用オブジェクトとリレーショナルDB部200から取得したデータとを加工した上で処理用オブジェクトを提供するオブジェクトリレーショナルDBマッピング部100を有しているので、リレーショナルDB部200のデータから、システムで利用しやすい利用形態の処理用オブジェクトの形式で提供できると共に、リレーショナルDB部200へのアクセスする回数を低減させることにより、効率化を図ることができる。
また、キャッシュ用オブジェクトをオブジェクトキャッシュ保存部302に格納することにより、リレーショナルDB部200へのアクセスを極力控えて、システムの要求を処理する処理用オブジェクトを提供しているので、より一層、リレーショナルDB部200へのアクセスを、効率化することができる。
また提供可能なオブジェクトは、リレーショナルDB部200の表構造に依存したキャッシュ用オブジェクトだけでなく、上述のデータの利用形態に対応した処理用オブジェクトも提供できるので、リレーショナルDB部200のデータをシステムで利用しやすい処理用オブジェクトの形式で提供することができる。
さらに、リレーショナルDB部200のデータから、処理用オブジェクトとキャッシュ用オブジェクトとに変換するDBデータ−オブジェクト変換部103と、処理用オブジェクトとキャッシュ用オブジェクトとを相互に変換するオブジェクトキャッシュ操作部301とを有しているので、リレーショナルDB部200のデータを、オブジェクトの形式で提供すると共に、オブジェクトキャッシュ保存部302にキャッシュ用オブジェクトとして保存しておくことができる。
発明によれば、オブジェクト・リレーショナルマッピングを利用してリレーショナルデータベースの情報をオブジェクトとして扱うシステム全般に適用可能である。
本発明を実施するための最良の形態の構成を示すブロック図である。 本発明を実施するための最良の形態の動作を示すフローチャートである。 本発明を実施するための最良の形態において、リレーショナルDB部に格納されるデータの一例である。 本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクト定義の一例である。 本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクト定義の一例である。 本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトとオブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの対応関係定義の一例である。 本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。 本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトの一例である。 本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。 本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。 本発明を実施するための最良の形態において、オブジェクト処理部で処理される処理用オブジェクトの一例である。 本発明を実施するための最良の形態において、オブジェクトキャッシュ保持部に保持されるキャッシュ用オブジェクトの一例である。 特許文献1に記載されたキャッシュシステムの一例である。
符号の説明
100 オブジェクト-リレーショナルDBマッピング部
200 リレーショナルDB部
300 オブジェクトキャッシュ部
400 オブジェクト処理部
101 オブジェクトアクセス-DBアクセス変換部
102 DBアクセス部
103 DBデータ-オブジェクト変換部
301 オブジェクトキャッシュ操作部
302 オブジェクトキャッシュ保持部

Claims (6)

  1. 表構造のテーブルの行毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、
    前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した定義情報テーブルと、
    前記キャッシュ用オブジェクトをキャッシュとして格納するオブジェクトキャッシュ格納手段と、
    前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得するデータ取得手段と、
    前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納し、前記生成した処理用オブジェクトは前記取得要求に対して提供するオブジェクト生成手段と
    を有することを特徴とする高効率キャッシュシステム。
  2. 前記オブジェクト生成手段によって前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手段をさらに有することを特徴とする請求項1に記載の高効率キャッシュシステム。
  3. 表構造のテーブルのレコード毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ格納方法であって、
    定義情報格納手段が、前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した情報を定義情報テーブルに格納するステップと、
    格納手段が、前記キャッシュ用オブジェクトをキャッシュとしてオブジェクトキャッシュ格納手段に格納するステップと、
    データ取得手段が、前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得するステップと、
    オブジェクト生成手段が、前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクト前記オブジェクトキャッシュ格納手段に格納し、前記生成した処理用オブジェクト前記取得要求に対して提供するステップと、
    を有することを特徴とする高効率キャッシュ格納方法。
  4. 前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新ステップをさらに有することを特徴とする請求項に記載の高効率キャッシュ格納方法。
  5. 表構造のテーブルのレコード毎に各項目のデータが格納されたテーブルを保存するリレーショナルデータベースと、前記保存されているテーブルを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ操作プログラムであって、
    前記リレーショナルデータベースの表構造に対応し、1つのオブジェクトが前記表構造のテーブルの1つの行の各項目のデータに対応するキャッシュ用オブジェクトと、データの利用形態に対応し、前記リレーショナルデータベースの表構造に対応しない処理用オブジェクトとのデータの対応関係を定義した定義情報を定義情報テーブルに格納する手順と、 前記キャッシュ用オブジェクトをキャッシュとしてオブジェクトキャッシュ格納手段に格納する手順と、
    前記オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索して前記取得要求のオブジェクトの作成に必要なデータを取得し、且つ、前記取得要求のオブジェクトの作成に必要なデータのうち前記オブジェクトキャッシュ用格納手段から取得できなかったデータを前記リレーショナルデータベースに格納された前記テーブルから取得する手順と、
    前記オブジェクトキャッシュ格納手段から取得したデータと前記リレーショナルデータベースから取得したデータとから、前記定義情報テーブルの定義情報に基づいて前記取得要求の処理用オブジェクト及びキャッシュ用オブジェクトを生成し、前記生成したキャッシュ用オブジェクト前記オブジェクトキャッシュ格納手段に格納、前記生成した処理用オブジェクト前記取得要求に対して提供する手順と、
    をコンピュータに実行させることを特徴とする高効率キャッシュ操作プログラム。
  6. 前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手順さらに有することを特徴とする請求項に記載の高効率キャッシュ操作プログラム。
JP2006091074A 2006-03-29 2006-03-29 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム Expired - Fee Related JP4947407B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006091074A JP4947407B2 (ja) 2006-03-29 2006-03-29 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006091074A JP4947407B2 (ja) 2006-03-29 2006-03-29 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム

Publications (2)

Publication Number Publication Date
JP2007265164A JP2007265164A (ja) 2007-10-11
JP4947407B2 true JP4947407B2 (ja) 2012-06-06

Family

ID=38638072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006091074A Expired - Fee Related JP4947407B2 (ja) 2006-03-29 2006-03-29 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム

Country Status (1)

Country Link
JP (1) JP4947407B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760964B2 (en) 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US9207986B2 (en) 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519760B2 (ja) * 1987-11-19 1996-07-31 富士通株式会社 デ―タ処理装置におけるアクセス方式
JPH07230405A (ja) * 1994-02-21 1995-08-29 Fuji Xerox Co Ltd オブジェクト指向データベース管理装置
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
JP2000155706A (ja) * 1998-11-19 2000-06-06 Kawasaki Steel Systems R & D Corp オブジェクト指向とリレーショナル・データベースのマッピング方法、装置及びその記録媒体
JP2001154890A (ja) * 1999-11-30 2001-06-08 Toshiba Corp Rdbデータキャッシングシステム及び記録媒体

Also Published As

Publication number Publication date
JP2007265164A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
JP7130600B2 (ja) ファーストクラスデータベース要素としての半構造データの実装
CN107247808B (zh) 一种分布式NewSQL数据库系统及图片数据查询方法
JP6850907B2 (ja) テンポラル−リレーショナルデータベースを有するリレーショナルデータベース管理システムにおけるクエリプランの生成および実行
US8239389B2 (en) Persisting external index data in a database
US9009101B2 (en) Reducing contention of transaction logging in a database management system
US20130238557A1 (en) Managing tenant-specific data sets in a multi-tenant environment
US8805777B2 (en) Data record collapse and split functionality
US9152683B2 (en) Database-transparent near online archiving and retrieval of data
US10855750B2 (en) Centralized management of webservice resources in an enterprise
CN102272751A (zh) 在数据库环境通过背景同步的数据完整性
JP4947407B2 (ja) 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム
US9342545B2 (en) Using a partially built index in a computer database system
US20080082535A1 (en) Method and system for automatically generating a communication interface
CN113515564A (zh) 基于j2ee的数据访问方法、装置、设备及存储介质
JP2009129067A (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
CN111241060A (zh) 数据迁移方法、系统、设备及存储介质
US10803030B2 (en) Asynchronous SQL execution tool for zero downtime and migration to HANA
JP5351746B2 (ja) データ処理装置及び方法
JP2011059845A (ja) データベース操作装置、データベース操作方法、及びプログラム
CN107066330B (zh) 模块化数据分布计划生成方法及系统
JP2009134511A (ja) サイジング装置、サイジング方法、サイジング用プログラム及び記録媒体
JP2010218219A (ja) レプリカ表生成装置、レプリカ表生成方法、及びプログラム
US20230342357A1 (en) Bill of materials traversal to handle logical units of work for in-memory databases
JP5601028B2 (ja) データベース・レプリケーション・システム、データベース・レプリケーション方法、情報処理装置、及び、プログラム
CN112732704A (zh) 一种数据处理方法、装置及存储介质

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100914

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111227

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4947407

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees