(57)【特許請求の範囲】
【請求項１】
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とするメモリデータベースシステム。
【請求項２】
前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
ことを特徴とする請求項１に記載のメモリデータベースシステム。
【請求項３】
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とするメモリデータベースシステム。
【請求項４】
メモリデータベースシステムは、他のサーバを含んで構成され、
前記サーバは、前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
ことを特徴とする請求項３に記載のメモリデータベースシステム。
【請求項５】
外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする高速化方法。
【請求項６】
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリデータベースシステム、高速化方法、および、プログラムに関する。
【背景技術】
【０００２】
近年、サーバに搭載されるメモリ容量の増大化などに伴って、メモリ上に表データを全て展開して使用されるメモリデータベースが実現されている。このメモリデータベースでは、更新や参照などの表データへの処理において、ディスク・アクセスが発生しないため、極めて高速なデータ処理を可能としている。
【０００３】
このようなメモリデータベースを用いたシステム（メモリデータベースシステム）の先行技術として、ユーザによるデータ破壊を防ぐと共に、データアクセス性能の劣化や各種リソースの消費を最小限に抑えることのできる発明も開示されている。（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５１８５３号公報  （第５−１０頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、メモリデータベースでは、全ての表データをメモリ上に展開する必要がある。なお、サーバには、通常、揮発性のメモリが用いられており、システム起動時点でメモリ上のデータベースが空であるため、運用開始時に、メモリ上に表データを展開する必要がある。また、同様にメモリが揮発性であるという理由から、予期せずにサーバが停止してしまうと、メモリ上の全てのデータが消失してしまう。
そのため、一般的なメモリデータベースシステムでは、図１３に示すような運用がなされていた。つまり、予め表データＨをディスクＤ上に退避しておき、サーバＳの運用開始時にディスクＤからメモリＭ上に表データＨを展開する（表データの展開）。また、サーバＳの運用停止時には、更新された最新の表データＨを、再度ディスクＤ上に退避する（表データの待避）。
【０００６】
ところで、従来、表データを構成する制御テーブル間のリンク（リンク情報）は、制御テーブルが確保されたアドレス（ポインタ）自身であるが、ディスク上への退避時とその後のメモリ上への展開時とでは、両者のアドレスが一致する保証はない。そのため、表データのメモリ上への展開時には、新たに割り当てられたアドレスを用いて、リンク情報を書き換える必要があった。
なお、このリンク情報は、表データの数や規模が増えるに連れて増大する。つまり、表データの数が多いほど、また、表データの規模が大きいほど、書き換え対象のリンク情報が多くなり、その書き換え処理に長時間を要することになる。
そのため、例えば、展開するメモリサイズが１００ＧＢクラスの大規模システムでは、運用開始時において、メモリ上への展開処理（リンク情報の書き換え処理等）に、多大な時間を要してしまうことが問題となっていた。
【０００７】
また、バックアップサーバを更に備えたメモリデータベースシステムも知られている。例えば、図１４に示すように、稼動サーバＫＳに対してバックアップサーバＢＳを用意してメモリデータベースを冗長構成とすることで、システムの信頼性を高めることが行われている。
図１４に示すメモリデータベースシステムでは、運用開始時に、ディスクＤから稼働サーバＫＳのメモリＭ上に表データＨを展開すること（表データの展開）に加えて、稼働サーバＫＳからバックアップサーバＢＳのメモリＭ上に表データＨをコピー展開すること（表データの同期）が行われる。
そのため、このような構成のメモリデータベースシステムでは、さらに、バックアップサーバＢＳへのコピー展開処理にも多大な時間を要してしまうことが問題となっていた。
【０００８】
更に、昨今では、様々なアーキテクチャのプラットフォームが混在する環境が増えてきており、アーキテクチャの違いによりメモリ上へのデータ配置の順序（バイトオーダ）が異なる場合がある。このような、バイトオーダが異なるサーバ間で表データのバックアップが行われると、バックアップ先で表データに正しくアクセスできないという問題があった。
例えば、図１５に示すように、稼働サーバＫＳが、ビッグエンディアン（バイト列を上位バイトからメモリＭに配置）を採用し、一方、バックアップサーバＢＳが、リトルエンディアン（バイト列を下位バイトからメモリＭに配置）を採用している場合等である。この場合、稼働サーバＫＳからバックアップサーバＢＳへ、単にバイト列を先頭から順に転送（ビッグエンディアンのまま転送）されると、バックアップサーバＢＳではアプリケーションＡＰからメモリＭ上の表データＨに、正しくアクセスできなくなってしまうという問題があった。
【０００９】
そのため、これらの問題に対処すべく、表データをメモリ上に高速に展開することができ、また、エンディアンの種類が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセスできる技術が求められていた。
【００１０】
本発明は、このような課題を解決するためになされたもので、表データのメモリ上への展開を高速に行うことのできるメモリデータベースシステム、高速化方法、および、プログラムを提供することを目的とする。
また、本発明は、サーバ（稼働サーバ等）の表データを、他のサーバ（バックアップサーバ等）へ転送して展開する際にも、高速に行うことを目的とする。
また、本発明は、バイトオーダ（エンディアンの種類）が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセス可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点に係るメモリデータベースシステムは、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
【００１２】
本発明の第２の観点に係るメモリデータベースシステムは、
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
【００１３】
本発明の第３の観点に係る高速化方法は、
外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
【００１４】
本発明の第４の観点に係るプログラムは、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ように機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、表データのメモリ上への展開を高速に行うことのできる。また、本発明によれば、サーバの表データを、他のサーバへ転送して展開する際にも、高速に行うことができる。また、本発明は、バイトオーダ（エンディアンの種類）が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセスできる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るメモリデータベースシステムの構成を示すブロック図である。
【図２】（ａ）がページ管理テーブルを説明するための模式図であり、（ｂ）が各エンディアンデータを説明するための模式図であり、（ｃ）が制御テーブルを説明するための模式図である。
【図３】本実施形態に係る初期展開処理を説明するためのフローチャートである。
【図４】初期展開処理の具体的な動作を説明するための模式図である。
【図５】本実施形態に係る更新処理を説明するためのフローチャートである。
【図６】更新処理の具体的な動作を説明するための模式図である。
【図７】本実施形態に係る参照処理を説明するためのフローチャートである。
【図８】参照処理の具体的な動作を説明するための模式図である。
【図９】本実施形態に係る転送処理を説明するためのフローチャートである。
【図１０】転送処理の具体的な動作を説明するための模式図である。
【図１１】本実施形態に係る転送処理後の参照処理を説明するためのフローチャートである。
【図１２】転送処理後の参照処理の具体的な動作を説明するための模式図である。
【図１３】従来のメモリデータベースシステムの動作を説明するための模式図である。
【図１４】冗長構成とした従来のメモリデータベースシステムの動作を説明するための模式図である。
【図１５】エンディアンの種類が異なるサーバが混在している従来のメモリデータベースシステムの問題を説明するための模式図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
なお、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００１８】
図１は、本発明の実施形態に係るメモリデータベースシステム１の概要構成を示す模式図である。以下、本図を参照して説明する。
【００１９】
図１に示すように、メモリデータベースシステム１は、稼働サーバ１０と、バックアップサーバ２０と、ディスク装置３０とを含んで構成される。
なお、稼働サーバ１０及び、バックアップサーバ２０は、例えば、演算部（一例として、ＣＰＵ：Central Processing Unit等）、記憶部（一例として、ＲＡＭ：Random Access MemoryやＲＯＭ：Read Only Memory等）、及び、通信部（一例として、ＮＩＣ：Network Interface Card等）を有するコンピュータ等からなる。
また、稼働サーバ１０と、バックアップサーバ２０とは、所定のネットワーク（例えば、ＬＡＮ：Local Area Network等）を介して接続されている。
更に、稼働サーバ１０とディスク装置３０とは、所定のインタフェース（例えば、ＳＡＴＡ：Serial Advanced Technology Attachmentや、ＳＣＳＩ：Small Computer System Interface等）を介して接続されている。
【００２０】
稼働サーバ１０は、エンディアン格納部１１と、エンディアン読み出し部１２と、アドレス変換部１３と、メモリ１４と、メモリ展開部１６と、データ転送部１７と、アプリケーション１８とからなる。なお、メモリ１４には、表データ１５が展開される。
また、バックアップサーバ２０は、エンディアン格納部２１と、エンディアン読み出し部２２と、アドレス変換部２３と、メモリ２４と、メモリ展開部２６と、データ転送部２７と、アプリケーション２８とからなる。なお、メモリ２４には、表データ２５が展開される。
そして、ディスク装置３０には、稼働サーバ１０のメモリ１４に展開されるデータ（表データ）がファイル３１として格納されている。
以下、これらの構成について、説明する。
【００２１】
まず、稼働サーバ１０の構成について、説明する。
エンディアン格納部１１は、エンディアン読み出し部１２が読み出したエンディアン情報を格納する。つまり、稼働サーバ１０が、多バイトのデータ（バイト列）を上位バイトからメモリ１４に配置するビッグエンディアンを採用しているか、又は、バイト列を下位バイトからメモリ１４に配置するリトルエンディアンを採用しているかを示すエンディアン情報を格納する。
【００２２】
エンディアン読み出し部１２は、稼働サーバ１０が採用しているエンディアン（ビッグエンディアン又は、リトルエンディアン）を規定する情報（エンディアン情報）を読み出す。
【００２３】
アドレス変換部１３は、間接ポインタを物理アドレスに変換する。つまり、アプリケーション１８が、メモリ１４上に展開された表データ１５にアクセス（更新や参照）する際に、間接ポインタを物理アドレスに変換する。
【００２４】
メモリ１４は、揮発性の主記憶部であり、表データ１５が展開（格納）される。つまり、メモリ１４は、ディスク装置３０に格納されていたファイル３１のデータを、表データ１５として全て記憶できる容量を有している。
メモリ１４に展開される表データ１５は、ビッグエンディアン用のデータであるビッグエンディアンデータ１５２、リトルエンディアン用のデータであるリトルエンディアンデータ１５３、及び、各データのページを管理するためのページ管理テーブル１５１からなる。
【００２５】
具体的に、ページ管理テーブル１５１には、図２（ａ）に示すように、エンディアン（ビッグエンディアン又は、リトルエンディアン）、ページ番号、及び、先頭アドレスが含まれる。なお、先頭アドレスは、エンディアンとページ番号とに対応する物理アドレスを示すものであり、後述するように、ディスク装置３０のファイル３１が、表データ１５としてメモリ１４上に展開された際に、実際の物理アドレスに書き換えられる。
また、ビッグエンディアンデータ１５２及び、リトルエンディアンデータ１５３には、図２（ｂ）に示すように、制御テーブルＳＴやデータＤＴが含まれる。この制御テーブルＳＴには、図２（ｃ）に示すように、インデックスや間接ポインタが含まれており、データＤＴ（ページ単位）におけるデータ位置を適宜指し示すことができるようになっている。なお、ビッグエンディアンデータ１５２及び、リトルエンディアンデータ１５３は、ファイル３１の内容がそのまま展開されたものである。
【００２６】
図１に戻って、メモリ展開部１６は、ディスク装置３０から読み出したファイル３１を、上述した表データ１５としてメモリ１４上に展開する。
具体的にメモリ展開部１６は、上述したページ内の制御テーブルＳＴやデータＤＴについては、ファイル３１の内容をそのままメモリ１４に展開する。そして、上述したページ管理テーブル１５１における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
【００２７】
データ転送部１７は、バックアップサーバ２０との間でデータの受け渡しを行う。つまり、データ転送部１７は、表データ１５をバックアップサーバ２０に転送する。
【００２８】
アプリケーション１８は、メモリ１４上に展開された表データ１５にアクセス（更新や参照）するアクセス部となり得るソフトウェアである。
また、アプリケーション１８は、上述したデータ転送部１７を制御して、表データ１５をバックアップサーバ２０へ転送する。
【００２９】
次に、バックアップサーバ２０の構成について、簡単に説明する。
エンディアン格納部２１〜アプリケーション２８は、上述した稼働サーバ１０のエンディアン格納部１１〜アプリケーション１８と同様の構成である。
なお、メモリ展開部２６は、稼働サーバ１０から転送された表データ１５を、表データ２５としてメモリ２４上に展開する。その際、メモリ展開部２６は、上述した図２（ａ）〜（ｃ）を参照して説明したメモリ展開部１６と同様に、ページ内の制御テーブルＳＴやデータＤＴについては、表データ１５の内容をそのままメモリ２４に展開する。そして、ページ管理テーブル２５１における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
【００３０】
また、データ転送部２７は、稼働サーバ１０との間でデータの受け渡しを行う。つまり、データ転送部２７は、稼働サーバ１０から転送された表データ１５を受信する。
【００３１】
最後に、ディスク装置３０は、ハードディスク等の外部記憶部であり、上述した表データ１５をファイル３１として記憶している。
【００３２】
このような構成のメモリデータベースシステム１（稼働サーバ１０やバックアップサーバ２０）は、以下のような特徴を有している。
まず、メモリ１４，２４に展開された表データ１５，２５は、ページの集合で構成され、そのページを管理するためのページ管理テーブル１５１，２５１を含んでいる。このページ管理テーブル１５１，２５１には、エンディアンとページ番号に対応する先頭アドレス（展開時の物理アドレス）を含んでいる。
また、表データ１５，２５のビッグエンディアンデータ１５２，２５２及び、リトルエンディアンデータ１５３，２５３において、制御テーブルＳＴをページ内に作成し、その制御テーブルＳＴ上のリンク情報を全て間接ポインタ（ページ番号＋ページ内オフセット）で表現している。
更に、異なるバイトオーダに対応できるよう、表データ１５，２５には、全てのページについて、同じ内容でエンディアンのみ異なるビッグエンディアンデータ１５２，２５２及び、リトルエンディアンデータ１５３，２５３が含まれている。
【００３３】
また、表データ１５をメモリ１４上に展開する際に、ファイル３１の内容を全てそのまま展開し、ページ管理テーブル１５１上の各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
同様に、表データ１５がバックアップサーバ２０へ転送され、表データ２５としてメモリ２４上に展開する際にも、表データ１５の内容を全てそのまま展開し、ページ管理テーブル２５１上の各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
そして、表データ１５，２５にアクセスするアプリケーション１８，２８は、指定した間接ポインタと自サーバのエンディアン情報（エンディアン格納部１１，２１のエンディアン情報）を基に、ページ管理テーブル１５１，２５１から物理アドレスを取得し、そのアドレスを用いてメモリ１４，２４上のデータにアクセスする。
【００３４】
以下、本発明の実施形態に係るメモリデータベースシステム１の動作について、図面を参照して説明する。
まず、表データ１５，２５をメモリ１４，２４上へ展開する初期展開処理の動作について、図３を参照して説明する。図３は、稼働サーバ１０及び、バックアップサーバ２０にて実行される初期展開処理を説明するためのフローチャートである。
なお、システム起動時等に、エンディアン格納部１１，２１には、エンディアン読み出し部１２，２２を介して自サーバのエンディアン情報が読み出され、結果が格納されているものとする。
【００３５】
図３の初期展開処理において、まず、稼働サーバ１０は、ディスク装置３０上のファイル３１の内容を、そのままメモリ１４上に表データ１５として展開する（ステップＳ１０１）。
このとき、ファイル３１には、リトルエンディアン用のデータ及び、ビッグエンディアン用のデータが両方とも格納されているため、メモリ１４上には、リトルエンディアンデータ１５３及び、ビッグエンディアンデータ１５２として展開される。
【００３６】
次に、稼働サーバ１０は、実際にメモリ１４上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル１５１に格納する。（ステップＳ１０２）。つまり、稼働サーバ１０は、ページ管理テーブル１５１における各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
【００３７】
次に、稼働サーバ１０は、メモリ１４上に展開された表データ１５を、バックアップサーバ２０にそのまま転送する（ステップＳ１０３）。つまり、データ転送部１７，２７により、表データ１５の内容が、バックアップサーバ２０に転送される。
【００３８】
すると、バックアップサーバ２０は、転送された表データ１５の内容を、そのままメモリ２４上に表データ２５として展開する。（ステップＳ１０４）。
このときも、表データ１５には、リトルエンディアンデータ１５３及び、ビッグエンディアンデータ１５２が両方とも含まれているため、バックアップサーバ２０のメモリ２４上には、リトルエンディアンデータ２５３及び、ビッグエンディアンデータ２５２として展開される。
【００３９】
次に、バックアップサーバ２０は、実際にメモリ２４上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル２５１に格納する（ステップＳ１０５）。つまり、バックアップサーバ２０も、ページ管理テーブル２５１における各ページの物理アドレス（先頭アドレス）だけを、実際に割り当てられたアドレスに書き換える。
【００４０】
このような初期展開処理における稼働サーバ１０及び、バックアップサーバ２０の動作を図４を参照して説明する。図４は、初期展開処理の具体的な動作を説明するための模式図である。
なお、稼働サーバ１０は、ビッグエンディアンを採用し、また、バックアップサーバ２０は、リトルエンディアンを採用しているものとする。そのため、図４に示すように、エンディアン格納部１１には、ビッグエンディアンを示すエンディアン情報が格納され、また、エンディアン格納部２１には、リトルエンディアンを示すエンディアン情報が格納されている。
【００４１】
まず、上述したステップＳ１０１の処理により、図４に示すように、ディスク装置３０のファイル３１の内容が、稼働サーバ１０のメモリ１４上に、表データ１５としてそのまま展開される。つまり、メモリ１４上には、ページ管理テーブル１５１、リトルエンディアンデータ１５３及び、ビッグエンディアンデータ１５２を含む表データ１５が展開される。
続いて、上述したステップＳ１０２の処理により、ページ管理テーブル１５１における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
続いて、上述したステップＳ１０３の処理により、表データ１５がバックアップサーバ２０に転送される。
【００４２】
続いて、上述したステップＳ１０４の処理により、転送された表データ１５の内容が、バックアップサーバ２０のメモリ２４上に、表データ２５としてそのまま展開される。つまり、メモリ２４上には、ページ管理テーブル２５１、リトルエンディアンデータ２５３及び、ビッグエンディアンデータ２５２を含む表データ２５が展開される。
続いて、上述したステップＳ１０５の処理により、ページ管理テーブル２５１における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
【００４３】
このような初期展開処理が行われた後に、メモリデータベースシステム１は、運用を開始する。この運用時において、表データ１５へアクセスする処理（更新処理及び、参照処理）の動作について、図５〜８を参照して説明する。図５は、稼働サーバ１０にて実行される更新処理を説明するためのフローチャートであり、図６は、この更新処理の具体的な動作を説明するための模式図である。また、図７は、稼働サーバ１０にて実行される参照処理を説明するためのフローチャートであり、図８は、この参照処理の具体的な動作を説明するための模式図である。
なお、以下、図５〜８を参照して、稼働サーバ１０における表データ１５へアクセスする処理について説明するが、バックアップサーバ２０においても同様の処理が行われる。
【００４４】
まず、図５の更新処理を説明する。この更新処理において、まず、稼働サーバ１０のアプリケーション１８は、表データ１５の特定のデータを更新する場合に、そのデータ位置を指す間接ポインタを、アドレス変換部１３に渡す（ステップＳ２０１）。
【００４５】
次に、アドレス変換部１３は、アプリケーション１８から渡された間接ポインタを基に、ビッグエンディアンデータ１５２における対象ページの先頭アドレスを得る（ステップＳ２０２）。つまり、間接ポインタに含まれるページ番号を基に、ページ管理テーブル１５１から、ビッグエンディアンデータ１５２の対象ページの先頭アドレスを得る。
そして、アドレス変換部１３は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ１５２のデータを更新する（ステップＳ２０３）。
【００４６】
次に、アドレス変換部１３は、同様に、間接ポインタを基に、リトルエンディアンデータ１５３における対象ページの先頭アドレスを得る（ステップＳ２０４）。
そして、アドレス変換部１３は、同様に、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ１５３のデータを更新する（ステップＳ２０５）。
【００４７】
このような更新処理における稼働サーバ１０の具体的な動作を図６を参照して説明する。
まず、上述したステップＳ２０１の処理により、図６に示すように、アプリケーション１８から間接ポインタＰ（ページ２，オフセット０）が、アドレス変換部１３に渡される。
続いて、上述したステップＳ２０２の処理により、間接ポインタＰによりページ２が示されているため、ページ管理テーブル１５１から、ビッグエンディアンデータ１５２のページ２の先頭アドレスを得る。そして、上述したステップＳ２０３の処理により、取得した先頭アドレスに、間接ポインタＰに示されるオフセット０を加えた値を、更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ１５２のデータを更新する。
続いて、上述したステップＳ２０４の処理により、同様に、ページ管理テーブル１５１から、リトルエンディアンデータ１５３のページ２の先頭アドレスを得る。そして、上述したステップＳ２０５の処理により、同様に、取得した先頭アドレスにオフセット０を加えた値を新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ１５３のデータを更新する。
【００４８】
このような更新処理により、稼働サーバ１０は、表データ１５を更新する際に、ビッグエンディアンデータ１５２及び、リトルエンディアンデータ１５３の両方を更新する。
【００４９】
次に、図７の参照処理を説明する。この参照処理において、まず、稼働サーバ１０のアプリケーション１８は、エンディアン格納部１１に格納されたエンディアン情報を読み出す（ステップＳ３０１）。つまり、自サーバが、ビッグエンディアンを採用しているのか、リトルエンディアンを採用しているのかを取得する。
【００５０】
次に、アプリケーション１８は、表データ１５の特定のデータを参照する場合に、そのデータの位置を指す間接ポインタを、アドレス変換部１３に渡す（ステップＳ３０２）。
【００５１】
次に、アドレス変換部１３は、エンディアン格納部１１から読み出したエンディアン情報と、アプリケーション１８から渡された間接ポインタを基に、自サーバが採用するエンディアンにおける対象ページの先頭アドレスを得る（ステップ３０３）。つまり、エンディアン情報により、ビッグエンディアンデータ１５２又はリトルエンディアンデータ１５３の何れかを判別し、間接ポインタに含まれるページ番号を基に、ページ管理テーブル１５１から、判別したエンディアンの対象ページの先頭アドレスを得る。
【００５２】
次に、アドレス変換部１３は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を参照対象データの物理アドレスとし、そのアドレスが指すデータを読み出す（ステップＳ３０４）。
【００５３】
このような参照処理における稼働サーバ１０の具体的な動作を図８を参照して説明する。
まず、上述したステップＳ３０１の処理により、図８に示すように、エンディアン格納部１１からビッグエンディアンを表すエンディアン情報を読み出す。
続いて、上述したステップＳ３０２の処理により、アプリケーション１８から間接ポインタＰ（ページ２，オフセット０）が、アドレス変換部１３に渡される。
続いて、稼働サーバ１０がビッグエンディアンを採用しており、また、間接ポインタＰによりページ２が示されているため、上述したステップＳ３０３の処理により、ページ管理テーブル１５１から、ビッグエンディアンデータ１５２のページ２の先頭アドレスを得る。
続いて、上述したステップＳ３０４の処理により、取得した先頭アドレスに、間接ポインタＰに示されるオフセット０を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ１５２のデータを読み出す。
【００５４】
このような参照処理により、稼働サーバ１０は、表データ１５を参照する際に、ビッグエンディアンデータ１５２のデータから対象のデータを読み出すため、データを正しくアクセスできる。
【００５５】
次に、稼働サーバ１０にて更新された最新の表データ１５をバックアップサーバ２０に転送する転送処理の動作について、図９，１０を参照して説明する。図９は、稼働サーバ１０及び、バックアップサーバ２０にて実行される転送処理を説明するためのフローチャートである。また、図１０は、転送処理の具体的な動作を説明するための模式図である。
なお、この転送処理は、一例として、稼働サーバ１０のアプリケーション１８からの要求に応じて開始される。
【００５６】
図９の転送処理において、まず、稼働サーバ１０のアプリケーション１８は、データ転送部１７に対して、それまでに更新された表データ１５をバックアップサーバ２０に転送するための要求を出す（ステップＳ４０１）。
【００５７】
次に、データ転送部１７は、アプリケーション１８から転送要求を受け取ると、メモリ１４上の表データ１５を、そのままバックアップサーバ２０のデータ転送部２７に転送する（ステップＳ４０２）。
【００５８】
次に、バックアップサーバ２０のデータ転送部２７が表データ１５を受け取ると、メモリ展開部２６が、転送された表データ１５の内容を、そのままメモリ２４上に表データ２５として展開する（ステップＳ４０３）。
【００５９】
次に、バックアップサーバ２０は、実際にメモリ２４上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル２５１に格納する（ステップＳ４０４）。つまり、ページ管理テーブル２５１における各ページの物理アドレス（先頭アドレス）だけを、実際に割り当てられたアドレスに書き換える。
【００６０】
このような転送処理における稼働サーバ１０及び、バックアップサーバ２０の具体的な動作を図１０を参照して説明する。
まず、上述したステップＳ４０１の処理により、図１０に示すように、稼働サーバ１０のアプリケーション１８からデータ転送部１７に対して転送が要求される。
続いて、上述したステップＳ４０２の処理により、表データ１５がバックアップサーバ２０に転送される。
続いて、上述したステップＳ４０３の処理により、転送された表データ１５の内容がバックアップサーバ２０のメモリ２４上に表データ２５としてそのまま展開される。
続いて、上述したステップＳ４０４の処理により、ページ管理テーブル２５１における各ページの先頭アドレスだけが、実際に割り当てられたアドレスに書き換えられる。
【００６１】
このような転送処理により、稼働サーバ１０にて更新された最新の表データ１５がバックアップサーバ２０へ転送され、メモリ２４上に表データ２５として展開される。
【００６２】
最後に、このような転送処理後に、バックアップサーバ２０が表データ２５をアクセスする処理（一例として、参照処理）の動作について、図１１，１２を参照して説明する。図１１は、バックアップサーバ２０にて実行される転送処理後の参照処理を説明するためのフローチャートである。また、図１２は、転送処理後の参照処理の具体的な動作を説明するための模式図である。
【００６３】
図１１の転送処理後の参照処理において、まず、バックアップサーバ２０のアプリケーション２８は、エンディアン格納部２１に格納されたエンディアン情報を読み出す（ステップＳ５０１）。つまり、自サーバが、ビッグエンディアンを採用しているのか、リトルエンディアンを採用しているのかを取得する。
【００６４】
次に、アプリケーション２８は、表データ２５の特定のデータを参照する場合に、そのデータ位置を指す間接ポインタを、アドレス変換部２３に渡す（ステップＳ５０２）。
【００６５】
次に、アドレス変換部２３は、エンディアン格納部２１から読み出したエンディアン情報と、アプリケーション２８から渡された間接ポインタを基に、自サーバが採用するエンディアンにおける対象ページの先頭アドレスを得る（ステップ５０３）。つまり、エンディアン情報により、ビッグエンディアンデータ２５２又はリトルエンディアンデータ２５３の何れかを判別し、間接ポインタに含まれるページ番号を基に、ページ管理テーブル２５１から、判別したエンディアンの対象ページの先頭アドレスを得る。
【００６６】
次に、アドレス変換部２３は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を参照対象データの物理アドレスとし、そのアドレスが指すデータを読み出す（ステップＳ５０４）。
【００６７】
このような転送処理後の参照処理におけるバックアップサーバ２０の具体的な動作を図１２を参照して説明する。
まず、上述したステップＳ５０１の処理により、図１２に示すように、エンディアン格納部２１からリトルエンディアンを示すエンディアン情報を読み出す。
続いて、上述したステップＳ５０２の処理により、アプリケーション２８から間接ポインタＰ（ページ２，オフセット０）が、アドレス変換部２３に渡される。
続いて、バックアップサーバ２０がリトルエンディアンを採用しており、また、間接ポインタＰによりページ２が示されているため、上述したステップＳ５０３の処理により、ページ管理テーブル２５１から、リトルエンディアンデータ２５３のページ２の先頭アドレスを得る。
続いて、上述したステップＳ５０４の処理により、取得した先頭アドレスに、間接ポインタＰに示されるオフセット０を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ２５３のデータを読み出す。
【００６８】
このような転送処理後の参照処理により、バックアップサーバ２０は、表データ２５を参照する際に、リトルエンディアンデータ１５３のデータから対象のデータを読み出すため、データを正しくアクセスできる。
【００６９】
なお、本発明のメモリデータベースシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した媒体（フレキシブルディスク、ＣＤ−ＲＯＭ等）から該プログラムをインストールすることにより、上述の処理を実行するメモリデータベースシステムを構成することができる。
【００７０】
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給してもよい。一例を挙げると、通信ネットワークの掲示板（ＢＢＳ）に当該プログラムを掲示し、これをネットワークを介して配信する。
そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００７１】
このような本願発明は、以下のような効果を有する。
本願発明の第１の効果は、ディスク上のファイルを、表データとしてメモリ上に展開するために要する時間を短縮できることである。その理由は、表データにおけるデータ同士の繋がりを常に一意の値である間接ポインタで表現することにより、表データの各ページをそのままメモリ上に展開（コピー）することを可能とし、かつ、ページ管理テーブルのアドレスを解決する（物理アドレスに書き換える）だけで済むためである。つまり、従来のように、毎回展開のたびに異なる物理アドレスで、表データ中に大量に存在するリンク情報を書き換える必要がなくなるためである。
【００７２】
本願発明の第２の効果は、バックアップサーバ等の他のサーバにおいても、表データを高速に展開可能とし、メモリ上に展開するために要する時間を短縮できることである。その理由は、間接ポインタを用いることで、バックアップサーバ上への表データの転送処理が、稼働サーバと同様に、表データ全体をそのまま転送した後に、ページ管理テーブルのアドレスを解決し直す（物理アドレスに書き換える）だけで済むためである。
【００７３】
本願発明の第３の効果は、アプリケーションから表データへのアクセス時に、稼働サーバ、バックアップサーバにかかわらず、そのサーバのエンディアンを意識せずにアクセスできる点である。その理由は、各エンディアンに対応した情報をページ管理テーブルに持たせることで、サーバが採用するエンディアンに応じて、システムが自動的に間接ポインタを適切な物理アドレスに変換することができるためである。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７５】
（付記１）
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
を備えることを特徴とするメモリデータベースシステム。
【００７６】
（付記２）
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、を更に備える、
ことを特徴とする付記１に記載のメモリデータベースシステム。
【００７７】
（付記３）
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記２に記載のメモリデータベースシステム。
【００７８】
（付記４）
前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
ことを特徴とする付記１乃至付記３の何れか１項に記載のメモリデータベースシステム。
【００７９】
（付記５）
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
を備える、
ことを特徴とするメモリデータベースシステム。
【００８０】
（付記６）
前記サーバは、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、を更に備える、
ことを特徴とする付記５に記載のメモリデータベースシステム。
【００８１】
（付記７）
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記６に記載のメモリデータベースシステム。
【００８２】
（付記８）
メモリデータベースシステムは、他のサーバを含んで構成され、
前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
ことを特徴とする付記５乃至付記７の何れか１項に記載のメモリデータベースシステム。
【００８３】
（付記９）
外部記憶部及び、主記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップを備える、
ことを特徴とする高速化方法。
【００８４】
（付記１０）
コンピュータを、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部、
前記表データを全て記憶可能な揮発性の主記憶部、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
として機能させることを特徴とするプログラム。
【産業上の利用可能性】
【００８５】
以上説明したように、表データのメモリ上への展開を高速に行うこと等のできるメモリデータベースシステム、高速化方法、および、プログラムを提供することができる。
【符号の説明】
【００８６】
１    メモリデータベースシステム
１０  稼働サーバ
２０  バックアップサーバ
１１，２１  エンディアン格納部
１２，２２  エンディアン読み出し部
１３，２３  アドレス変換部
１４，２４  メモリ
１５，２５  表データ
１６，２６  メモリ展開部
１７，２７  データ転送部
１８，２８  アプリケーション
３０  ディスク装置
３１  ファイル
【図１】
0005499781.tif 000002
【図２】
0005499781.tif 000003
【図３】
0005499781.tif 000004
【図４】
0005499781.tif 000005
【図５】
0005499781.tif 000006
【図６】
0005499781.tif 000007
【図７】
0005499781.tif 000008
【図８】
0005499781.tif 000009
【図９】
0005499781.tif 000010
【図１０】
0005499781.tif 000011
【図１１】
0005499781.tif 000012
【図１２】
0005499781.tif 000013
【図１３】
0005499781.tif 000014
【図１４】
0005499781.tif 000015
【図１５】
0005499781.tif 000016