web-dev-qa-db-ja.com

OracleとSQLServerは、約6〜7テラバイトのデータを処理します

約5〜6テラバイトのデータを処理するためにOracleとSQLServerのどちらかを選択するためのいくつかの有効なポイントを探しています。このデータは8か月の期間にわたって蓄積されます。 8か月より古いデータは、データベースから削除されます。

Oracle 11G StandardEditionとSQLServer 2008 StandardEditionを検討しています。

私は開発の容易さを求めていません。私は純粋に巨大なデータを処理するという観点から探していますが、それでも優れたパフォーマンスを提供できます。パフォーマンスとは別に、違いを生むパラメータがある場合は、強調表示してください。

価格的には大きな違いがあることは知っていますが、パフォーマンスの違いが大きい場合はそれは要因ではありません。

私は偏見のない答えを得て、宗教戦争を起こさないことを望んでいます。

2

この答えは気に入らないでしょうが、どちらでもありません。 OracleとMSSQL Serverは、大規模なデータ処理に関してほぼ同等であり(SQL Serverは使いやすさでEdgeを使用でき、Oracleはユーティリティで使用できます)、実際に生データになると、PostgreSQLは実際に両方をEdgeで処理できます最適化すると、わずかなマージンで。

しかし、64ビットID列とTBのデータを合法的に使用しているときにうまく機能することが証明されている「大きな」データベースが本当に必要な場合は、(IBM)DB2です。

(宗教戦争に関する限り、私はSQL Serverの人ですが、その限界を知っています)

4
David

それは、アプリケーション開発者と運用エンジニアが何をサポートできるかに本当に依存すると思います。冗長性とパフォーマンスのために、このデータセットを単一のサーバーに保持しないことを想像します。

8か月にわたって6Tbを作成している場合、これは実際には大規模な挿入率ではないため、データチャーンは適切なハードウェアにとって問題にはなりません。

パフォーマンスのほとんどは正しい設計から生まれますが、それは使用される特定の製品の機能にある程度依存します。

両方に対して正しい設計を行ってから、完全にプロトタイプ化されたアプリケーションを本番ボリュームのデータと比較しないと、それらを比較することはできません。これはコストの面では効果がないだろうと思います(開発者が2つのプロトタイプを作成し、実稼働グレードのハードウェアで完全なデータ負荷でテストする)。

私はどちらかがあなたが名前を付けたいと思う他のものと同様に非常にうまく仕事をするだろうと想像します。それはすべて、データベースの特定の機能を適切に使用して、正しいアプリケーション設計に関するものになるでしょう。

3
MarkR

それは、このデータが何であるか、その保存方法、およびデータで何をしているかに完全に依存します

単一のテーブルを想定すると、Oracleには確かにそれを行うための「チョップ」がありますが、パーティショニングオプションを備えたエンタープライズエディションが必要になります。これにより、必要に応じて、データを数か月、数週間、数日、または数時間に分割できます。その場合、8か月のローリングウィンドウを維持するのは簡単な作業です(8か月の時間ですべてが固定されるだけでなく、ローリングウィンドウを想定しています)。

どのソリューションでも、このローリングウィンドウをどのように実行するかを確認する必要があります。一部のデータベースでは、行の大部分を削除するのにあまり親切ではありません。

また、そのデータをバックアップし、妥当な時間内に障害から回復できるソリューションが必要になる可能性があることも考慮してください。

2
Matthew Watson

また、そのサイズのデータ​​ベースについては、SQLServerのEnterpriseエディションの機能が必要になる可能性があると考えています。

http://www.Microsoft.com/sqlserver/2008/en/us/compare-std-ent.aspx

エンタープライズは、拡張性機能を備えている傾向があります。それはOracleにも当てはまると思います。

1
HLGEM

答えに影響を与える可能性のある要因はたくさんあり、より多くの情報がなければ、決定的な答えを出すことは困難です。これらの要因の例としては、データのソースとは何か、記録する必要のある速度、クエリを実行する必要のある頻度、セグメント化のしやすさなどがあります。

一般に、Oracleは確かに、より大きな負荷をより適切に処理でき、SQLServerよりも強力なハードウェアで実行できるという評判があります。

ただし、説明しているように大量の場合は、組織がこれら2つの製品のみの使用を義務付けていない限り、他のオプションも検討するのが賢明だと思います。

Verticaなど、これらの種類のボリュームを処理するために特別に設計された「エキゾチック」データベース製品を検討するか、Amazon ElasticMapreduceやGoogleなどのクラウドサービスプロバイダーによって使用される大量のボリューム向けに設計された非リレーショナル製品を検討する方がよいでしょう。 AppEngineデータストア。これらの製品は、電気通信プロバイダー、金融サービス業界、テレマティクス業界など、大量のデータを必要とする業界で注目を集めています。

1
Quintus Marais

このデータベースをオンライントランザクション処理に使用するのか、それともより多くのデータウェアハウジング、ビジネスインテリジェンスに使用するのかについては言及していません。確かに両方のためのいくつかの専用オプションがあります。 Teradata たとえば、BIの非常に大量のデータを処理する場合に思い浮かびます。

0
geyerba

「5-6 TB of data」」と話すことはできませんが、現在、1700人のフルタイムのファットクライアントユーザー(.NETに組み込まれているアプリケーション)が1.5 TB SQL64ビットItaniumを使用するデータベース。

それはうまく機能します。スケーリングの質問は、1秒あたりのユーザー数とトランザクション数であるため、DBのサイズではないと思います。

Oracleはクラスタリングを実行して、トランザクション/秒(特定の状況)まで容量を拡張できますが、生のDBサイズに関しては必ずしもどちらかを好むとは限りません。

0
Bob