アンカーモデリング

アンカーモデリングの概念を示す図

アンカーモデリングは、構造と内容の両方が時間の経過とともに変化する情報に適した、アジャイルな データベース モデリング手法です。これは、実体関連モデリングに類似した概念モデリングに使用されるグラフィカル表記法を提供し、時系列データの処理のための拡張機能を備えています。このモデリング手法には、アンカー、属性、タイ、ノットという4つのモデリング構成要素が含まれており、それぞれがモデル化対象のドメインの異なる側面を捉えます。[1]結果として得られるモデルは、形式化されたルールを用いて物理的なデータベース設計に変換できます。このような変換が行われると、リレーショナルデータベースのテーブルは、ほとんどが第6正規形になります

スタースキーマディメンションモデリング)や従来のリレーショナルモデル(3NF)とは異なり、データボルトとアンカーモデリングは、ソースシステムの変更や追加時に発生する変更を捕捉するのに適していますが、経験豊富なデータアーキテクトを必要とする高度な技術と考えられています。[2]データボルトとアンカーモデルはどちらもエンティティベースのモデルですが、[3]アンカーモデルはより標準化されたアプローチを採用しています。[引用が必要]

哲学

アンカーモデリングは、高度な正規化の利点を活用しつつ、高正規形が人間の可読性に関して持つ欠点を回避するために考案されました。非破壊的にモデルを進化させ、NULL値を回避し、情報の冗長性を排除できるなどの利点が得られます。余分な結合によるパフォーマンスの問題は、最新のデータベースエンジンいつ?)の結合除去またはテーブル除去と呼ばれる機能のおかげで、ほぼ回避できます。情報内容の変化に対応するために、アンカーモデリングは、結果として得られるリレーショナルデータベーススキーマにおいて、テンポラルデータベースの側面をエミュレートします。

歴史

アンカー モデリングを使用した最も初期の導入は、2004 年にスウェーデンで行われ、この技術を使用して保険会社のデータ ウェアハウスが構築されました。

2007年には、この手法はいくつかのデータウェアハウスと1つのオンライントランザクション処理(OLTP)システムで使用されており、アムステルダムで開催された2007 Transforming Data with Intelligence(TDWI)カンファレンスにおいて、Lars Rönnbäck氏によって国際的に発表されました。[4]この発表により、この手法への関心が高まり、より正式な説明が必要となりました。それ以来、アンカーモデリングに関する研究は、考案者のOlle Regardt氏とLars Rönnbäck氏、そしてストックホルム大学コンピュータ・システム科学科のチームとの共同研究によって行われています

アンカーモデリングを形式化した最初の論文は、2008年に第28回国際概念モデリング会議で発表され、最優秀論文賞を受賞した。[5]

アンカーモデリングに関する資料は、クリエイティブ・コモンズ・ライセンスの下で無料で利用できる商用ウェブサイトで提供されています。また、無料で利用できるオープンソースのオンラインモデリングツールも提供されています。[6]

基本的な概念

アンカーモデリングには、アンカー、属性、タイ、ノットという4つの基本的なモデリング概念があります。アンカーはエンティティとイベントをモデリングするために使用され、属性はアンカーのプロパティをモデリングするために使用され、タイはアンカー間の関係をモデリングするために使用され、ノットは状態などの共有プロパティをモデリングするために使用されます。属性とタイは、モデル化する情報の変更を保持する必要がある場合に履歴化できます。

以下に、すべての概念を表す様々なグラフィカルシンボルを示すサンプルモデルを示します。これらのシンボルは、実体関連モデリングで使用されるシンボルに似ていますが、いくつかの拡張が加えられています。属性または結び目が二重のアウトラインで表示されている場合は、変更履歴が保持されていることを示します。結び目シンボル(丸みを帯びたアウトライン付きの四角形)も使用できますが、結び目は履歴化できません。アンカーシンボルは実線の四角形です。

アンカーモデリングの例

時間的な側面

アンカーモデリングは、構造変化とコンテンツ変化という2種類の情報進化に対応します。情報構造の変化は、拡張によって表現されます。高度な正規化により、変更を捉えるために必要なモデリング概念を非破壊的に追加することが可能となり、以前のスキーマは常に現在のスキーマのサブセットとして残ります。既存のスキーマは変更されないため、ダウンタイムを発生させることなく、高度に反復的な方法でデータベースを進化させることができるという利点があります。

情報の内容の変更は、リレーショナル データベース時系列データベースの同様の機能をエミュレートすることによって行われます。アンカー モデリングでは、情報を時点または時間間隔 (オープンとクローズの両方) に結び付けることができます。イベントが発生する時点は、属性 (人の生年月日や購入時間など) を使用してモデル化されます。値が有効な時間間隔は、属性と関係 (人の髪の色の変化や結婚期間など) の履歴化によって取得されます。リレーショナル データベースでは、変化の速度を捕捉できるほど細かいデータ型の単一のを、履歴化された属性または関係に対応するテーブルに追加することによってこれを実現します。これにより、間隔が閉じているかどうかを知るためにテーブル内の複数のを調べる必要があるため、やや複雑になります。

モデル化対象のドメインに直接関連しない時点や時間間隔、例えばデータベースに入力された時点などは、前述のいずれの構成要素も使用せず、アンカーモデリングにおいてメタデータを用いて処理されます。データベースへのこのような変更に関する情報を保持する必要がある場合は、バイテンポラル・アンカーモデリングを使用できます。バイテンポラル・アンカーモデリングでは、更新に加えて削除文も非破壊的に処理されます。

リレーショナル表現

アンカーモデリングでは、概念モデルで使用されるシンボルとリレーショナルデータベースのテーブルが1対1で対応付けられます。すべてのアンカー、属性、結び目、ノットには、明確に定義された構造を持つデータベース内の対応するテーブルが存在します。そのため、概念モデルは、シンプルな自動化ルールを使用してリレーショナルデータベーススキーマに変換でき、その逆も同様です。これは、概念レベル、論理レベル、物理レベルの間で複雑で、時には主観的な変換手順を伴う他の多くのモデリング手法とは異なります。

アンカーテーブルには、IDが格納される単一の列が含まれます。IDは、エンティティの唯一のプロパティであり、常に存在し、不変であると想定されます。モデル化対象のドメインからIDが取得されることは稀であるため、代わりに、例えば増分する数値シーケンスなどから技術的に生成されます。

ドナルド ダックの甥のアイデンティティのアンカーの例は、1 タプルのセットです。
{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}

ノットは、アンカーと単一の属性の組み合わせと考えることができます。ノットテーブルには、IDと値を格納する2つの列があります。IDと値が一緒に格納されるため、ノットは履歴化できません。ノットを参照するテーブルは、長い文字列ではなく短い値を格納できるため、ストレージ要件を削減し、パフォーマンスを向上できることが、ノットの有用性に由来します。

性別の結び目の例としては、2 組のセットがあります。
{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}

静的属性テーブルには2つの列が含まれます。1つは値が属するエンティティのID、もう1つは実際のプロパティ値です。履歴化属性テーブルには、時間間隔の開始点を格納するための追加の列があります。ノット属性テーブルでは、値列はノットテーブルを参照するIDです。

名前の静的属性の例としては、2 つのタプルのセットがあります。
{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}

性別の結び付けられた静的属性の例は、2 つのタプルのセットです。
{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}

服装の(変化する)色の履歴化された属性の例は、3 つのタプルのセットです。
{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}

静的タイテーブルは、2つ以上のアンカーを相互に関連付け、IDを格納するための2つ以上の列を含みます。履歴化されたタイテーブルには、時間間隔の開始点を格納するための追加の列があります。結び目のあるタイテーブルには、参照される結び目ごとに追加の列があります。

兄弟関係の静的な結びつきの例としては、2 つのタプルのセットがあります。
{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}

結果のテーブルは、すべての列が主キーの一部ではない場合を除き、 すべて第 6 正規形になります。

他のアプローチと比較して

2000年代には、アジャイルデータウェアハウスを実現することを目標に、アンカーモデリング、データボールトモデリング、フォーカルポイントモデリングなどのアンサンブルモデリング形式を含む、いくつかのデータウェアハウスデータモデリングパターンが導入されました。[7]

データ保管庫の比較

2013年にオランダで開催されたデータモデリングカンファレンスBI Podiumで、Lars Rönnbäckはアンカーモデリングとデータボールトモデリングの比較を発表しました。[8]

比較対象機能データ保管庫アドバンテージ*アンカーモデリング
家族アンサンブルモデリング-アンサンブルモデリング
パラダイムデータ駆動型の
監査可能性を優先
-データ駆動型
ニーズを優先
建築ハイブリッド(複数のメンテナンスオブジェクト)-複製(単一のメンテナンスオブジェクト)
グループ化可能な限り-できるだけ少なく
主なタイムライン録音時間-変化する時間
変更検出複数の行/列へのアクセス午前単一行/列アクセス
厳格さゆるく形式化されている
命名規則がない
-厳密に形式化されており、
命名規則がある
スキーマの進化破壊的午前非破壊
時間化任意の時間(手作業)、
終了日指定はオプション(非推奨)
午前設計上、同時進行型で、
終了日の設定はない
締め付けアップデートが必要になる場合があります午前挿入のみ
ツールサポート多くのツール
ほとんどが商用
暴力ツールは
少ない オープンソースのみ
変化への適応まだ面倒だ午前ほとんど手間がかからない
モデル交換
ある種の印刷された図表を含む生のSQL
午前標準化されたXML形式
とグラフィカル表記
不変性代理ID
と自然キー
午前代理アイデンティティのみ
代理出産は自然1対1、静的
物理的に実現(ハブ)
午前多対一、履歴化可能な
データの論理ビュー
クエリの最適化やや重要
最近のデータベース
暴力非常に重要な
最新バージョンのデータベース
スクリプト機能少し努力すれば午前
すべてが形式化され、自動化されている
ビューとトリガー言及、手作り
、ケースバイケース
午前
すべてが形式化され、自動化されている
仮定長持ちするように作られており、
前提が必要である
午前変化に対応できる
前提を置かない
市場占有率小規模 <1000 インストール (2013)暴力非常に小規模な <100 インストール (2013)

参考文献

  1. ^ L. Rönnbäck; O. Regardt; M. Bergholtz; P. Johannesson; P. Wohed (2010). 「アンカーモデリング - 進化するデータ環境におけるアジャイル情報モデリング」.データ&ナレッジエンジニアリング. 69 (12): 1229– 1253. doi :10.1016/j.datak.2010.10.002. ISSN  0169-023X.(プレプリントはこちらから入手可能)
  2. ^ ポースビー、ヨハン。 「Rålager istället for ett strukturerat datalager」。www.agero.se (スウェーデン語) 2023 年 2 月 22 日に取得
  3. ^ ポースビー、ヨハン。 「データウェアハウスのためのデータモデラー」。www.agero.se (スウェーデン語) 2023 年 2 月 22 日に取得
  4. ^ 第6回TDWIヨーロッパ会議 - TDWIホームページ 2011年7月20日アーカイブ、Wayback Machineにて
  5. ^ よろしく、オーレ;レンベック、ラース。マリア・バーグホルツ。ヨハネソン、ポール。ウォヘド、ペティア (2009)。 「アンカーモデリング」。第 28 回概念モデリングに関する国際会議の議事録。 ER'09。グラマド、ブラジル: Springer-Verlag: 234–250 . ISBN 978-3-642-04839-5
  6. ^ Lars Rönnbäck. 「Anchor Modeling Academy」.プロモーションウェブサイト. 2017年5月20日閲覧
  7. ^ 「アンカーモデリング」The Hans Blog . 2023年3月15日閲覧
  8. ^ ラース・レンベック;ハンス・ハルトグレン (2013)。 「アンカー モデリングと Data Vault モデリングの比較」(PDF)
  • アンカーモデリングブログ(ビデオチュートリアルと研究情報付き)
  • オンラインアンカーモデリングツール
Retrieved from "https://en.wikipedia.org/w/index.php?title=Anchor_modeling&oldid=1246035729"