Azure と通常の Windows サーバー (2003) の両方で実行する必要がある .NET アプリを開発しています。数GBのデータを保存する必要があり、SQL Azureは私には高価すぎるため、クラウド版のAzureテーブルを使用します. スタンドアロン サーバーで実行され、Azure テーブルと同様の API と動作を備えたストレージ ソリューションをお勧めできますか? 私が見たところ、Server AppFabric にはテーブルが含まれていません。
2 に答える
Windows Azure テーブル ストレージとは、REST API を介してアクセスできる、キーと値のペア ベースの非リレーショナル データベースです。Windows Azure と NoSQL データベースの詳細については、このドキュメントをダウンロードしてください。
私があなたの状況にあった場合、私のアプローチは、REST 経由でアクセスでき、同様のアクセシビリティ API を備えた Azure Table Storage に似たものを見つけることでした。したがって、マシンで実行する類似のデータベースを見つけようとする場合は、実際に探す必要があります。
- キーと値のペア DB
- エンティティの追加、削除、挿入、変更などの基本操作のサポート
- パーティション キーおよび行キー ベースのアクセシビリティ
- 接続するRESTfulインターフェース
あなたが何かを試してみたいなら、あなたは確かに見ることができます:
- DBreeze (C# ベースのキーと値のペアの NoSQL DB) 見たばかりで面白そう
- Google の LevelDB (Key Value Pair DB、オープン ソース、Windows で利用可能) API についてはわかりません
- Redis (キーと値のペア DB は優れていますが、Windows の互換性と API については不明です)
以下は、インデックス作成機能を追加していないキー/値データベースのリストです。
- バークレーDB
- HBase
- MemcacheDB
- レディス
- シンプルDB
- 東京内閣/暴君
- ヴォルデモート
- リヤク
どれも機能しない場合は、オープンソース DB を入手して、要件に合わせて変更し、コミュニティへの貢献として他の人が利用できるようにすることができます。
追加した
これで、Windows Azure 仮想マシンを使用して、Linux または Windows マシン上であらゆる種類のキーと値のペア DB を実行し、アプリケーションと接続できるようになりました。
どのストレージソリューションを推奨するかはわかりませんが、すべてのデータストレージコードを抽象化するインターフェイスを作成すれば、ほぼすべてのデータベースソリューションが機能します。次に、Azureテーブルストレージおよび非クラウドサーバーで使用するその他のデータベース用のそのインターフェイスの実装を記述します
コードがAzureTableStorage APIと緊密に結合されないように、とにかくそれを行う必要があります。
そのインターフェイスに対するコーディングをIoCコンテナーと組み合わせる場合、1行のコードまたは単一の構成設定により、コードが実行されているプラットフォームに基づいてデータ実装を切り替えることができます。