我们正在建立一个慈善平台,我们希望记录所有正在发生的活动。例如
- John Doe(链接)捐赠了 20 美元用于项目有需要的儿童(链接)
- John Doe(链接)已加入团队建筑师(链接)
- John Doe(链接)与 Dane Doe(链接)成为朋友
- Project Children(链接)发布了一张新照片(照片)...
所以它类似于Facebook墙。问题是如何将其存储在 Azure 上?目前我们正在使用 Azure SQL,我们将某些字段存储在 JSON 中,然后基于我们呈现活动的另一个字段。但是我们无法搜索那些非常糟糕的数据等。
我已经检查过非常适合的Table Services 。唯一的问题是性能和订购。许多人说通过非索引字段搜索真的很慢+我们需要排序(我不知道这里的默认排序是什么,可能是ASC - 我们需要DESC,其他地方ASC)。
其他人建议使用 Lucene.net,只是将数据存储在某处并让 lucene 索引数据。然后我们可以轻松搜索和订购。唯一的问题是更新索引(当我们在平台上做某事时,它必须立即显示,所以我们不能在 1h 左右重建索引)。我知道我们可能可以更新索引并重新索引比某个日期更年轻的记录。它可以工作。
第三个选项是安装像 mongodb 这样的 nosql 数据库。但是在网上阅读,没有人确认它是否有效。但我确实注意到 Azure 商店中有一个 mongodb。
你有什么建议?有没有人遇到过类似的问题,你是怎么解决的?