sql >> データベース >  >> RDS >> Oracle

SQL ServerとOracle、スケーラビリティの点でどちらが優れていますか?

    OracleとSQLServerはどちらも共有ディスクデータベースであるため、テーブルが大量のデータをスキャンするクエリのディスク帯域幅によって制約されます。 Teradata などの製品 、 Netezza または DB / 2 Parallel Edition 「何も共有されていない」 データベースが個々のノードに水平パーティションを格納するアーキテクチャ。このタイプのアーキテクチャは、各ノードのローカルディスクがSANの中央のボトルネックによって制約されないため、最高の並列クエリパフォーマンスを提供します。

    共有ディスクシステム(Oracle Real ApplicationClusters など またはクラスター化されたSQLServer インストールには、共有のSAN が必要です。 、ストリーミングの帯域幅が制限されています。 VLDBでは、これにより、達成可能なテーブルスキャンのパフォーマンスが大幅に制限される可能性があります。ほとんどのデータウェアハウスクエリは、大きなデータブロック全体でテーブルスキャンまたは範囲スキャンを実行します。クエリが行の数パーセントを超える場合は、多くの場合、単一のテーブルスキャンが最適なクエリプランです。

    ノード上の複数のローカル直接接続ディスクアレイは、より多くのディスク帯域幅を提供します。

    私は、1日あたり600GBをロードするOracleベースのデータウェアハウスを備えたOracleDWショップ(ヨーロッパの主要な電話会社)を知っているので、共有ディスクアーキテクチャが克服できない制限を課しているようには見えません。

    MS-SQLとOracleの間には、いくつかの違いがあります。 IMHO Oracleは、次の理由により、SQLサーバーよりも優れたVLDBサポートを備えています。

    真に聖書的なデータボリュームがあり、OracleとTeradataなどのシェアードナッシングアーキテクチャのどちらかを選択している場合を除いて、OracleとSQLServerの間に実際的な違いはほとんど見られません。特にSQL2005の導入以来、SQL Serverのパーティショニング機能は十分に優れていると見なされており、たっぷり マルチテラバイト 正常に実装されたシステム。



    1. データベースレベルの照合と、データベース用に変更した場合の影響を理解する

    2. PHPには.NETのDataSetに似た構造がありますか?

    3. 外部キー制約のあるMySQLテーブルからの削除

    4. アソシエーションテーブルの使用方法を続編しますか?