Azure BLOB Table 服务的效率如何?

How efficient can Azure BLOB Table service can be?

azure blob 表的效率如何?

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

谁能帮我理解背后的概念和思想?

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

这是一个三合一的问题:-)

table的效率如何
非常有效,如果使用得当。 table 中的每一行都有一个 PartitionKey 和 Rowkey。在查询数据时,如果您可以通过使用(部分)PartitionKey 和 RowKey 来减少集合,那么它的性能会非常好。一旦开始过滤其他列,性能就会下降得非常快。另请参阅有关此主题的 the docs

他们的确切用例是什么
它基本上是一个 key/value 对 nosql 解决方案。它可以非常有效地以快速且廉价的方式存储简单数据。在数据存储方面,它是最便宜的选择之一。 Tables 没有固定的模式(因此,nosql),用于存储例如日志、配置数据和简单的数据结构。

以及为什么它们通常与 Azure CosmosDB 等支持服务一起使用。
不是这种情况。 Azure Table 存储可以单独使用。 CosmosDB 有一个 Table API,它允许您针对为 Azure Table 存储编写的代码使用 CosmosDB,而无需修改代码。它允许卓越的性能,因为不仅 PartitionKey 和 Rowkey 被索引,而且所有其他列也被索引。因此,一旦您开始过滤其他列,性能仍然会非常好。但是在金钱方面会花费更多。

数据存储最好使用批处理,因为数据是按分区写入的。见Ivan的回答。

关于何时使用它的更多material:
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/