天蓝色blob表的效率如何?
Azure BLOB服务也具有各种组件,例如容器,队列和表。表的效率如何,它们的确切用例是什么以及为什么通常将它们与Azure CosmoDB等支持服务一起使用。
有人可以帮助我理解这个概念并对其进行思考吗?
编辑:我面临的问题是我必须将C#中700,000条数据行的处理批记录到BLOB表中。如何以最佳做法实现这一目标?
答案 0 :(得分:2)
这是一个三合一的问题:-)
表格的效率如何
如果正确使用,将非常有效。表中的每一行都有一个PartitionKey和Rowkey。查询数据时,如果可以通过使用PartitionKey和RowKey(的一部分)来简化设置,则效果很好。一旦开始对其他列进行过滤,性能就会很快下降。有关此主题,另请参见the docs。
他们的确切用例是什么
它基本上是一个键/值对nosql解决方案。它可以非常有效地用于以快速和廉价的方式存储简单数据。在数据存储方面,它是最便宜的选择之一。表没有固定的架构(因此,nosql),并且用于存储例如日志,配置数据和简单的数据结构。
,以及它们为什么通常与Azure CosmosDB等支持服务一起使用。
不是这种情况。 Azure表存储可以单独使用。 CosmosDB具有Table API,可让您针对为Azure Table Storage编写的代码使用CosmosDB,而无需修改代码。由于不仅对PartitionKey和Rowkey进行了索引,而且对所有其他列都进行了索引,因此它具有出色的性能。因此,一旦您开始对其他列进行过滤,性能仍然会很好。但这会花更多的钱。
最好使用批处理来完成数据存储,因为每个分区写入数据。请参阅伊万的答案。
有关何时使用它的更多材料:
https://markheath.net/post/azure-tables-what-are-they-good-for