この記事の文体やスタイルは、Wikipedia で使用されている百科事典的な文体を反映していない可能性があります。より良い記事を書くための ( 2026年1月) |
コンピュータサイエンスにおいて、スキーマのバージョン管理とスキーマの進化は、データベース構造の変化に直面しても、最新のデータとソフトウェアシステムの機能を維持する必要性に対処します。 [1] この問題はスキーマの変更に限定されません。実際には、特定のスキーマに格納されているデータと、そのスキーマに対して実行されるクエリ(ひいてはアプリケーション)にも影響を及ぼします。
データベース設計は「現状」のインスタンスとして作成される場合があり、スキーマの進化は考慮されません。(これはデータベースが属性の変動性を考慮しない「フリーサイズ」として設計される場合とは異なりますが、関連しています。)この想定は、従来の情報システムの文脈ではほとんど非現実的であり、大量の履歴情報を保持するシステムや、開発の分散化と協調性により、さらに強い変更圧力(従来の設定よりも39%から500%以上)にさらされるWeb情報システムなどの文脈では受け入れられません。[2]この歴史的背景により、2008年時点でのスキーマ進化のプロセスは特に困難なものとなっています。実際、アプリケーションのデータ管理コアは、進化させるのが最も困難で重要なコンポーネントの1つであることが広く認識されています。重要な問題は、スキーマ進化がクエリとアプリケーションに与える影響です。MediaWikiの進化の分析を提供している記事「Wikipediaのスキーマ進化 - Web情報システムベンチマークに向けて(2008年)」[3に記載されているように、各進化ステップはスキーマ上で動作するクエリの最大70%に影響を与える可能性があり、その結果、手動で再処理する必要があります。
2008年、この問題はデータベースコミュニティにおいて12年以上前から喫緊の課題として認識されていました。[4] [5]スキーマ進化のサポートは、スキーマバージョン間の複雑なマッピングを伴う困難な問題であり、ツールによるサポートはこれまで非常に限られていました。スキーマ進化の根底にある中核的な問題であるマッピング合成[6]とマッピング可逆性[7]に関する最近の理論的進歩は、一般の人々にとってほとんど理解できないままです。[なぜでしょうか? ]この問題は、特にテンポラルデータベースにおいて顕著です。[8]
関連作品
- スキーマ進化に関する豊富な参考文献は、http://se-pubs.dbs.uni-leipzig.de/pubs/results/taxonomy%3A100 に集められています。
- UCLA大学はMediaWikiスキーマ進化の分析を実施しました:スキーマ進化ベンチマーク
- PRISM、優雅なリレーショナルスキーマ進化をサポートするツール: Prism: スキーマ進化ツール
- PRIMA は、スキーマ進化の下でトランザクション時間データベースをサポートするツールです。PRIMA: スキーマ進化の下でトランザクション時間 DB をサポートします。
- Parioとdeltasql [9]は、完全に自動化されたスキーマ進化を含むソフトウェア開発ツールの例です。
参考文献
- ^ Roddick, John F. (1995). 「データベースシステムにおけるスキーマバージョン管理問題に関する調査」.情報ソフトウェア技術. 37 (7): 383– 393. CiteSeerX 10.1.1.54.8474 . doi :10.1016/0950-5849(95)91494-K.
- ^ 「スキーマ進化ベンチマーク - スキーマ進化」. yellowstone.cs.ucla.edu . 2010年7月29日閲覧。
- ^ Curino CA、Moon HJ、Tanca L、Zaniolo C (2008)。 Wikipedia のスキーマ進化: Web 情報システム ベンチマークに向けて(PDF)。アイスアイス。
- ^ Rahm E, Bernstein PA. 「スキーマ進化に関するオンライン文献」(PDF) 。 2008年5月12日時点のオリジナル(PDF)からアーカイブ。 2017年5月2日閲覧。
- ^ トポル、ロドニー;セーラム、ケネス。グプタ、アマルナス;合田一雄;ゲールケ、ヨハネス。パーマー、ナサニエル。シャラフ、モハメッド。ラブリニディス、アレクサンドロス。ロディック、ジョン F.ファックスマン、アリエル。ミラー、レネー・J.タン、ワンチウ;ケメンティエツィディス、アナスタシオス。フィリップ・ボネット。シャシャ、デニス。ロディック、ジョン F.グプタ、アマルナス;ロナルド・パイカート。ルーデッシャー、バートラム;バウワーズ、ショーン。マクフィリップス、ティモシー。ナウマン、ハラルド。ヴォルガンティ、カラダール。ドミンゴ・フェラー、ジョセップ。カータレット、ベン。イペイロティス、パナギオティス G.アレナス、マルセロ。マノロプロス、ヤニス。テオドリディス、ヤニス。他 (2009). 「スキーマのバージョン管理」.データベースシステム百科事典. Springer, Boston, MA. pp. 2499– 2502. doi :10.1007/978-0-387-39940-9_323. ISBN 978-0-387-35544-3。
- ^ Nash, Alan; Bernstein, Philip A.; Melnik, Sergey (2007). 「埋め込み依存関係によって与えられるマッピングの構成」. ACM Transactions on Database Systems . 32 : 4–es. CiteSeerX 10.1.1.534.3957 . doi :10.1145/1206049.1206053.
- ^ フェイギン R、コライティス PG、ポパ L、タン WC。 「スキーマ マッピングの準逆関数」(PDF)。
- ^ Roddick, John F.; Snodgrass, Richard T. (1995). 「スキーマのバージョン管理」. TSQL2 テンポラルクエリ言語. Springer International Series in Engineering and Computer Science. Springer, Boston, MA. pp. 427– 449. doi :10.1007/978-1-4615-2289-8_22. ISBN 9781461359661。
- ^ 「deltasql、データベース進化の制御」Deltasql開発チーム。2013年4月20日。 2019年2月8日閲覧。