gee*_*ran 5 json azure azure-redis-cache azure-blob-storage azure-cosmosdb
我们在 WebAPI 中有要求,以 JSON 的形式从外部 API 提取有效负载,清理并将其发布到 Azure Sql 中。对于此要求,我们目前依赖于 blob 存储,将 json 有效负载存储到 azure blob 中,并将其检索到 UI 中以进行数据清理活动。用户可以花费大量时间来验证数据并根据需要进行修改。用户可能会起草几天,并在完成所有清理后单击“导入”按钮。现在,我观察到,在这些草稿期间,blob 只是被检索并反序列化到对象列表中,以找到要更新的相应属性。一旦更新完成,当用户单击“草稿”时,同一列表将被序列化为 json 并存储回 blob。序列化/反序列化的过程似乎很昂贵。相反,我正在考虑用 Cosmos DB 替换 blob。这真的会即兴表演吗?建议 Azure Sql Json 支持是否比所有这些选项更可行?我什至想到了 Redis 缓存?决策的主要因素也是成本效益。
如果您喜欢搜索 JSON 对象并且搜索结果的大小明显小于整个对象列表,那么使用 Cosmos DB 将具有巨大的性能优势。无论如何,您都将为查询返回的对象支付序列化/反序列化费用,因为它们应该通过网络发送到您的应用程序。
Cosmos DB 的价格比标准 Blob 存储高得多,但这是一个处理 JSON 工作负载的非常简单的工具。您拥有 SQL 和 MongoDB 查询 API,以某种方式您将能够设计与数据库无关的应用程序(至少在查询级别)。
我认为,如果您有比其他对象更频繁地查阅的 JSON 对象列表,那么使用 Redis 缓存是有意义的,因此您可以将它们预加载到缓存,利用更高性能的搜索操作,并稍后上传到持久 Blob 存储。
| 归档时间: |
|
| 查看次数: |
12905 次 |
| 最近记录: |