2012-03-08 1 views
0

IT業界の経験から、多くの企業がリレーショナルデータベースとADO.netを使用してデータベースとやりとりすることは避けています。代わりに、外部キーを使用して相互にリンクされ、ADO.netを使用してDBと相互作用する多数のテーブルを持つと、大規模なアプリケーションで深刻なパフォーマンス上の問題を抱えていると考えられるため、フラットなデータベースを使用してSQL文をデータベースに対して直接書き込みますこれらのポイントは有効ですか?はリレーショナルデータベースであり、ADO.netは膨大な規模で、何百万人ものユーザーがいる巨大アプリケーションで動作するように拡張可能です

+0

質問はあまりにも一般的です。実装にもよりますが、実際の場合とそうでない場合があります。アプリケーションが参照整合性を処理できるようにすると、データベースレベルですでに行われている処理を実行しようとしています。 – a1ex07

答えて

1

いいえ、これらの点は(ほとんどのシナリオでは)有効ではありません。

リレーションシップのため、大きなデータセットではリレーショナルデータベースの方が高速です。 (もちろん、非リレーショナルデータの巨大なリストを持っていない限り、今日は巨大なアプリケーションでどのようなリレーショナルデータセットではないのでしょうか?)

stackoverflow.netたとえば、1日に約700万ページビューを取得し、リレーショナルデータベース上で

さらに、この回答をご覧ください。同様の議論:database vs. flat files

編集:巨大な私は1日あたりのトランザクション数百万を意味します.... :) EDIT:EFリファレンスを削除しました。

+0

厳密に言えば - このサイト(Stackoverflow)は[Dapper Dot Net](http://code.google.com/p/dapper-dot-net/)を使用しています - Entity Frameworkはありません –

+0

私はtwitter、facebook、googleフラットデータベースを使用します。また、私の質問は、冗長なデータを含む大きなデータベーステーブルを持っているかもしれないフラットデータベースを使用することでした。フラットファイルの使用については言及していませんでした........ –

+1

@marc_sはい、それは大丈夫です。私は記憶から出て、間違っていた:実際にツール:http://meta.stackexchange.com/questions/10369/which-tools-and-technologies-build-the-stack-exchange-network –

関連する問題