Azure BLOB Table服务的效率如何?

时间:2019-11-08 10:31:53

标签: azure azure-table-storage

天蓝色blob表的效率如何?

Azure BLOB服务也具有各种组件,例如容器,队列和表。表的效率如何,它们的确切用例是什么以及为什么通常将它们与Azure CosmoDB等支持服务一起使用。

有人可以帮助我理解这个概念并对其进行思考吗?

编辑:我面临的问题是我必须将C#中700,000条数据行的处理批记录到BLOB表中。如何以最佳做法实现这一目标?

1 个答案:

答案 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

https://blogs.msdn.microsoft.com/brunoterkaly/2013/01/13/knowing-when-to-choose-windows-azure-table-storage-or-windows-azure-sql-database/