JP5499781B2 - メモリデータベースシステム、高速化方法、および、プログラム - Google Patents
メモリデータベースシステム、高速化方法、および、プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
そのため、一般的なメモリデータベースシステムでは、図13に示すような運用がなされていた。つまり、予め表データHをディスクD上に退避しておき、サーバSの運用開始時にディスクDからメモリM上に表データHを展開する(表データの展開)。また、サーバSの運用停止時には、更新された最新の表データHを、再度ディスクD上に退避する(表データの待避)。
なお、このリンク情報は、表データの数や規模が増えるに連れて増大する。つまり、表データの数が多いほど、また、表データの規模が大きいほど、書き換え対象のリンク情報が多くなり、その書き換え処理に長時間を要することになる。
そのため、例えば、展開するメモリサイズが100GBクラスの大規模システムでは、運用開始時において、メモリ上への展開処理(リンク情報の書き換え処理等)に、多大な時間を要してしまうことが問題となっていた。
図14に示すメモリデータベースシステムでは、運用開始時に、ディスクDから稼働サーバKSのメモリM上に表データHを展開すること(表データの展開)に加えて、稼働サーバKSからバックアップサーバBSのメモリM上に表データHをコピー展開すること(表データの同期)が行われる。
そのため、このような構成のメモリデータベースシステムでは、さらに、バックアップサーバBSへのコピー展開処理にも多大な時間を要してしまうことが問題となっていた。
例えば、図15に示すように、稼働サーバKSが、ビッグエンディアン(バイト列を上位バイトからメモリMに配置)を採用し、一方、バックアップサーバBSが、リトルエンディアン(バイト列を下位バイトからメモリMに配置)を採用している場合等である。この場合、稼働サーバKSからバックアップサーバBSへ、単にバイト列を先頭から順に転送(ビッグエンディアンのまま転送)されると、バックアップサーバBSではアプリケーションAPからメモリM上の表データHに、正しくアクセスできなくなってしまうという問題があった。
また、本発明は、サーバ(稼働サーバ等)の表データを、他のサーバ(バックアップサーバ等)へ転送して展開する際にも、高速に行うことを目的とする。
また、本発明は、バイトオーダ(エンディアンの種類)が異なるサーバが混在していても、それぞれのサーバで表データに正しくアクセス可能とすることを目的とする。
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする。
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ように機能させることを特徴とする。
なお、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
なお、稼働サーバ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等)を介して接続されている。
また、バックアップサーバ20は、エンディアン格納部21と、エンディアン読み出し部22と、アドレス変換部23と、メモリ24と、メモリ展開部26と、データ転送部27と、アプリケーション28とからなる。なお、メモリ24には、表データ25が展開される。
そして、ディスク装置30には、稼働サーバ10のメモリ14に展開されるデータ(表データ)がファイル31として格納されている。
以下、これらの構成について、説明する。
エンディアン格納部11は、エンディアン読み出し部12が読み出したエンディアン情報を格納する。つまり、稼働サーバ10が、多バイトのデータ(バイト列)を上位バイトからメモリ14に配置するビッグエンディアンを採用しているか、又は、バイト列を下位バイトからメモリ14に配置するリトルエンディアンを採用しているかを示すエンディアン情報を格納する。
メモリ14に展開される表データ15は、ビッグエンディアン用のデータであるビッグエンディアンデータ152、リトルエンディアン用のデータであるリトルエンディアンデータ153、及び、各データのページを管理するためのページ管理テーブル151からなる。
また、ビッグエンディアンデータ152及び、リトルエンディアンデータ153には、図2(b)に示すように、制御テーブルSTやデータDTが含まれる。この制御テーブルSTには、図2(c)に示すように、インデックスや間接ポインタが含まれており、データDT(ページ単位)におけるデータ位置を適宜指し示すことができるようになっている。なお、ビッグエンディアンデータ152及び、リトルエンディアンデータ153は、ファイル31の内容がそのまま展開されたものである。
具体的にメモリ展開部16は、上述したページ内の制御テーブルSTやデータDTについては、ファイル31の内容をそのままメモリ14に展開する。そして、上述したページ管理テーブル151における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
また、アプリケーション18は、上述したデータ転送部17を制御して、表データ15をバックアップサーバ20へ転送する。
エンディアン格納部21〜アプリケーション28は、上述した稼働サーバ10のエンディアン格納部11〜アプリケーション18と同様の構成である。
なお、メモリ展開部26は、稼働サーバ10から転送された表データ15を、表データ25としてメモリ24上に展開する。その際、メモリ展開部26は、上述した図2(a)〜(c)を参照して説明したメモリ展開部16と同様に、ページ内の制御テーブルSTやデータDTについては、表データ15の内容をそのままメモリ24に展開する。そして、ページ管理テーブル251における各先頭アドレスだけを、実際に割り当てられた物理アドレスの値に書き換える。
まず、メモリ14,24に展開された表データ15,25は、ページの集合で構成され、そのページを管理するためのページ管理テーブル151,251を含んでいる。このページ管理テーブル151,251には、エンディアンとページ番号に対応する先頭アドレス(展開時の物理アドレス)を含んでいる。
また、表データ15,25のビッグエンディアンデータ152,252及び、リトルエンディアンデータ153,253において、制御テーブルSTをページ内に作成し、その制御テーブルST上のリンク情報を全て間接ポインタ(ページ番号+ページ内オフセット)で表現している。
更に、異なるバイトオーダに対応できるよう、表データ15,25には、全てのページについて、同じ内容でエンディアンのみ異なるビッグエンディアンデータ152,252及び、リトルエンディアンデータ153,253が含まれている。
同様に、表データ15がバックアップサーバ20へ転送され、表データ25としてメモリ24上に展開する際にも、表データ15の内容を全てそのまま展開し、ページ管理テーブル251上の各ページの先頭アドレスだけを、実際に割り当てられた物理アドレスに書き換える。
そして、表データ15,25にアクセスするアプリケーション18,28は、指定した間接ポインタと自サーバのエンディアン情報(エンディアン格納部11,21のエンディアン情報)を基に、ページ管理テーブル151,251から物理アドレスを取得し、そのアドレスを用いてメモリ14,24上のデータにアクセスする。
まず、表データ15,25をメモリ14,24上へ展開する初期展開処理の動作について、図3を参照して説明する。図3は、稼働サーバ10及び、バックアップサーバ20にて実行される初期展開処理を説明するためのフローチャートである。
なお、システム起動時等に、エンディアン格納部11,21には、エンディアン読み出し部12,22を介して自サーバのエンディアン情報が読み出され、結果が格納されているものとする。
このとき、ファイル31には、リトルエンディアン用のデータ及び、ビッグエンディアン用のデータが両方とも格納されているため、メモリ14上には、リトルエンディアンデータ153及び、ビッグエンディアンデータ152として展開される。
このときも、表データ15には、リトルエンディアンデータ153及び、ビッグエンディアンデータ152が両方とも含まれているため、バックアップサーバ20のメモリ24上には、リトルエンディアンデータ253及び、ビッグエンディアンデータ252として展開される。
なお、稼働サーバ10は、ビッグエンディアンを採用し、また、バックアップサーバ20は、リトルエンディアンを採用しているものとする。そのため、図4に示すように、エンディアン格納部11には、ビッグエンディアンを示すエンディアン情報が格納され、また、エンディアン格納部21には、リトルエンディアンを示すエンディアン情報が格納されている。
続いて、上述したステップS102の処理により、ページ管理テーブル151における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
続いて、上述したステップS103の処理により、表データ15がバックアップサーバ20に転送される。
続いて、上述したステップS105の処理により、ページ管理テーブル251における各ページの先頭アドレスだけが、実際に割り当てられた物理アドレスに書き換えられる。
なお、以下、図5〜8を参照して、稼働サーバ10における表データ15へアクセスする処理について説明するが、バックアップサーバ20においても同様の処理が行われる。
そして、アドレス変換部13は、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを更新する(ステップS203)。
そして、アドレス変換部13は、同様に、取得した先頭アドレスに、間接ポインタに含まれるオフセットを加えた値を更新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ153のデータを更新する(ステップS205)。
まず、上述したステップS201の処理により、図6に示すように、アプリケーション18から間接ポインタP(ページ2,オフセット0)が、アドレス変換部13に渡される。
続いて、上述したステップS202の処理により、間接ポインタPによりページ2が示されているため、ページ管理テーブル151から、ビッグエンディアンデータ152のページ2の先頭アドレスを得る。そして、上述したステップS203の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、更新対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを更新する。
続いて、上述したステップS204の処理により、同様に、ページ管理テーブル151から、リトルエンディアンデータ153のページ2の先頭アドレスを得る。そして、上述したステップS205の処理により、同様に、取得した先頭アドレスにオフセット0を加えた値を新対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ153のデータを更新する。
まず、上述したステップS301の処理により、図8に示すように、エンディアン格納部11からビッグエンディアンを表すエンディアン情報を読み出す。
続いて、上述したステップS302の処理により、アプリケーション18から間接ポインタP(ページ2,オフセット0)が、アドレス変換部13に渡される。
続いて、稼働サーバ10がビッグエンディアンを採用しており、また、間接ポインタPによりページ2が示されているため、上述したステップS303の処理により、ページ管理テーブル151から、ビッグエンディアンデータ152のページ2の先頭アドレスを得る。
続いて、上述したステップS304の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すビッグエンディアンデータ152のデータを読み出す。
なお、この転送処理は、一例として、稼働サーバ10のアプリケーション18からの要求に応じて開始される。
まず、上述したステップS401の処理により、図10に示すように、稼働サーバ10のアプリケーション18からデータ転送部17に対して転送が要求される。
続いて、上述したステップS402の処理により、表データ15がバックアップサーバ20に転送される。
続いて、上述したステップS403の処理により、転送された表データ15の内容がバックアップサーバ20のメモリ24上に表データ25としてそのまま展開される。
続いて、上述したステップS404の処理により、ページ管理テーブル251における各ページの先頭アドレスだけが、実際に割り当てられたアドレスに書き換えられる。
まず、上述したステップS501の処理により、図12に示すように、エンディアン格納部21からリトルエンディアンを示すエンディアン情報を読み出す。
続いて、上述したステップS502の処理により、アプリケーション28から間接ポインタP(ページ2,オフセット0)が、アドレス変換部23に渡される。
続いて、バックアップサーバ20がリトルエンディアンを採用しており、また、間接ポインタPによりページ2が示されているため、上述したステップS503の処理により、ページ管理テーブル251から、リトルエンディアンデータ253のページ2の先頭アドレスを得る。
続いて、上述したステップS504の処理により、取得した先頭アドレスに、間接ポインタPに示されるオフセット0を加えた値を、参照対象データの物理アドレスとし、そのアドレスが指すリトルエンディアンデータ253のデータを読み出す。
そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
本願発明の第1の効果は、ディスク上のファイルを、表データとしてメモリ上に展開するために要する時間を短縮できることである。その理由は、表データにおけるデータ同士の繋がりを常に一意の値である間接ポインタで表現することにより、表データの各ページをそのままメモリ上に展開(コピー)することを可能とし、かつ、ページ管理テーブルのアドレスを解決する(物理アドレスに書き換える)だけで済むためである。つまり、従来のように、毎回展開のたびに異なる物理アドレスで、表データ中に大量に存在するリンク情報を書き換える必要がなくなるためである。
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
を備えることを特徴とするメモリデータベースシステム。
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、を更に備える、
ことを特徴とする付記1に記載のメモリデータベースシステム。
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記2に記載のメモリデータベースシステム。
前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
ことを特徴とする付記1乃至付記3の何れか1項に記載のメモリデータベースシステム。
ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
を備える、
ことを特徴とするメモリデータベースシステム。
前記サーバは、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、を更に備える、
ことを特徴とする付記5に記載のメモリデータベースシステム。
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部を更に備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする付記6に記載のメモリデータベースシステム。
メモリデータベースシステムは、他のサーバを含んで構成され、
前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
ことを特徴とする付記5乃至付記7の何れか1項に記載のメモリデータベースシステム。
外部記憶部及び、主記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップを備える、
ことを特徴とする高速化方法。
コンピュータを、
ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部、
前記表データを全て記憶可能な揮発性の主記憶部、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
として機能させることを特徴とするプログラム。
10 稼働サーバ
20 バックアップサーバ
11,21 エンディアン格納部
12,22 エンディアン読み出し部
13,23 アドレス変換部
14,24 メモリ
15,25 表データ
16,26 メモリ展開部
17,27 データ転送部
18,28 アプリケーション
30 ディスク装置
31 ファイル
Claims (6)
- ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データを記憶する外部記憶部と、
前記表データを全て記憶可能な揮発性の主記憶部と、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部と、
データ位置を指し示す間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部と、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部と、
前記主記憶部におけるデータ列の配置を規定するエンディアン情報を記憶する情報記憶部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とするメモリデータベースシステム。 - 前記主記憶部に展開された前記表データを、そのまま他の装置に転送する転送部を更に備える、
ことを特徴とする請求項1に記載のメモリデータベースシステム。 - ディスク装置及びサーバから構成されるメモリデータベースシステムであって、
前記ディスク装置は、ページの集合で構成される表データであり、当該ページを管理するページ管理テーブルを含んだ表データを格納し、
前記サーバは、
前記表データを全て記憶可能な揮発性のメモリと、
前記ディスク装置に格納されている前記表データを前記メモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換えるメモリ展開部と、
データ位置を指し示す間接ポインタを、前記メモリに展開された前記表データの物理アドレスに変換するアドレス変換部と、
前記アドレス変換部により変換された前記物理アドレスに基づいて、前記メモリに展開された前記表データにアクセスするアプリケーションと、
前記メモリにおけるデータ列の配置を規定するエンディアン情報を格納するエンディアン格納部と、を備え、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記ページ管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記間接ポインタは、ページ番号とページ内オフセットからなり、
前記アドレス変換部は、前記アプリケーションがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アプリケーションがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とするメモリデータベースシステム。 - メモリデータベースシステムは、他のサーバを含んで構成され、
前記サーバは、前記メモリに展開された前記表データを、そのまま前記他のサーバに転送する転送部を更に備え、
前記他のサーバは、転送された前記表データを自己のメモリにそのまま展開し、当該展開後の物理アドレスに基づいて前記ページ管理テーブルだけを書き換える、
ことを特徴とする請求項3に記載のメモリデータベースシステム。 - 外部記憶部、主記憶部、及び、情報記憶部を有するメモリデータベースシステムにおける高速化方法であって、
前記外部記憶部には、ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶されており、
前記主記憶部は、前記表データを全て記憶可能な揮発性のメモリからなり、
前記情報記憶部には、前記主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶されており、
前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、
前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれており、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開ステップと、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換ステップと、
前記変換ステップにて変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセスステップと、を備え、
前記変換ステップは、前記アクセスステップがデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセスステップがデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ことを特徴とする高速化方法。 - ページの集合で構成される表データであり、当該ページを管理する管理テーブルを含んだ表データが記憶された外部記憶部、当該表データを全て記憶可能な揮発性の主記憶部、及び、当該主記憶部におけるデータ列の配置を規定するエンディアン情報が記憶された情報記憶部を有するコンピュータであって、前記表データには、複数種類のエンディアンに対応したデータがそれぞれ含まれており、前記管理テーブルには、エンディアンとページ番号に対応した物理アドレスが含まれているコンピュータを、
前記外部記憶部に記憶される前記表データを前記主記憶部にそのまま展開し、当該展開後の物理アドレスに基づいて前記管理テーブルだけを書き換える展開部、
データ位置を指し示す、ページ番号とページ内オフセットからなる間接ポインタを、前記主記憶部に展開された前記表データの物理アドレスに変換する変換部、
前記変換部により変換された前記物理アドレスに基づいて、前記主記憶部に展開された前記表データにアクセスするアクセス部、として機能させ、
前記変換部は、前記アクセス部がデータ更新する際に、各エンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスにそれぞれ変換し、前記アクセス部がデータ参照する際に、前記エンディアン情報にて示されるエンディアンに対応したページの先頭アドレスに前記ページ内オフセットを加えた物理アドレスに変換する、
ように機能させることを特徴とするプログラム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807065A (zh) * | 2019-10-30 | 2020-02-18 | 浙江大华技术股份有限公司 | 内存表的实现方法、存储器和分布式数据库的数据节点 |
Family Cites Families (9)
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 | エンディアン変換回路 |
-
2010
- 2010-03-04 JP JP2010048220A patent/JP5499781B2/ja not_active Expired - Fee Related
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 |