コンテンツにスキップ

データベース保存

出典: フリー百科事典『ウィキペディア(Wikipedia)』

データベース保存(データベースほぞん)は通常、データの初期特性(文脈・内容・構造・外観・動作)を失うことなしに、技術変化に応じて、データベースに格納された情報を長期的にアクセス可能な形式へ変換することと関係する[1]

データベースの普及に伴い、データベースおよびそのコンテンツの保存を支援するさまざまな手法が開発されてきた。そうした手法は、データベースの特性や保存ニーズによって異なる[2]

データベースを保存するには基本的にマイグレーション、XML正規化、エミュレーションという3つの手法がある[1]。データベース保存の取り組みを支援するために、SIARD、Digital Preservation Toolkit、CHRONOS、RODAといったツール、ソフトウェア、プロジェクトがこれまで生み出されてきた。

データベースの特性

[編集]

データベースを保存しようとする際には、対象となるデータベース自体の特性を考慮しなければならない。関係データベースは、データをレコードに格納した表で構成され、それらの表はレコードに格納された共通のデータポイントを通じて互いに結びつけられる[3]。一方、ビッグデータの出現に伴い、新しくNoSQLデータベースが生まれてきた[4]。データベースは、開かれているか閉じられているか、静的か動的かといった点で整理できる。データベースが開かれたものとみなされる場合は、追加されるデータに対して開かれていることを意味する。データベースが閉じられたものとみなされる場合は、その逆を意味する(そのデータベースは完結したものであるため、新しいデータに対して閉じている)。データベースが静的であるとみなされるのは、最初に組み込まれたあとに編集や変更がなされていないレコードが含まれる場合である。一方、将来編集される可能性のあるレコードが含まれるのであれば、それは動的なデータベースとみなされる。データベースが開かれていて静的なものか、開かれていて動的なものか、閉じられていて静的なものか、あるいは閉じられていて動的なものかということによって、保存の方法が変わってくる。静的なデータベースよりも動的なものの方が、データが変化し続けるため保存が難しく、また、閉じられたデータベースよりも開かれたものの方が、データが追加され続けるため保存が難しい。データベースが頻繁に変更されればされるほど(レコード内での変更またはレコードの追加による変更により)、保存時には、その変更を捕捉する手順がより頻繁に発生することになる[2]

データベース保存の手法

[編集]

デジタル保存で核となる3つの手法は、データベースの保存にも適用可能である。それには、マイグレーション、XML正規化、エミュレーションが含まれる[1]

マイグレーション

[編集]

マイグレーションとは、旧式のデータベースプログラムから新しいフォーマットへデータを移行することである[3]。マイグレーションには、後方互換性、相互運用性、標準への変換という3つの方法がある。後方互換性とは、古いバージョンで作成されたファイルを新しいバージョンのソフトウェアやハードウェアを利用して開き、アクセスし、読むことである。相互運用性とは、複数のソフトウェアやハードウェアの組み合わせで特定のファイルにアクセスできるようにして、旧式化の可能性を減らすことである。標準への変換というのは、プロプライエタリなフォーマットから、オープンかつ容易にアクセス可能な広く使われているフォーマットへ移行することである[1]

XML正規化

[編集]

XML正規化とは、もとのデータベース情報をXML標準フォーマットに変換することである。フォーマットとしてのXMLは特定のハードウェアや(テキストエディタないしワープロソフト以外の)ソフトウェアを必要とせず、人間でも機械でも読むことが可能なもののため、保存・保管という目的からすると持続可能なフォーマットといえる[1]。しかし、データをXMLに変換すると、検索機能などのデータベースがもつ双方向的な機能は失われてしまう[3]

エミュレーション

[編集]

エミュレーションとは、古いコンピュータ環境を新しい技術やソフトウェアで再現することである。それにより、旧式化したソフトウェア、ハードウェア、ファイルフォーマットであっても、新しいシステム上で利用できるようになる。したがって、古いデータベースを、そのデータベースがもともと作成された環境を模倣したエミュレータ上で実行することが可能となる[1]

保存ツールおよび関連プロジェクト

[編集]

SIARD

[編集]

Software Independent Archiving of Relational Databases (SIARD) はスイス連邦公文書館により開発されたツールで、2007年にバージョン1.0が公表された。SIRADは、特定の事業者に依存しないフォーマットで関係データベースをアーカイブできるように設計されている。SIRADアーカイブは、ZIP形式のパッケージで、XMLとSQL:1999を基盤としている。SIRADファイルには、データベース内の内容データだけでなく、データベースの表構造とその関係を記録した機械処理可能な構造メタデータが含まれる。ZIPファイルには、データベース構造を記述したXMLファイル (metadata.xml) と、表ごとにまとめられたXMLファイルの集合(内容データ)がひとつ含まれる。SIRADアーカイブには、データベースの大規模オブジェクト(バイナリ・ラージ・オブジェクトキャラクタ・ラージ・オブジェクト)であるバイナリファイルやテキストファイルが含まれる場合もある。SIRADでは、ZIPツールを使って個々の表に直接アクセスできる。SIRADアーカイブは、実運用上のデータベースではなく、アーカイブされたデータベースを、SQL:1999に対応する別の関係データベース管理システムに再統合するものである。さらにSIRADでは、データベース自体に記録されていない記述・文脈メタデータをを追加したり、関連記録ファイルを同アーカイブ内に埋め込んだりすることにも対応している[5]。SIRADバージョン1.0は、2013年にスイス内で標準eCH-0165として承認された[6]

SIRAD保存フォーマットのバージョン2.0は、E-ARKプロジェクトの支援のもと、スイス連邦公文書館により設計・開発されている[7]。バージョン2.0はバージョン1.0をベースとしており、後方互換性のあるフォーマットを定義している。SQL:2008にも対応済み。

DBML (Database Markup Language)

[編集]

データベースのマークアップ言語。関係データベースから表データを抽出するためにつくられたXMLスキーマのこと。2007年に発表された[8]

CHRONOS

[編集]

CHRONOSはデータベース保存ツールとして機能するソフトウェア製品である[4]。これは2004年から2006年にかけて、CSP社がドイツのランツフート応用科学大学と共同で開発したものである[9]。CHRONOSはデータベース管理システムからデータを抽出し、それらデータをCHRONOSアーカイブにテキストファイルまたはXMLファイルとして格納する。したがってすべてのデータは、データベース管理システム (DBMS) やCHRONOS自体がなくても、プレーンテキストのフォーマットなので、アクセス可能かつ読み込み可能である。これにより、保存された静的なデータベースを読み込む目的のためだけにDBMSを維持管理する必要がなくなり、かつ、(潜在的にリスクをはらむ作業である)新しいデータベースフォーマットにデータベースファイルを移行する必要もなくなる[9]。CHRONOSではデータをプレーンテキストで保管するが、クエリ機能は関係データベースと同レベルと考えられている[4]

Repository of Authentic Digital Objects (RODA)

[編集]

RODA プロジェクトは、ポルトガル政府機関が作成したデジタルオブジェクトを保存するため、2006年にポルトガル国立公文書館が立ち上げたものである。このプロジェクトでは、数種類のデジタルオブジェクトを、(関係データベースを含む)ひとつのリポジトリに統合することが目的とされていた。さまざまな種類のデジタルオブジェクトをひとつのリポジトリとして管理することで、取り込んだオブジェクトの正規化、つまり、ドキュメントの保管に使用されるフォーマットの種類を最小限に抑え、同様のドキュメントを同様のフォーマットで保存することが目指されていた[10]

RODAプロジェクトでは、データベースをデジタルオブジェクトとして保存するための標準手法を開発することが重視された。データベース保存には、保存プロセスがデータ、構造(論理)、意味(インタフェイス)という3層に分かれているという点で独自の課題が伴う[11]。つまり、データベースのデータだけでなく、その構造と意味関係も保存される必要がある。それら3要素すべてを保存するために、RODAプロジェクトではデータベース保存ツールキット (Database Preservation Toolkit) が開発された[10]

Database Preservation Toolkit

[編集]

もともとRODAプロジェクトで開発された Database Preservation Toolkit (DBPTK) は、関係データベースを正規化されたフォーマットで取り込み、保存するための作業手順である。アーカイブされたデータベースを保存するとともに、それらへアクセスできるようにするために設計されたツールである。関係データベースを正規化するために、このツールを用いてデータをDBMLないしSIARDに変換する。どちらもXMLを使用しており、XMLは特定の、あるいはプロプライエタリなソフトウェアやハードウェアを必要としない標準フォーマットであるため、保存目的には最適といえる[10]

運用中のシステムへの接続を含め、このツールキットは、データベースのデジタル保存を目的として、さまざまなデータベースフォーマット間の変換を可能にする。つまり、運用中のデータベースやバックアップされたデータベースを(データベース保存向けに作成されたXMLベースのフォーマットである)SIARDなどの保存フォーマットに変換する。

関連項目

[編集]

脚注

[編集]
  1. ^ a b c d e f Digital Preservation Testbed. (2003) (PDF), From digital volatility to digital permanence: Preserving databases., ICTU Foundation., https://web.archive.org/web/20130531200744/http://en.nationaalarchief.nl/sites/default/files/docs/kennisbank/volatility-permanence-databases-en.pdf 
  2. ^ a b Ashley, K. (2004). “The preservation of databases.”. VINE 34 (2): 66-70. https://doi.org/10.1108/03055720410551075. 
  3. ^ a b c Brogan, Mark and Brown, Justin (PDF). Challenges in digital preservation: Relational databases. Citeseer. https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=0a0eb3727ad66b6663c138748db8abfef70c1339. 
  4. ^ a b c Lindley, A. (2013, September 3–5). Database preservation evaluation report - SIARD vs. CHRONOS: Preserving complex structures as databases through a record centric approach? [Paper presentation]. iPRES 2013 - 10th International Conference on Preservation of Digital Objects, Lisbon, Portugal. doi:10.13140/2.1.3272.8005.
  5. ^ SIARD (Software Independent Archiving of Relational Databases) Version 1.0” (30 May 2015). 2024年4月11日閲覧。
  6. ^ Bruggisser, H., Büchler, G., Dubois, A., Kaiser, M., Kansy, L., Lischer, M., Röthlisberger-Jourdan, C., Thomas, H., & Voss, A. (2015). eCH-0165 SIARD format specification 2.0 (draft). eCH E Government Standards. https://www.eark-project.com/resources/specificationdocs/32-specification-for-siard-format-v20/STAN_e_FINAL_2015-07-04_eCH-0165_V2%200_SIARD-Format.pdf
  7. ^ E-ARK Project”. 2024年4月11日閲覧。
  8. ^ Relational Database Preservation through XML modelling”. Extreme Markup Languages (August 7, 2007). April 16, 2017閲覧。
  9. ^ a b Brandl, S., & Keller-Marxer, P. (2007, March 23). Long-term archiving of relational databases with Chronos [Paper presentation]. First International Workshop on Database Preservation (PresDB'07), Edinburgh, Scotland. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.459.5158&rep=rep1&type=pdf
  10. ^ a b c Ramalho, José Carlos; Faria, Luis; Silva, Hélder; Coutada, Miguel (2014). Database Preservation Toolkit: a flexible tool to normalize and give access to databases. Biblioteca Nacional de Portugal (BNP). hdl:1822/35183. ISBN 978-972-565-541-2. https://hdl.handle.net/1822/35183. 
  11. ^ Ribeiro, C., & David, G. (2009, March 11). Database preservation. Digital Preservation Europe. https://digitalpreservationeurope.eu/publications/briefs/database_preservation_ribiero_david.pdf