「現在、どのタイプのデータベースを使用するか迷っています」
あなたの毒に名前を付けてください!:) .NET と Ruby/RoR の両方から、次のような地球上のほぼすべてのデータベースと通信できます。
- SQL Server、DB2、Oracle、MySql、ProgreSQL などのリレーショナル データベース。
- MongoDB、CouchDB、RavenDB などのドキュメント データベース。
- Cassandra、Dynamo、Riak、Redis、Memcache、Azure Table Storage などを含むその他の NOSQL キー値ストア。
あなたのニーズに合ったものを選んでください。
「2 つのアプリケーション間の通信を許可する方法」
これが何を意味しているのかよくわかりませんが、ある時点で、データをアップロードした後、アプリはデータの素晴らしいグラフを表示する Web ページを開く必要があるということを意味していると思いますか? その場合、これは些細なことであり、.NET アプリが Web ブラウザーのインスタンスを生成し、特定の Web ページを開くように要求する以外に、.NET アプリと RoR サイトを直接統合する必要はありません。
var process = new Process();
process.StartInfo.FileName = "iexplore";
process.StartInfo.Arguments = @"http:\\myreportgenerator.com?customerid=1234";
process.Start();
.NET アプリで RoR サイトに特定の処理を要求できるようにする場合は、REST Web サービス API を RoR サイトに追加することを検討してください。
さらに一歩進んで、.NET アプリからすべての DB コードを実際に排除し、REST (JSON/XML over HTTP) 呼び出しを介してデータを要求して RoR サイトに送信し、すべての DB IO を内部で実行することができます。