統合レイヤーとデータウェアハウスとデータウェアハウスを物理的/論理的に分離する方法は必要ですか?
-
02-01-2020 - |
質問
テストDWHサーバーでは、Vertica Community Editionを使用しています。私たちはETLプロセスに非常に喜んで、パフォーマンスを問い合わせます。
数少ないソース(Informix、SQL Server、MySQL、Googleドキュメント)からデータをインポートします(Informix、SQL Server、MySQL、Google Docs)、プレフィックス bussinessprocessname_stage _
ETLプロセスの終わりに、 bussinessprocessname_fact と bussinessprocessname_dim_dimname 、という多くのテーブルがあります。 shared_dim_dimname 。
これらのテーブルを異なるスキーマまたは異なるデータベースに分離する必要がありますか? 同じ質問はDWh内のデータマートのためのものです。
ほとんどの場合はStar-Schemaを数回使用しています。
解決
ほとんどのデータベースシステムは、データベースレベルを最も高い論理階層として使用します。ただし、Verticaは単一のデータベースを1回だけ実行できるだけです。これは、論理設計がスキーマレベルで行われることを意味します。たとえば、従来のデータベースシステムには、customers
とorders
などのデータベースがあります。 Verticaでは、これらはスキーマレベルで識別されます。
論理編成と命名規則は組織間で異なります。それが標準的で一貫して使用されているという事項は何ですか。あなたはそれに応じて論理的に適合するものとグループテーブルを調べたいと思うかもしれません。たとえば、各ビジネスプロセス名には独自のスキーマ(business_process_name.fact_table
)を持つことができます。テーブルがほとんどない場合でも、単一のスキーマを使用するのではなく、明示的ではないことが練習です。将来あなたが追加のテーブルを追加するならば、それは管理が簡単です。
スキーマを使用するもう1つの利点は管理のためのものです。バックアップ、またはメンテナンスタスクを実行するときは、スキーマレベルで実行できます。