Azure Blob 表的效率如何?
Azure BLOB 服务也有各种组件,例如容器、队列和表。表的效率如何、它们的确切用例是什么以及为什么它们通常与 Azure CosmoDB 等支持服务一起使用。
谁能帮助我理解其背后的概念和思想?
编辑:我面临的问题是我必须将 C# 中的 700 000 个数据行的处理批处理记录到 BLOB 表中。我如何在最佳实践中实现这一目标?
最佳答案
这是一个三合一的问题:-)
表格的效率如何
如果使用得当,非常有效。表中的每一行都有一个 PartitionKey 和 Rowkey。查询数据时,如果您可以通过使用(部分)PartitionKey 和 RowKey 来减少集合,那么它的性能会非常好。一旦开始过滤其他列,性能就会快速下降。另请参阅the docs关于这个话题。
他们的确切用例是什么
它基本上是一个键/值对 nosql 解决方案。它可以非常有效地以快速且廉价的方式存储简单数据。就数据存储而言,它是最便宜的选择之一。表没有固定的模式(因此,nosql),用于存储日志、配置数据和简单的数据结构等。
以及为什么它们通常与 Azure CosmosDB 等支持服务一起使用。
不是这种情况。 Azure 表存储可以单独使用。 CosmosDB 具有表 API,可让您针对为 Azure 表存储编写的代码使用 CosmosDB,而无需修改代码。它可以实现卓越的性能,因为不仅 PartitionKey 和 Rowkey 被索引,所有其他列也被索引。因此,一旦您开始过滤其他列,性能仍然会非常好。但它会花费你更多的钱。
数据存储最好使用批处理来完成,因为数据是按分区写入的。参见伊万的回答。
有关何时使用它的更多 Material :
https://markheath.net/post/azure-tables-what-are-they-good-for
关于azure - Azure BLOB 表服务的效率有多高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58764834/