ASP.NET MVC 3 一般管理システム (プロジェクト管理が最初のコンポーネント) から始めています。今、私は RavenDB について少し調べてみましたが、かなり興味深いように思えます。私がそれについて気に入っている最大の点の 1 つは、DB からのデータを処理するために ORM で型を必要としないという事実です。これにより、コードがよりクリーンで高速になります。しかし、過去 6 年以上にわたって MySQL のみを使用してきた背景から、私は自分のデータとの関連性を非常に重視する傾向があります。NoSQL が適していないように思われることがいくつかあります。私はこれらのものをそこに投げ出したいのですが、これらの問題は NoSQL ソリューションで処理できるかもしれません。また、関係性を考えすぎているだけです (このプロジェクトは MySQL で行う必要があるかもしれません)。これらは私が考えている問題です:
一意の識別子: 多くのことに対して一意の識別子を使用できるようにしたいと考えています。プロジェクトのようなものでは、名前は一意である必要があり、それを使用できますが、プロジェクトの下のタスクになると、タイトルは一意ではない場合があり、これはクォートインクリメントフィールドを使用する場所ですが、RavenDB でそれを行うことができます (私が言えることから)
リンク: status や type などのフィールドに使用すると、外部キーとのリンクを使用するだけです。1対多の関係の場合、外部キー(NoSQLにはありません)をリンクしようとする代わりにテキストを使用できますが、問題があるため、多対多のリンクを使用できます。たとえば、ほとんどのアイテムに 1 つまたは複数のタグを付けることができるタグ付けシステム (ここにあるような) を用意し、それらのタグでアイテムを検索できるようにするつもりです。NoSQLでこれを行う方法はありますか?
RDBMSは本当にここでの仕事に最適なツールですか、それとも「NoSQL」の方法を適切に考えていないだけで、NoSQL(RavenDB)でこれを達成できますか?