私は.NETプログラマーであり、RDBMSに代わるものを見てみたいと思っています。現時点で最も成熟した選択肢は何ですか(データベース内の最も成熟したドライバーとほとんどの機能)?
私はMongoDBを見てきましたが、満足しています。
私は.NETプログラマーであり、RDBMSに代わるものを見てみたいと思っています。現時点で最も成熟した選択肢は何ですか(データベース内の最も成熟したドライバーとほとんどの機能)?
私はMongoDBを見てきましたが、満足しています。
これは正しい質問ではないと思います。「どの NoSQL DBMS が最も X ... であるか」という質問は、「どの RDBMS が ... で最も X であるか」と同じ形式ではありません。
なんで?まあ、NoSQL は実際には明確に定義されていません。繰り返し発生する特性 (分散型、大容量、map/reduce 処理、スケーラブル、冗長、非リレーショナル、スキーマレス) はいくつかありますが、いずれも特性を定義するものではありません。率直に言えば、NoSQL は技術と製品のバケツであり、それぞれに独自の特別な基本的な設計目標と適用性があります。
従来の RDBMS では、類似点がより明確になります。
ですから、何を達成したいのかを自問する必要があると思います。次に、それに一致する製品/技術を探します。
Mongo の他に、RavenDB と FatDB があります。製品にはワーク キューも付属しているため、後者を検討しています...さらに、サポートは米国ベースです。
要件を収集し、できるだけ多くのオプションを評価する必要があります。
何年も維持する必要がある大規模なシステムを展開する可能性が高いため、選択を誤るとコストが非常に高くなります。それは重要なので、開発チーム全体の意見を得るようにしてください (結局のところ、それを維持する必要があるのは開発チームです)。
運用は開発と同じくらい重要です。可能であれば、運用チームの情報も入手してください。「nosql」ベースのシステムには多くの物理マシンが含まれる可能性が高いため、問題が頻繁に発生する場合、運用エンジニアによる保守に多大な労力が必要になる場合があります。運用チームがそのようなシステムがどのように機能するかを理解することが重要です。
ドライバー (別名クライアント ライブラリなど) の成熟度が明らかに要因である可能性がありますが、実際の機能の方が問題であると思われます。これらのシステムはどれも同じように動作せず、従来の RDBMS が提供するものとは似ていない互換性のないインターフェイスを備えた異なる機能セットを提供します。