我对 Azure 存储比较陌生,并且已经实施了一段时间的解决方案。而且我不断遇到障碍,让我觉得我没有为我正在存储的数据应用正确的存储类型。
所以这更像是一个整体问题:
- 什么时候应该使用 Azure SQL?
- 何时应使用 Azure 表存储?
- 何时应使用 Azure Blob?
到目前为止,我一直在使用表存储,现在我正在为此付费。随着解决方案需求的增长,我发现自己无法根据需要访问数据。
例如,我需要获取表中的 50 个最新条目,但我不能在查询中使用 OrderBy。我需要获取条目的总数,但不能使用 Count。
我一直觉得,我计划定期访问的任何数据,但不知道确切的 RowKey 和 PartitionKey 都应该在 Azure SQL 中建立索引,并存储在表中。这个对吗?
我还发现自己将对象重新创建为实体对象,但是由于数据类型的非常严格的限制,我经常最终只是将对象序列化为字节数组。尽管一个表行最多可以容纳 1MB,但该行上的字节数组可能只能容纳 64KB,此时我最终改用 Blob 存储。
所以最后我觉得我最好将所有数据放在 Azure SQL 中并索引更大的数据,但将其保存为 blob。当然,这感觉不太对劲,因为那样会使表存储没有真正的用途。
所以我想知道是否有关于何时使用哪种存储的指南。
就我而言,我在某些区域有非常大量的数据,其中一些占用了相当多的空间(通常超过 64KB),但我还需要非常频繁地访问数据,并且需要能够对其进行过滤和排序通过某些值。
- 我真的需要索引我计划在 SQL 中访问的所有数据吗?
- 对于任何可能超过 64KB 的数据,我最好避免使用 Table 吗?
我觉得有些事情我做的不对。我不明白的东西。我在这里想念什么?