検証バージョンについてはじめに一般的に、正規化されたデータベース設計ではスタースキーマまたはスノーフレーク・スキーマ・モデルを使用することが多く、複数の大きなファクト表と多数の小さなディメンション表で構成されます。検索時には、大きなファクト表と複数のディメンション表間の結合処理が行われます。テーブルの数と結合されるデータの量によっては、クエリ実行時に大きなオーバーヘッドが発生する可能性があります。このオーバーヘッドを回避するために、クエリによって必要とされる全てのファクト表とディメンション表の列を結合する非正規化テーブルを作成する場合があります。このテーブルはクエリの実行を大幅に高速化しますが、正規化されたデータと非正規化されたデータの冗長なセット(テーブル)を維持することは、独自の管理コストを伴います。8.1から利用できるフラッタンテーブルは、上述した結合処理のオーバーヘッドと管理コストを削減するための機能です。本記事ではフラッタンテーブルの基本的な使用方法をご紹介します。フラッタンテーブルとはフラッタンテーブルとは、従来の正規化されたファクト表に非正規化列を追加したテーブルです。正規化されたデータベース設計はそのまま利用できます。フラッタンテーブルの効果フラッタンテーブルには、以下の2つのメリットがあります。正規化されたテーブルを結合する検索処理と比較して、フラッタンテーブルに対する検索処理はファクト表とディメンジョン表の列を事前に結合して保持しているため、結合のオーバーヘッドが無くなる分、高速になる手動で非正規化テーブルを作成した場合と比較して、メンテナンス工数を削減できるフラッタンテーブルの検索性能フラッタンテーブルの検索性能については、以下の記事をご参照ください。手動で非正規化テーブルを作成した場合と、フラッタンテーブルを使用した場合の処理内容を以下で比較します。図に記載しているテーブルの内容は以下のとおりです。手動で非正規化テーブルを作成した場合、ファクト表、各ディメンジョン表とは別に非正規化したファクト表を作成する必要があります。非正規化したファクト表へデータをロードするためには、事前にファクト表へデータをロードすることが一般的なため、処理が2ステップになります。将来的にファクト表の列追加や列変更が発生した場合、非正規化したファクト表自体とそれに対するデータロード処理の2つに対して変更作業を実施しなければならないデメリットがあります。フラッタンテーブルの場合フラッタンテーブルを使用した場合、Verticaの機能でファクト表を非正規化するため、個別に非正規化したファクト表を作成する必要がありません。このため、手動で非正規化テーブルを作成した場合と比較して、ファクト表に対する列追加や列変更のメンテナンス工数が削減されます。非正規化したファクト表への追加/更新データを反映するためには、refresh_columnコマンドを実行します。フラッタンテーブルの留意点フラッタンテーブルは事前に結合結果を保持する特性上、以下の2点に留意する必要があります。USING」句を使用します。USING句は以下のように使い分けます。USING句を使用したフラッタンテーブルの作成例を記載しています。8.1で確認しています。technology.。