私たちは慈善のためのプラットフォームを構築しており、起こっているすべての活動を記録したいと考えています。例えば
- John Doe (リンク) は、必要な子供たちをプロジェクトするために 20 ドルを寄付しました (リンク)
- John Doe (リンク) がチーム Architects (リンク) に参加しました
- John Doe (link) は Dane Doe (link) と友達になりました
- プロジェクトチルドレン(リンク)が新しい写真(写真)を投稿しました...
つまり、Facebook の壁に似ています。質問は、これを Azure に保存する方法ですか? 現在、Azure SQL を使用しており、特定のフィールドを JSON に保存してから、別のフィールドに基づいてアクティビティをレンダリングしています。しかし、そのデータなどを検索することはできません。これは本当に悪いことです。
そのために最適なTable Servicesをチェックしました。唯一の問題は、パフォーマンスと注文です。多くの人は、インデックスのないフィールドで検索するのは本当に遅いと言いました+順序付けが必要です(ここではデフォルトの順序付けが何であるかわかりませんが、おそらくASC-どこかでDESCが必要で、他の場所ではASCが必要です)。
他の人は、データをどこかに保存し、lucene にデータのインデックスを付けるためだけに、Lucene.net を使用することを提案しました。次に、簡単に検索して注文できます。唯一の問題はインデックスの更新です (プラットフォームで何かを行うとすぐに表示される必要があるため、1 時間ほどでインデックスを再構築することはできません)。おそらくインデックスを更新して、その日付よりも新しいレコードのインデックスを再作成できることはわかっています。それはうまくいくかもしれません。
3 番目のオプションは、mongodb のような nosql データベースをインストールすることです。しかし、オンラインで読むと、それが機能するかどうかは誰も確認されていません. しかし、Azure ストアに mongodb があることに気付きました。
何を指示してるんですか?誰かがこれに似た問題を抱えていて、どのように解決しましたか?