2

Oracleでテーブルを設計する必要があります。このテーブルには、1日に2〜5TBのデータが格納されます。200 TBまで増加する可能性があり、200TBを超えるとレコードがパージされます。

それをOLTPに保持することは実行可能な選択ですか、それともデータウェアハウスDBにシフトする必要がありますか?このテーブルまたはデータベースのスキーマを設計するときに留意すべき考慮事項をアドバイスしてください。

また、どちらのデータベースでも使用できるので、SQLサーバーの場合はアドバイスをお願いします。

4

2 に答える 2

6

そのサイズは、VLDB テリトリー (非常に大規模なデータベース) に入ります。その高度では物事が根本的に異なります。

あなたの質問は、あなたのアプリケーションの責任の完全な要件なしでは答えられません. アプリケーションがデータに対して行うべきことに関して、パフォーマンスを考慮して設計する必要があります。

私のアドバイスは、以前に経験のある人を採用することです。そうしないと、ほぼ 100% 失敗することが保証されます。

Oracle を使用する場合は、非常に慎重に使用する必要があるいくつかのタイプのパーティショニングが提供されます。管理目的 (データの移動、インデックスの作成、データの回復) とクエリのパフォーマンスのためにパーティションが必要です。

  • 日付範囲などによる範囲分割
  • データのスライスを格納するためのリスト パーティショニング (国ごと (「SE」、「US」、「GB」)
  • ハッシュ分割。ハッシュ関数に基づいてパーティションの 1 つにデータを保存します
  • または上記の任意の組み合わせ

また、本当に素晴らしい I/O スループットを備えたモンスター マシンを構築および構成する方法を知っている人が必要です。1GB/秒以上が必要ですが、200 TB も保存する必要がある場合、これはあまり安くはありません。実際、これらの 200 TB がテーブル データのみの場合、インデックス、集計テーブル、バックアップなどを作成できるようにするには、2 倍または 3 倍にする必要があります。

申し訳ありませんが、すぐに使用できるソリューションを提供できませんでしたが、平均以上のサイズのデータ​​ベースを構築しているだけではないことを理解してもらいたいと思いました. それは巨大です!

于 2011-03-23T20:17:12.350 に答える
3

まず、ディスクサブシステムを調べて、毎日行う2〜5TBの負荷を処理できることを確認します。OracleとSQLServerの両方にパーティションが組み込まれています。SQLServerでは、圧縮を使用してディスク上のストレージを最小限に抑えることもできます(Oracleについては不明)。

これは主にOLAPまたはOLTPに使用されますか?

于 2011-03-23T19:56:56.973 に答える