私はScalaで新しいプロジェクトを開発しています。これは一連のCRUD操作のアプリケーションにすぎませんが、いくつかの風変わりな要件があるため、Play2またはLiftは法案に適合しないため、アプリケーションをゼロから開発します。これは、AnormまたはScalaQueryがデータベース統合の選択肢としてはあまり明白ではなくなり、疑問が残ることを意味します。何か新しいことを試すときが来たのでしょうか。
私の過去のテクノロジースタックには主にJavaとPostgreSQLが含まれており、ORMとプレーンSQLの両方の経験があります。MongoDBのようなNoSQLデータベース管理システムは、一般的なRDBMSの優れた代替品ですか、それとも特殊なケースのアプリケーションデータストアですか?また、データベースの選択は、Scalaシステムの設計にどのように影響しますか(あるとしても)?たとえば、JSONのようなインターフェースを使用してデータベースと通信しているという事実、およびWebとRESTサービス間のJSONは、真ん中のすべてがScalaオブジェクトになる場合、それはそれほど意味がありませんか?
私は基本的に、特にScalaを使用して、リレーショナルデータベースからオブジェクト/ドキュメントタイプのデータベースに移行した経験を求めています。SLICKの次のリリースでは、RDBMSとの良好な統合が約束されていることを私は知っています。したがって、TypeSafeのような会社がRDBMS統合をTypeSafeスタックの一部にすることを決定した場合、たとえばCasbahを使用してMongoDBに統合することで、上流に泳ぎますか?
この質問が少し曖昧に見える場合はお詫び申し上げます。しかし、適切な洞察や経験を持った人が助けてくれることを願っています。
アップデート:
SLICKへのリンクを追加しなかったことをお詫びします(かなり新しいです)。ここに行きます:
アップデート2:
テクノロジーに対する私の個人的な最初の勝利は、通常、開発者の生産性です。これは、軽量でシンプルなことを意味します。習得が速く、保守が簡単で、魔法がありません。