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

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

Info

Publication number
JP2007265164A
JP2007265164A JP2006091074A JP2006091074A JP2007265164A JP 2007265164 A JP2007265164 A JP 2007265164A JP 2006091074 A JP2006091074 A JP 2006091074A JP 2006091074 A JP2006091074 A JP 2006091074A JP 2007265164 A JP2007265164 A JP 2007265164A
Authority
JP
Japan
Prior art keywords
cache
data
relational database
unit
processing
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.)
Granted
Application number
JP2006091074A
Other languages
English (en)
Other versions
JP4947407B2 (ja
Inventor
Yoshihiro Jinnan
吉宏 神南
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

Landscapes

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

Abstract

【課題】効率的にキャッシュデータを格納できるキャッシュシステムを提供する。
【解決手段】高効率キャッシュシステムは、オブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、前記リレーショナルデータベースに保存されているデータから、キャッシュ用オブジェクトと処理用オブジェクトとに変換するデータオブジェクト変換手段と、前記キャッシュ用オブジェクトと前記処理用オブジェクトとを対応付けて相互に変換可能なオブジェクト対応相互変換手段と、前記キャッシュ用オブジェクトを格納するオブジェクトキャッシュ格納手段と、前記リレーショナルデータベースからデータを取得する補充オブジェクトデータ取得手段と、取得したオブジェクトと取得したデータとから、キャッシュ用オブジェクトと、取得要求に対して提供される処理用オブジェクトとを生成するオブジェクト生成手段とを有する。
【選択図】図1

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に示す高効率キャッシュシステムでは、データを格納するリレーショナル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 (9)

  1. データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理手段とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュシステムであって、
    前記リレーショナルデータベースに保存されているデータから、表構造に対応したキャッシュ用オブジェクトと、データの利用形態に対応した処理用オブジェクトとに変換するデータオブジェクト変換手段と、
    前記キャッシュ用オブジェクトと前記処理用オブジェクトとを対応付けて、相互に変換可能なオブジェクト対応相互変換手段と、
    前記キャッシュ用オブジェクトを格納するオブジェクトキャッシュ格納手段と
    を備え、
    オブジェクトの取得要求を受けて前記オブジェクトキャッシュ格納手段を検索し、前記取得要求のうち前記オブジェクトキャッシュ格納手段から取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得する補充オブジェクトデータ取得手段と、
    取得できた前記オブジェクトと前記データとから、前記データオブジェクト変換手段によって前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換されると共に、変換された前記キャッシュ用オブジェクトは前記オブジェクトキャッシュ格納手段に格納され、変換によって生成された前記処理用オブジェクトは前記取得要求に対して提供されるオブジェクト生成手段と
    を有することを特徴とする高効率キャッシュシステム。
  2. 前記オブジェクト生成手段によって前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手段
    をさらに有することを特徴とする請求項1に記載の高効率キャッシュシステム。
  3. 前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュ格納手段に格納されていない前記処理用オブジェクトが作成された場合には、前記オブジェクト対応相互変換手段によって前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュ格納手段に格納されると共に、前記リレーショナルデータベース管理手段を介して前記リレーショナルデータベースに保存を行う未登録オブジェクト整合保存手段
    をさらに有することを特徴とする請求項1又は2に記載の高効率キャッシュシステム。
  4. データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ格納方法であって、
    オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索ステップと、
    前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得ステップと、
    取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換ステップと、
    変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納すると共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成ステップと
    を有することを特徴とする高効率キャッシュ格納方法。
  5. 前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新ステップ
    をさらに有することを特徴とする請求項4に記載の高効率キャッシュ格納方法。
  6. 前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存ステップ
    をさらに有することを特徴とする請求項4又は5に記載の高効率キャッシュ格納方法。
  7. データを保存するリレーショナルデータベースと、保存されている前記データを管理するリレーショナルデータベース管理部とを備えるオブジェクトリレーショナルマッピングにおける高効率キャッシュ操作プログラムであって、
    オブジェクトの取得要求を受けて、表構造に対応したキャッシュ用オブジェクトとデータの利用形態に対応した処理用オブジェクトとを格納するオブジェクトキャッシュを検索するオブジェクト検索手順と、
    前記取得要求のうち前記オブジェクトキャッシュから取得できなかった前記オブジェクトについて前記リレーショナルデータベースからデータを取得するデータ取得手順と、
    取得できたオブジェクトと前記データとから、相互に変換可能に対応付けられた前記キャッシュ用オブジェクトと前記処理用オブジェクトとに変換するオブジェクト変換手順と、
    変換された前記キャッシュ用オブジェクトを前記オブジェクトキャッシュに格納する共に、変換によって生成された前記処理用オブジェクトを、前記取得要求に対して提供するオブジェクト生成手順と
    をコンピュータに実行させることを特徴とする高効率キャッシュ操作プログラム。
  8. 前記処理用オブジェクトが生成される毎に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの更新を行うリレーショナルデータベース更新手順
    をさらに有することを特徴とする請求項7に記載の高効率キャッシュ操作プログラム。
  9. 前記キャッシュ用オブジェクトとして前記オブジェクトキャッシュに格納されていない前記処理用オブジェクトが作成された場合には、前記キャッシュ用オブジェクトに変換され、前記オブジェクトキャッシュに格納されると共に、前記リレーショナルデータベース管理部を介して前記リレーショナルデータベースの保存を行う未登録オブジェクト整合保存手順
    をさらに有することを特徴とする請求項7又は8に記載の高効率キャッシュ操作プログラム。
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 true JP2007265164A (ja) 2007-10-11
JP4947407B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522907A (ja) * 2013-04-15 2016-08-04 フェイスブック,インク. アプリケーションに適合したオブジェクトのプレインフレート
US10210590B2 (en) 2013-04-11 2019-02-19 Facebook, Inc. Application-tailored object re-use and recycling
US10354363B2 (en) 2013-04-11 2019-07-16 Facebook, Inc. Displaying a pre-fetched object comprising a first associated with a desired content and a second element associated with time-sensitive information associated with the desired content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01134525A (ja) * 1987-11-19 1989-05-26 Fujitsu Ltd データ処理装置におけるアクセス方式
JPH07230405A (ja) * 1994-02-21 1995-08-29 Fuji Xerox Co Ltd オブジェクト指向データベース管理装置
JP2000155706A (ja) * 1998-11-19 2000-06-06 Kawasaki Steel Systems R & D Corp オブジェクト指向とリレーショナル・データベースのマッピング方法、装置及びその記録媒体
JP2000163448A (ja) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> オブジェクト指向照会を実行する方法および装置
JP2001154890A (ja) * 1999-11-30 2001-06-08 Toshiba Corp Rdbデータキャッシングシステム及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01134525A (ja) * 1987-11-19 1989-05-26 Fujitsu Ltd データ処理装置におけるアクセス方式
JPH07230405A (ja) * 1994-02-21 1995-08-29 Fuji Xerox Co Ltd オブジェクト指向データベース管理装置
JP2000163448A (ja) * 1998-11-16 2000-06-16 Internatl Business Mach Corp <Ibm> オブジェクト指向照会を実行する方法および装置
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データキャッシングシステム及び記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210590B2 (en) 2013-04-11 2019-02-19 Facebook, Inc. Application-tailored object re-use and recycling
US10354363B2 (en) 2013-04-11 2019-07-16 Facebook, Inc. Displaying a pre-fetched object comprising a first associated with a desired content and a second element associated with time-sensitive information associated with the desired content
US10896484B2 (en) 2013-04-11 2021-01-19 Facebook, Inc. Method and system of display object pre-generation on windows of idle time available after each frame buffer fill tasks
JP2016522907A (ja) * 2013-04-15 2016-08-04 フェイスブック,インク. アプリケーションに適合したオブジェクトのプレインフレート
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation

Also Published As

Publication number Publication date
JP4947407B2 (ja) 2012-06-06

Similar Documents

Publication Publication Date Title
JP7130600B2 (ja) ファーストクラスデータベース要素としての半構造データの実装
CN110032604B (zh) 数据存储装置、转译装置及数据库访问方法
US20040162822A1 (en) Method and apparatus for converting in-line database queries to stored procedures
JP4687253B2 (ja) ストリームデータ処理システムのクエリ処理方法
US9009101B2 (en) Reducing contention of transaction logging in a database management system
US20130238641A1 (en) Managing tenant-specific data sets in a multi-tenant environment
US20160328444A1 (en) Efficient multi-tenant spatial and relational indexing
US8805777B2 (en) Data record collapse and split functionality
US9152683B2 (en) Database-transparent near online archiving and retrieval of data
US20150066977A1 (en) Method and system for managing digital resources
JP4947407B2 (ja) 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム
US11409742B2 (en) Efficient database searching for queries using wildcards
US8380701B1 (en) Using a partially built index in a computer database system
CN110309214B (zh) 一种指令执行方法及其设备、存储介质、服务器
US20080082535A1 (en) Method and system for automatically generating a communication interface
US10129328B2 (en) Centralized management of webservice resources in an enterprise
CN113515564A (zh) 基于j2ee的数据访问方法、装置、设备及存储介质
US20100332501A1 (en) System and method for on-demand indexing
JP5488792B2 (ja) データベース操作装置、データベース操作方法、及びプログラム
US11354312B2 (en) Access-plan-based querying for federated database-management systems
US10803030B2 (en) Asynchronous SQL execution tool for zero downtime and migration to HANA
JP2976891B2 (ja) リモートデータベースアクセス方法
JP5351746B2 (ja) データ処理装置及び方法
JP2010218219A (ja) レプリカ表生成装置、レプリカ表生成方法、及びプログラム
CN109656996A (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