2012-05-09 7 views
23

Webアプリケーションのデータレイヤーを選択する際に、どのような点を考慮する必要がありますか?使用方法の選択肢:RavenDBとSQL Server - パフォーマンス、信頼性、シンプルさ

文書データベースをリレーショナルデータベースよりも使用するのに適した選択肢はありますか?

これらのアプローチには、どのようなデータベースアーキテクチャが適していますか?あまり関係のない単純なデータベースを使用している場合は、別のアプローチを使用する方が良いでしょうか?

答えて

54

この質問は、個人的なコメントを募集していますので、ここで私の意見さ:

SQL Serverは、アドホックレポートデータ以外のものを格納するためのデータベースではありません。アドホックなレポート、データマイニング、リアルタイムリレーションシップの発見、そしてCoddがルールを設計したときに戻ってきて、それがそのために設計されたものです(詳しくはThe Data Driven Conspiracyを参照してください)

もちろん、他の種類のデータをリレーショナルデータベースに保存することもできます。たとえば、ドメイン状態をSQL Serverデータベースにシリアライズし、後でその状態を取得できますが、これはリレーショナルシステムのひどい使用です。実際には、この種のタスクをリモートで実行可能、テスト可能、保守可能にするために、コードの全レイヤー(いわゆる「データレイヤー(DAL)」、つまり何千もの行)が必要です。

SQLベースの小売業者は、根本的に異なるデータ構造間でリアルタイムの変換以外の階層/文書データを格納するための優れた方法はないと私たちに確信させるために、 DALと最新のORMはすべて有名になっていますが、結局のところ、これらはディスク上のさまざまなパターン - 異なるデータ組織間でビットを前後に揺らすコーデックです。

狂気!

原子性、一貫性、隔離性、耐久性に関するすべての、厄介な、天使のような議論を忘れてください。部屋の象は、SQL Serverを使用していて、大規模な人口の中の隠れた推論のために動的にデータキューブを採掘している製薬会社ではない(あなたですか?)場合は、間違った技術を使ってデータを格納している可能性があります。

一方、謙虚なアプリケーション開発者であれば、ほとんどの私たちのように、まったく新しいイデオロギーと構文を学ぶことを意味するわけではありませんそれでは、関係データベースを使用しないでください。ただしないでください。

RavenDB?私はDB4OとCouchBaseを通して進化しているしばらくの間これを使ってきました。そして、私はそれがスズについて言うことを言うことができます。それは私のものを保管し、私が尋ねるときにそれを私に返します。私はデータレイヤーを書く必要もなく、第三者のORMを使う必要もありませんでした。私は構造化されたクエリ言語を習得する必要はなく、フルテキスト検索作業を行うために特別な作業をする必要はありませんでした(RavenDBはLuceneをベースにしているので、すべてうまく動作します)。ここまでは順調ですね。

しかし、実際には、手元にある作業で、コードを簡単に、高速かつ効率的に使用する限り、使用するものが重要ですか?通常のアプリケーション開発では、RavenDBはこれらのすべてですが、SQL Serverはそうではありません。リレーショナルDBが悪いと言っているわけではありません - 被害者を責めないでください。特定の特殊な開発では、エキゾチックなリレーショナルデータストアが必要になることは十分認識しています。

しかし、あなたがまだ残骸に執着している場合には、あなた自身にこれを尋ねる必要があります:アプリケーション開発者として私たちのニーズに密接に合ったシンプルで高速で洗練されたデータストアを使用していたら、あなたがSQL Serverを採用するよう促してくれるなら、あなたは私を笑ったり、哀れんでいるでしょう。 1つのことは確かです - あなたはSQL Serverにスワップしません。したがって、慣性だけがSQL Serverをメインストリームに引きつける指針となることを実証します。慣性と無知。慣性、無知、企業欲.........

+22

ブー、質問は閉じます。私のすべての入力後も。 – biofractal

+3

この回答を書いていただきありがとうございます。私はそれが楽しく有益であると感じました。 – Andrew

+0

@biofractal:商用バージョンのRavenDBまたは無料版を使用しましたか?ソーシャルウェブサイトにRavenDBを無料で利用できますか? 無料版に制限はありますか? – user636525

関連する問題