2

Azure ベースのクラウド ネイティブ アプリがあります。アプリは Azure テーブル ストレージを使用します。

絶好の機会があったため、アプリをオンプレミスでも提供することにしました。そのため、NoSql データ プロバイダーを置き換える必要があります... 私の質問は次のとおりです。どちらのソリューションが Azure Table Storage に似ていますか? モンゴ?カラス?あなたはそれに名前を付けます!

私が意図しているのは、SQL Azure から Sql Server 2012 への移行のように、コードを簡単に移行することです... コードの変更は必要ありません... しかし、テーブル ストレージに相当するものがないことはわかっています... TTMを可能な限り減らします...

4

2 に答える 2

2

MongoDB と Table Storage は、相互に完全に交換可能な代替品ではありません。1 つはキー/値で、もう 1 つはドキュメントです。この回答で2つを比較しました。

Table Storage が Storage-as-a-Service であり、MongoDB を使用するには、それをホストする必要があるのに対し、データの量 (およびトランザクションごとの非常に小さなコスト) に対してのみ支払うという事実を回避することはできません。独自の VM (十分なストレージ ルームを提供しますが、VM を犠牲にして) で使用するか、ホスティング サービス (現在 500 MB を無料で提供している MongoLab など) を使用します。いずれにせよ、テーブル ストレージで MongoDB を操作するには、コードをいくつか変更する必要があります。

ローカルにインストール可能な Table Storage に相当するキー/バリュー ストアが存在するかどうかはわかりません。何を選択しても、Table Storage を交換すると、Azure 側のソリューションが変更されます。

オンプレミス ソリューションに、比較的シンプルな MongoDB バックエンドを提供することは可能ですか? つまり、行キーの代わりに単一のインデックスを使用し、テーブル エンティティをドキュメントとして保存します (サブドキュメントを避けます)。これにより、データのレイアウトが非常に似たものになります。その時点で、Aggregation Framework のようなものを少しのデータ処理に使用でき、データの全体的なレイアウト スタイル/スキーマを損なうことはありません。

于 2013-05-07T20:25:26.900 に答える