JP5499781B2 - メモリデータベースシステム、高速化方法、および、プログラム - Google Patents

メモリデータベースシステム、高速化方法、および、プログラム Download PDF

Info

Publication number
JP5499781B2
JP5499781B2 JP2010048220A JP2010048220A JP5499781B2 JP 5499781 B2 JP5499781 B2 JP 5499781B2 JP 2010048220 A JP2010048220 A JP 2010048220A JP 2010048220 A JP2010048220 A JP 2010048220A JP 5499781 B2 JP5499781 B2 JP 5499781B2
Authority
JP
Japan
Prior art keywords
data
page
endian
storage unit
table data
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
JP2010048220A
Other languages
English (en)
Other versions
JP2011186545A (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 JP2010048220A priority Critical patent/JP5499781B2/ja
Publication of JP2011186545A publication Critical patent/JP2011186545A/ja
Application granted granted Critical
Publication of JP5499781B2 publication Critical patent/JP5499781B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、メモリデータベースシステム、高速化方法、および、プログラムに関する。
近年、サーバに搭載されるメモリ容量の増大化などに伴って、メモリ上に表データを全て展開して使用されるメモリデータベースが実現されている。このメモリデータベースでは、更新や参照などの表データへの処理において、ディスク・アクセスが発生しないため、極めて高速なデータ処理を可能としている。
このようなメモリデータベースを用いたシステム(メモリデータベースシステム)の先行技術として、ユーザによるデータ破壊を防ぐと共に、データアクセス性能の劣化や各種リソースの消費を最小限に抑えることのできる発明も開示されている。(例えば、特許文献1参照)。
特開2009−251853号公報 (第5−10頁、第1図)
上述したように、メモリデータベースでは、全ての表データをメモリ上に展開する必要がある。なお、サーバには、通常、揮発性のメモリが用いられており、システム起動時点でメモリ上のデータベースが空であるため、運用開始時に、メモリ上に表データを展開する必要がある。また、同様にメモリが揮発性であるという理由から、予期せずにサーバが停止してしまうと、メモリ上の全てのデータが消失してしまう。
そのため、一般的なメモリデータベースシステムでは、図13に示すような運用がなされていた。つまり、予め表データHをディスクD上に退避しておき、サーバSの運用開始時にディスクDからメモリM上に表データHを展開する(表データの展開)。また、サーバSの運用停止時には、更新された最新の表データHを、再度ディスクD上に退避する(表データの待避)。
ところで、従来、表データを構成する制御テーブル間のリンク(リンク情報)は、制御テーブルが確保されたアドレス(ポインタ)自身であるが、ディスク上への退避時とその後のメモリ上への展開時とでは、両者のアドレスが一致する保証はない。そのため、表データのメモリ上への展開時には、新たに割り当てられたアドレスを用いて、リンク情報を書き換える必要があった。
なお、このリンク情報は、表データの数や規模が増えるに連れて増大する。つまり、表データの数が多いほど、また、表データの規模が大きいほど、書き換え対象のリンク情報が多くなり、その書き換え処理に長時間を要することになる。
そのため、例えば、展開するメモリサイズが100GBクラスの大規模システムでは、運用開始時において、メモリ上への展開処理(リンク情報の書き換え処理等)に、多大な時間を要してしまうことが問題となっていた。
また、バックアップサーバを更に備えたメモリデータベースシステムも知られている。例えば、図14に示すように、稼動サーバKSに対してバックアップサーバBSを用意してメモリデータベースを冗長構成とすることで、システムの信頼性を高めることが行われている。
図14に示すメモリデータベースシステムでは、運用開始時に、ディスクDから稼働サーバKSのメモリM上に表データHを展開すること(表データの展開)に加えて、稼働サーバKSからバックアップサーバBSのメモリM上に表データHをコピー展開すること(表データの同期)が行われる。
そのため、このような構成のメモリデータベースシステムでは、さらに、バックアップサーバBSへのコピー展開処理にも多大な時間を要してしまうことが問題となっていた。
更に、昨今では、様々なアーキテクチャのプラットフォームが混在する環境が増えてきており、アーキテクチャの違いによりメモリ上へのデータ配置の順序(バイトオーダ)が異なる場合がある。このような、バイトオーダが異なるサーバ間で表データのバックアップが行われると、バックアップ先で表データに正しくアクセスできないという問題があった。
例えば、図15に示すように、稼働サーバKSが、ビッグエンディアン(バイト列を上位バイトからメモリMに配置)を採用し、一方、バックアップサーバBSが、リトルエンディアン(バイト列を下位バイトからメモリMに配置)を採用している場合等である。この場合、稼働サーバKSからバックアップサーバBSへ、単にバイト列を先頭から順に転送(ビッグエンディアンのまま転送)されると、バックアップサーバBSではアプリケーションAPからメモリM上の表データHに、正しくアクセスできなくなってしまうという問題があった。
そのため、これらの問題に対処すべく、表データをメモリ上に高速に展開することができ、また、エンディアンの種類が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセスできる技術が求められていた。
本発明は、このような課題を解決するためになされたもので、表データのメモリ上への展開を高速に行うことのできるメモリデータベースシステム、高速化方法、および、プログラムを提供することを目的とする。
また、本発明は、サーバ(稼働サーバ等)の表データを、他のサーバ(バックアップサーバ等)へ転送して展開する際にも、高速に行うことを目的とする。
また、本発明は、バイトオーダ(エンディアンの種類)が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセス可能とすることを目的とする。
本発明の第1の観点に係るメモリデータベースシステムは、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
とを特徴とする。
本発明の第2の観点に係るメモリデータベースシステムは、
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
本発明の第3の観点に係る高速化方法は、
外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
本発明の第4の観点に係るプログラムは、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ように機能させることを特徴とする。
本発明によれば、表データのメモリ上への展開を高速に行うことのできる。また、本発明によれば、サーバの表データを、他のサーバへ転送して展開する際にも、高速に行うことができる。また、本発明は、バイトオーダ(エンディアンの種類)が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセスできる。
本実施形態に係るメモリデータベースシステムの構成を示すブロック図である。 (a)がページ管理テーブルを説明するための模式図であり、(b)が各エンディアンデータを説明するための模式図であり、(c)が制御テーブルを説明するための模式図である。 本実施形態に係る初期展開処理を説明するためのフローチャートである。 初期展開処理の具体的な動作を説明するための模式図である。 本実施形態に係る更新処理を説明するためのフローチャートである。 更新処理の具体的な動作を説明するための模式図である。 本実施形態に係る参照処理を説明するためのフローチャートである。 参照処理の具体的な動作を説明するための模式図である。 本実施形態に係る転送処理を説明するためのフローチャートである。 転送処理の具体的な動作を説明するための模式図である。 本実施形態に係る転送処理後の参照処理を説明するためのフローチャートである。 転送処理後の参照処理の具体的な動作を説明するための模式図である。 従来のメモリデータベースシステムの動作を説明するための模式図である。 冗長構成とした従来のメモリデータベースシステムの動作を説明するための模式図である。 エンディアンの種類が異なるサーバが混在している従来のメモリデータベースシステムの問題を説明するための模式図である。
以下、本発明の実施形態について図面を参照して説明する。
なお、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、本発明の実施形態に係るメモリデータベースシステム1の概要構成を示す模式図である。以下、本図を参照して説明する。
図1に示すように、メモリデータベースシステム1は、稼働サーバ10と、バックアップサーバ20と、ディスク装置30とを含んで構成される。
なお、稼働サーバ10及び、バックアップサーバ20は、例えば、演算部(一例として、CPU:Central Processing Unit等)、記憶部(一例として、RAM:Random Access MemoryやROM:Read Only Memory等)、及び、通信部(一例として、NIC:Network Interface Card等)を有するコンピュータ等からなる。
また、稼働サーバ10と、バックアップサーバ20とは、所定のネットワーク(例えば、LAN:Local Area Network等)を介して接続されている。
更に、稼働サーバ10とディスク装置30とは、所定のインタフェース(例えば、SATA:Serial Advanced Technology Attachmentや、SCSI:Small Computer System Interface等)を介して接続されている。
稼働サーバ10は、エンディアン格納部11と、エンディアン読み出し部12と、アドレス変換部13と、メモリ14と、メモリ展開部16と、データ転送部17と、アプリケーション18とからなる。なお、メモリ14には、表データ15が展開される。
また、バックアップサーバ20は、エンディアン格納部21と、エンディアン読み出し部22と、アドレス変換部23と、メモリ24と、メモリ展開部26と、データ転送部27と、アプリケーション28とからなる。なお、メモリ24には、表データ25が展開される。
そして、ディスク装置30には、稼働サーバ10のメモリ14に展開されるデータ(表データ)がファイル31として格納されている。
以下、これらの構成について、説明する。
まず、稼働サーバ10の構成について、説明する。
エンディアン格納部11は、エンディアン読み出し部12が読み出したエンディアン情報を格納する。つまり、稼働サーバ10が、多バイトのデータ(バイト列)を上位バイトからメモリ14に配置するビッグエンディアンを採用しているか、又は、バイト列を下位バイトからメモリ14に配置するリトルエンディアンを採用しているかを示すエンディアン情報を格納する。
エンディアン読み出し部12は、稼働サーバ10が採用しているエンディアン(ビッグエンディアン又は、リトルエンディアン)を規定する情報(エンディアン情報)を読み出す。
アドレス変換部13は、間接ポインタを物理アドレスに変換する。つまり、アプリケーション18が、メモリ14上に展開された表データ15にアクセス(更新や参照)する際に、間接ポインタを物理アドレスに変換する。
メモリ14は、揮発性の主記憶部であり、表データ15が展開(格納)される。つまり、メモリ14は、ディスク装置30に格納されていたファイル31のデータを、表データ15として全て記憶できる容量を有している。
メモリ14に展開される表データ15は、ビッグエンディアン用のデータであるビッグエンディアンデータ152、リトルエンディアン用のデータであるリトルエンディアンデータ153、及び、各データのページを管理するためのページ管理テーブル151からなる。
具体的に、ページ管理テーブル151には、図2(a)に示すように、エンディアン(ビッグエンディアン又は、リトルエンディアン)、ページ番号、及び、先頭アドレスが含まれる。なお、先頭アドレスは、エンディアンとページ番号とに対応する物理アドレスを示すものであり、後述するように、ディスク装置30のファイル31が、表データ15としてメモリ14上に展開された際に、実際の物理アドレスに書き換えられる。
また、ビッグエンディアンデータ152及び、リトルエンディアンデータ153には、図2(b)に示すように、制御テーブルSTやデータDTが含まれる。この制御テーブルSTには、図2(c)に示すように、インデックスや間接ポインタが含まれており、データDT(ページ単位)におけるデータ位置を適宜指し示すことができるようになっている。なお、ビッグエンディアンデータ152及び、リトルエンディアンデータ153は、ファイル31の内容がそのまま展開されたものである。
図1に戻って、メモリ展開部16は、ディスク装置30から読み出したファイル31を、上述した表データ15としてメモリ14上に展開する。
具体的にメモリ展開部16は、上述したページ内の制御テーブルSTやデータDTについては、ファイル31の内容をそのままメモリ14に展開する。そして、上述したページ管理テーブル151における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
データ転送部17は、バックアップサーバ20との間でデータの受け渡しを行う。つまり、データ転送部17は、表データ15をバックアップサーバ20に転送する。
アプリケーション18は、メモリ14上に展開された表データ15にアクセス(更新や参照)するアクセス部となり得るソフトウェアである。
また、アプリケーション18は、上述したデータ転送部17を制御して、表データ15をバックアップサーバ20へ転送する。
次に、バックアップサーバ20の構成について、簡単に説明する。
エンディアン格納部21〜アプリケーション28は、上述した稼働サーバ10のエンディアン格納部11〜アプリケーション18と同様の構成である。
なお、メモリ展開部26は、稼働サーバ10から転送された表データ15を、表データ25としてメモリ24上に展開する。その際、メモリ展開部26は、上述した図2(a)〜(c)を参照して説明したメモリ展開部16と同様に、ページ内の制御テーブルSTやデータDTについては、表データ15の内容をそのままメモリ24に展開する。そして、ページ管理テーブル251における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
また、データ転送部27は、稼働サーバ10との間でデータの受け渡しを行う。つまり、データ転送部27は、稼働サーバ10から転送された表データ15を受信する。
最後に、ディスク装置30は、ハードディスク等の外部記憶部であり、上述した表データ15をファイル31として記憶している。
このような構成のメモリデータベースシステム1(稼働サーバ10やバックアップサーバ20)は、以下のような特徴を有している。
まず、メモリ14,24に展開された表データ15,25は、ページの集合で構成され、そのページを管理するためのページ管理テーブル151,251を含んでいる。このページ管理テーブル151,251には、エンディアンとページ番号に対応する先頭アドレス(展開時の物理アドレス)を含んでいる。
また、表データ15,25のビッグエンディアンデータ152,252及び、リトルエンディアンデータ153,253において、制御テーブルSTをページ内に作成し、その制御テーブルST上のリンク情報を全て間接ポインタ(ページ番号+ページ内オフセット)で表現している。
更に、異なるバイトオーダに対応できるよう、表データ15,25には、全てのページについて、同じ内容でエンディアンのみ異なるビッグエンディアンデータ152,252及び、リトルエンディアンデータ153,253が含まれている。
また、表データ15をメモリ14上に展開する際に、ファイル31の内容を全てそのまま展開し、ページ管理テーブル151上の各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
同様に、表データ15がバックアップサーバ20へ転送され、表データ25としてメモリ24上に展開する際にも、表データ15の内容を全てそのまま展開し、ページ管理テーブル251上の各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
そして、表データ15,25にアクセスするアプリケーション18,28は、指定した間接ポインタと自サーバのエンディアン情報(エンディアン格納部11,21のエンディアン情報)を基に、ページ管理テーブル151,251から物理アドレスを取得し、そのアドレスを用いてメモリ14,24上のデータにアクセスする。
以下、本発明の実施形態に係るメモリデータベースシステム1の動作について、図面を参照して説明する。
まず、表データ15,25をメモリ14,24上へ展開する初期展開処理の動作について、図3を参照して説明する。図3は、稼働サーバ10及び、バックアップサーバ20にて実行される初期展開処理を説明するためのフローチャートである。
なお、システム起動時等に、エンディアン格納部11,21には、エンディアン読み出し部12,22を介して自サーバのエンディアン情報が読み出され、結果が格納されているものとする。
図3の初期展開処理において、まず、稼働サーバ10は、ディスク装置30上のファイル31の内容を、そのままメモリ14上に表データ15として展開する(ステップS101)。
このとき、ファイル31には、リトルエンディアン用のデータ及び、ビッグエンディアン用のデータが両方とも格納されているため、メモリ14上には、リトルエンディアンデータ153及び、ビッグエンディアンデータ152として展開される。
次に、稼働サーバ10は、実際にメモリ14上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル151に格納する。(ステップS102)。つまり、稼働サーバ10は、ページ管理テーブル151における各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
次に、稼働サーバ10は、メモリ14上に展開された表データ15を、バックアップサーバ20にそのまま転送する(ステップS103)。つまり、データ転送部17,27により、表データ15の内容が、バックアップサーバ20に転送される。
すると、バックアップサーバ20は、転送された表データ15の内容を、そのままメモリ24上に表データ25として展開する。(ステップS104)。
このときも、表データ15には、リトルエンディアンデータ153及び、ビッグエンディアンデータ152が両方とも含まれているため、バックアップサーバ20のメモリ24上には、リトルエンディアンデータ253及び、ビッグエンディアンデータ252として展開される。
次に、バックアップサーバ20は、実際にメモリ24上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル251に格納する(ステップS105)。つまり、バックアップサーバ20も、ページ管理テーブル251における各ページの物理アドレス(先頭アドレス)だけを、実際に割り当てられたアドレスに書き換える。
このような初期展開処理における稼働サーバ10及び、バックアップサーバ20の動作を図4を参照して説明する。図4は、初期展開処理の具体的な動作を説明するための模式図である。
なお、稼働サーバ10は、ビッグエンディアンを採用し、また、バックアップサーバ20は、リトルエンディアンを採用しているものとする。そのため、図4に示すように、エンディアン格納部11には、ビッグエンディアンを示すエンディアン情報が格納され、また、エンディアン格納部21には、リトルエンディアンを示すエンディアン情報が格納されている。
まず、上述したステップS101の処理により、図4に示すように、ディスク装置30のファイル31の内容が、稼働サーバ10のメモリ14上に、表データ15としてそのまま展開される。つまり、メモリ14上には、ページ管理テーブル151、リトルエンディアンデータ153及び、ビッグエンディアンデータ152を含む表データ15が展開される。
続いて、上述したステップS102の処理により、ページ管理テーブル151における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
続いて、上述したステップS103の処理により、表データ15がバックアップサーバ20に転送される。
続いて、上述したステップS104の処理により、転送された表データ15の内容が、バックアップサーバ20のメモリ24上に、表データ25としてそのまま展開される。つまり、メモリ24上には、ページ管理テーブル251、リトルエンディアンデータ253及び、ビッグエンディアンデータ252を含む表データ25が展開される。
続いて、上述したステップS105の処理により、ページ管理テーブル251における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
このような初期展開処理が行われた後に、メモリデータベースシステム1は、運用を開始する。この運用時において、表データ15へアクセスする処理(更新処理及び、参照処理)の動作について、図5〜8を参照して説明する。図5は、稼働サーバ10にて実行される更新処理を説明するためのフローチャートであり、図6は、この更新処理の具体的な動作を説明するための模式図である。また、図7は、稼働サーバ10にて実行される参照処理を説明するためのフローチャートであり、図8は、この参照処理の具体的な動作を説明するための模式図である。
なお、以下、図5〜8を参照して、稼働サーバ10における表データ15へアクセスする処理について説明するが、バックアップサーバ20においても同様の処理が行われる。
まず、図5の更新処理を説明する。この更新処理において、まず、稼働サーバ10のアプリケーション18は、表データ15の特定のデータを更新する場合に、そのデータ位置を指す間接ポインタを、アドレス変換部13に渡す(ステップS201)。
次に、アドレス変換部13は、アプリケーション18から渡された間接ポインタを基に、ビッグエンディアンデータ152における対象ページの先頭アドレスを得る(ステップS202)。つまり、間接ポインタに含まれるページ番号を基に、ページ管理テーブル151から、ビッグエンディアンデータ152の対象ページの先頭アドレスを得る。
そして、アドレス変換部13は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを更新する(ステップS203)。
次に、アドレス変換部13は、同様に、間接ポインタを基に、リトルエンディアンデータ153における対象ページの先頭アドレスを得る(ステップS204)。
そして、アドレス変換部13は、同様に、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ153のデータを更新する(ステップS205)。
このような更新処理における稼働サーバ10の具体的な動作を図6を参照して説明する。
まず、上述したステップS201の処理により、図6に示すように、アプリケーション18から間接ポインタP(ページ2,オフセット0)が、アドレス変換部13に渡される。
続いて、上述したステップS202の処理により、間接ポインタPによりページ2が示されているため、ページ管理テーブル151から、ビッグエンディアンデータ152のページ2の先頭アドレスを得る。そして、上述したステップS203の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを更新する。
続いて、上述したステップS204の処理により、同様に、ページ管理テーブル151から、リトルエンディアンデータ153のページ2の先頭アドレスを得る。そして、上述したステップS205の処理により、同様に、取得した先頭アドレスにオフセット0を加えた値を新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ153のデータを更新する。
このような更新処理により、稼働サーバ10は、表データ15を更新する際に、ビッグエンディアンデータ152及び、リトルエンディアンデータ153の両方を更新する。
次に、図7の参照処理を説明する。この参照処理において、まず、稼働サーバ10のアプリケーション18は、エンディアン格納部11に格納されたエンディアン情報を読み出す(ステップS301)。つまり、自サーバが、ビッグエンディアンを採用しているのか、リトルエンディアンを採用しているのかを取得する。
次に、アプリケーション18は、表データ15の特定のデータを参照する場合に、そのデータの位置を指す間接ポインタを、アドレス変換部13に渡す(ステップS302)。
次に、アドレス変換部13は、エンディアン格納部11から読み出したエンディアン情報と、アプリケーション18から渡された間接ポインタを基に、自サーバが採用するエンディアンにおける対象ページの先頭アドレスを得る(ステップ303)。つまり、エンディアン情報により、ビッグエンディアンデータ152又はリトルエンディアンデータ153の何れかを判別し、間接ポインタに含まれるページ番号を基に、ページ管理テーブル151から、判別したエンディアンの対象ページの先頭アドレスを得る。
次に、アドレス変換部13は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を参照対象データの物理アドレスとし、そのアドレスが指すデータを読み出す(ステップS304)。
このような参照処理における稼働サーバ10の具体的な動作を図8を参照して説明する。
まず、上述したステップS301の処理により、図8に示すように、エンディアン格納部11からビッグエンディアンを表すエンディアン情報を読み出す。
続いて、上述したステップS302の処理により、アプリケーション18から間接ポインタP(ページ2,オフセット0)が、アドレス変換部13に渡される。
続いて、稼働サーバ10がビッグエンディアンを採用しており、また、間接ポインタPによりページ2が示されているため、上述したステップS303の処理により、ページ管理テーブル151から、ビッグエンディアンデータ152のページ2の先頭アドレスを得る。
続いて、上述したステップS304の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを読み出す。
このような参照処理により、稼働サーバ10は、表データ15を参照する際に、ビッグエンディアンデータ152のデータから対象のデータを読み出すため、データを正しくアクセスできる。
次に、稼働サーバ10にて更新された最新の表データ15をバックアップサーバ20に転送する転送処理の動作について、図9,10を参照して説明する。図9は、稼働サーバ10及び、バックアップサーバ20にて実行される転送処理を説明するためのフローチャートである。また、図10は、転送処理の具体的な動作を説明するための模式図である。
なお、この転送処理は、一例として、稼働サーバ10のアプリケーション18からの要求に応じて開始される。
図9の転送処理において、まず、稼働サーバ10のアプリケーション18は、データ転送部17に対して、それまでに更新された表データ15をバックアップサーバ20に転送するための要求を出す(ステップS401)。
次に、データ転送部17は、アプリケーション18から転送要求を受け取ると、メモリ14上の表データ15を、そのままバックアップサーバ20のデータ転送部27に転送する(ステップS402)。
次に、バックアップサーバ20のデータ転送部27が表データ15を受け取ると、メモリ展開部26が、転送された表データ15の内容を、そのままメモリ24上に表データ25として展開する(ステップS403)。
次に、バックアップサーバ20は、実際にメモリ24上に展開された各ページのアドレスを、エンディアン及びページ番号と対にして、ページ管理テーブル251に格納する(ステップS404)。つまり、ページ管理テーブル251における各ページの物理アドレス(先頭アドレス)だけを、実際に割り当てられたアドレスに書き換える。
このような転送処理における稼働サーバ10及び、バックアップサーバ20の具体的な動作を図10を参照して説明する。
まず、上述したステップS401の処理により、図10に示すように、稼働サーバ10のアプリケーション18からデータ転送部17に対して転送が要求される。
続いて、上述したステップS402の処理により、表データ15がバックアップサーバ20に転送される。
続いて、上述したステップS403の処理により、転送された表データ15の内容がバックアップサーバ20のメモリ24上に表データ25としてそのまま展開される。
続いて、上述したステップS404の処理により、ページ管理テーブル251における各ページの先頭アドレスだけが、実際に割り当てられたアドレスに書き換えられる。
このような転送処理により、稼働サーバ10にて更新された最新の表データ15がバックアップサーバ20へ転送され、メモリ24上に表データ25として展開される。
最後に、このような転送処理後に、バックアップサーバ20が表データ25をアクセスする処理(一例として、参照処理)の動作について、図11,12を参照して説明する。図11は、バックアップサーバ20にて実行される転送処理後の参照処理を説明するためのフローチャートである。また、図12は、転送処理後の参照処理の具体的な動作を説明するための模式図である。
図11の転送処理後の参照処理において、まず、バックアップサーバ20のアプリケーション28は、エンディアン格納部21に格納されたエンディアン情報を読み出す(ステップS501)。つまり、自サーバが、ビッグエンディアンを採用しているのか、リトルエンディアンを採用しているのかを取得する。
次に、アプリケーション28は、表データ25の特定のデータを参照する場合に、そのデータ位置を指す間接ポインタを、アドレス変換部23に渡す(ステップS502)。
次に、アドレス変換部23は、エンディアン格納部21から読み出したエンディアン情報と、アプリケーション28から渡された間接ポインタを基に、自サーバが採用するエンディアンにおける対象ページの先頭アドレスを得る(ステップ503)。つまり、エンディアン情報により、ビッグエンディアンデータ252又はリトルエンディアンデータ253の何れかを判別し、間接ポインタに含まれるページ番号を基に、ページ管理テーブル251から、判別したエンディアンの対象ページの先頭アドレスを得る。
次に、アドレス変換部23は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を参照対象データの物理アドレスとし、そのアドレスが指すデータを読み出す(ステップS504)。
このような転送処理後の参照処理におけるバックアップサーバ20の具体的な動作を図12を参照して説明する。
まず、上述したステップS501の処理により、図12に示すように、エンディアン格納部21からリトルエンディアンを示すエンディアン情報を読み出す。
続いて、上述したステップS502の処理により、アプリケーション28から間接ポインタP(ページ2,オフセット0)が、アドレス変換部23に渡される。
続いて、バックアップサーバ20がリトルエンディアンを採用しており、また、間接ポインタPによりページ2が示されているため、上述したステップS503の処理により、ページ管理テーブル251から、リトルエンディアンデータ253のページ2の先頭アドレスを得る。
続いて、上述したステップS504の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ253のデータを読み出す。
このような転送処理後の参照処理により、バックアップサーバ20は、表データ25を参照する際に、リトルエンディアンデータ153のデータから対象のデータを読み出すため、データを正しくアクセスできる。
なお、本発明のメモリデータベースシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した媒体(フレキシブルディスク、CD−ROM等)から該プログラムをインストールすることにより、上述の処理を実行するメモリデータベースシステムを構成することができる。
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給してもよい。一例を挙げると、通信ネットワークの掲示板(BBS)に当該プログラムを掲示し、これをネットワークを介して配信する。
そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
このような本願発明は、以下のような効果を有する。
本願発明の第1の効果は、ディスク上のファイルを、表データとしてメモリ上に展開するために要する時間を短縮できることである。その理由は、表データにおけるデータ同士の繋がりを常に一意の値である間接ポインタで表現することにより、表データの各ページをそのままメモリ上に展開(コピー)することを可能とし、かつ、ページ管理テーブルのアドレスを解決する(物理アドレスに書き換える)だけで済むためである。つまり、従来のように、毎回展開のたびに異なる物理アドレスで、表データ中に大量に存在するリンク情報を書き換える必要がなくなるためである。
本願発明の第2の効果は、バックアップサーバ等の他のサーバにおいても、表データを高速に展開可能とし、メモリ上に展開するために要する時間を短縮できることである。その理由は、間接ポインタを用いることで、バックアップサーバ上への表データの転送処理が、稼働サーバと同様に、表データ全体をそのまま転送した後に、ページ管理テーブルのアドレスを解決し直す(物理アドレスに書き換える)だけで済むためである。
本願発明の第3の効果は、アプリケーションから表データへのアクセス時に、稼働サーバ、バックアップサーバにかかわらず、そのサーバのエンディアンを意識せずにアクセスできる点である。その理由は、各エンディアンに対応した情報をページ管理テーブルに持たせることで、サーバが採用するエンディアンに応じて、システムが自動的に間接ポインタを適切な物理アドレスに変換することができるためである。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
を備えることを特徴とするメモリデータベースシステム。
(付記2)
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、を更に備える、
ことを特徴とする付記1に記載のメモリデータベースシステム。
(付記3)
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記2に記載のメモリデータベースシステム。
(付記4)
前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
ことを特徴とする付記1乃至付記3の何れか1項に記載のメモリデータベースシステム。
(付記5)
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
を備える、
ことを特徴とするメモリデータベースシステム。
(付記6)
前記サーバは、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、を更に備える、
ことを特徴とする付記5に記載のメモリデータベースシステム。
(付記7)
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記6に記載のメモリデータベースシステム。
(付記8)
メモリデータベースシステムは、他のサーバを含んで構成され、
前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
ことを特徴とする付記5乃至付記7の何れか1項に記載のメモリデータベースシステム。
(付記9)
外部記憶部及び、主記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップを備える、
ことを特徴とする高速化方法。
(付記10)
コンピュータを、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部、
前記表データを全て記憶可能な揮発性の主記憶部、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
として機能させることを特徴とするプログラム。
以上説明したように、表データのメモリ上への展開を高速に行うこと等のできるメモリデータベースシステム、高速化方法、および、プログラムを提供することができる。
1 メモリデータベースシステム
10 稼働サーバ
20 バックアップサーバ
11,21 エンディアン格納部
12,22 エンディアン読み出し部
13,23 アドレス変換部
14,24 メモリ
15,25 表データ
16,26 メモリ展開部
17,27 データ転送部
18,28 アプリケーション
30 ディスク装置
31 ファイル

Claims (6)

  1. ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
    前記表データを全て記憶可能な揮発性の主記憶部と、
    前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
    データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
    前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
    前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
    前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
    前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
    前記間接ポインタは、ページ番号とページ内オフセットからなり、
    前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
    とを特徴とするメモリデータベースシステム。
  2. 前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
    ことを特徴とする請求項1に記載のメモリデータベースシステム。
  3. ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
    前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
    前記サーバは、
    前記表データを全て記憶可能な揮発性のメモリと、
    前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
    データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
    前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
    前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
    前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
    前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
    前記間接ポインタは、ページ番号とページ内オフセットからなり、
    前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
    ことを特徴とするメモリデータベースシステム。
  4. メモリデータベースシステムは、他のサーバを含んで構成され、
    前記サーバは、前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
    前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
    ことを特徴とする請求項3に記載のメモリデータベースシステム。
  5. 外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
    前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
    前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
    前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
    前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
    前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
    前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
    データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
    前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
    前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
    ことを特徴とする高速化方法。
  6. ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
    記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
    データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
    前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
    前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
    ように機能させることを特徴とするプログラム。
JP2010048220A 2010-03-04 2010-03-04 メモリデータベースシステム、高速化方法、および、プログラム Expired - Fee Related JP5499781B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010048220A JP5499781B2 (ja) 2010-03-04 2010-03-04 メモリデータベースシステム、高速化方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010048220A JP5499781B2 (ja) 2010-03-04 2010-03-04 メモリデータベースシステム、高速化方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2011186545A JP2011186545A (ja) 2011-09-22
JP5499781B2 true JP5499781B2 (ja) 2014-05-21

Family

ID=44792764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010048220A Expired - Fee Related JP5499781B2 (ja) 2010-03-04 2010-03-04 メモリデータベースシステム、高速化方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP5499781B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807065A (zh) * 2019-10-30 2020-02-18 浙江大华技术股份有限公司 内存表的实现方法、存储器和分布式数据库的数据节点

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201352A (ja) * 1985-03-04 1986-09-06 Nippon Telegr & Teleph Corp <Ntt> デ−タベ−スシステムのメモリ管理方式
JPH02132534A (ja) * 1988-11-14 1990-05-22 Hitachi Ltd データベースの主記憶常駐化方式
JPH03113548A (ja) * 1989-09-27 1991-05-14 Yokogawa Electric Corp 拡張メモリ制御装置
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
JPH08272696A (ja) * 1995-03-31 1996-10-18 Toshiba Corp 情報処理装置及びメモリ内容回復方法
JPH0997211A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd バス制御装置、及びバス制御装置を含む情報処理装置
JPH09311813A (ja) * 1996-05-24 1997-12-02 Mitsubishi Electric Corp オペレーティングシステムのメモリ管理装置
JPH10293710A (ja) * 1997-02-20 1998-11-04 Fujitsu Ltd オブジェクト記憶管理システムおよび実行プログラムを記録した媒体
JP2004355432A (ja) * 2003-05-30 2004-12-16 Canon Inc エンディアン変換回路

Also Published As

Publication number Publication date
JP2011186545A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
US20220129374A1 (en) Memory system, data storage device, user device and data management method thereof
US10983955B2 (en) Data unit cloning in memory-based file systems
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
WO2016082196A1 (zh) 文件访问方法、装置及存储设备
WO2011033600A1 (ja) 仮想記憶管理装置
WO2016082191A1 (zh) 访问文件的方法和装置
JP2005182781A (ja) バックアッププロセスのチェックポイント状態の永続メモリデバイス
JP2000305839A (ja) 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US11509716B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
US11516287B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
EP3446221A1 (en) Adapted block translation table (btt)
JP5499781B2 (ja) メモリデータベースシステム、高速化方法、および、プログラム
EP2434402A2 (en) Method and device for multithread to access multiple copies
JP4567966B2 (ja) エミュレーションシステムおよびエミュレーション方法
US9158701B2 (en) Process-specific views of large frame pages with variable granularity
KR101920474B1 (ko) 인메모리 가상 데스크탑 시스템
US9535796B2 (en) Method, apparatus and computer for data operation
JP2007233838A (ja) メモリシステムの制御方法
WO2015162717A1 (ja) 計算機
CN114490540A (zh) 数据存储方法、介质、装置和计算设备
CN112860595A (zh) Pci设备或pcie设备、数据存取方法及相关组件
JP7184424B2 (ja) 更新処理装置、更新処理方法、及びプログラム
JP5608551B2 (ja) 仮想マシンシステム、及びその制御方法
JP5520462B2 (ja) メモリ管理サーバ、方法及びプログラム
JP5627754B2 (ja) 仮想記憶管理装置及び記憶管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5499781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees