OracleとSQLServerはどちらも共有ディスクデータベースであるため、テーブルが大量のデータをスキャンするクエリのディスク帯域幅によって制約されます。 Teradata
などの製品 、 Netezza
または
共有ディスクシステム(Oracle Real ApplicationClusters
など または
ノード上の複数のローカル直接接続ディスクアレイは、より多くのディスク帯域幅を提供します。
私は、1日あたり600GBをロードするOracleベースのデータウェアハウスを備えたOracleDWショップ(ヨーロッパの主要な電話会社)を知っているので、共有ディスクアーキテクチャが克服できない制限を課しているようには見えません。
MS-SQLとOracleの間には、いくつかの違いがあります。 IMHO Oracleは、次の理由により、SQLサーバーよりも優れたVLDBサポートを備えています。
-
Oracleは、ビットマップインデックス をネイティブでサポートしています。 、高速データウェアハウスクエリに適したインデックス構造です。ランレングスエンコードされており、使用するスペースが比較的少ないため、基本的にI/Oトレードオフ用のCPUを実行します。一方、Microsoftは、インデックスの共通部分 を主張しています。 それほど遅くはありません。
-
Oracleには、SQLServerよりも優れたテーブルパーティショニング機能があります。 IIRC SQL Server 2005でのテーブルのパーティション分割は、単一の列でのみ実行できます。
-
Oracleは、ある程度<で実行できます。 / a> 大きい ハードウェア SQL Serverよりも優れていますが、一部のかなり でSQLサーバーを実行できます。 よろしく 大 システム。
-
Oracleは、マテリアライズドビュー をより成熟してサポートしています。 および
クエリの書き換え リレーショナルクエリを最適化するため。 SQL2005にはいくつかのクエリ書き換え機能がありますが、文書化が不十分であり、本番システムで使用されているのを見たことがありません。ただし、Microsoftは、分析サービスを使用することをお勧めします。 a> 、実際にはシェアードナッシング構成をサポートしています。
真に聖書的なデータボリュームがあり、OracleとTeradataなどのシェアードナッシングアーキテクチャのどちらかを選択している場合を除いて、OracleとSQLServerの間に実際的な違いはほとんど見られません。特にSQL2005の導入以来、SQL Serverのパーティショニング機能は十分に優れていると見なされており、たっぷり 例 の マルチテラバイト 正常に実装されたシステム。