Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure blob storage 我应该如何使用Azure Blob容器?_Azure Blob Storage - Fatal编程技术网

Azure blob storage 我应该如何使用Azure Blob容器?

Azure blob storage 我应该如何使用Azure Blob容器?,azure-blob-storage,Azure Blob Storage,我目前的做法是,我有几个容器: raw(实际的raw文件或导出,分为servicenow案例、servicenow用户、playvox评估等文件夹) 暂存(轻微转换的原始数据) 分析(这些是拼花文件目录,用于合并和分割文件) 可视化(我们使用与Azure Blob同步的第三方工具,但目前仅使用CSV文件。这与分析容器几乎完全相同) 然而,创建更多的容器并像使用数据库模式一样使用它们也是有意义的。例如,一个容器用于ServiceNow数据,另一个容器用于LogMeIn数据,另一个容器用于我们的

我目前的做法是,我有几个容器:

  • raw(实际的raw文件或导出,分为servicenow案例、servicenow用户、playvox评估等文件夹)
  • 暂存(轻微转换的原始数据)
  • 分析(这些是拼花文件目录,用于合并和分割文件)
  • 可视化(我们使用与Azure Blob同步的第三方工具,但目前仅使用CSV文件。这与分析容器几乎完全相同)
然而,创建更多的容器并像使用数据库模式一样使用它们也是有意义的。例如,一个容器用于ServiceNow数据,另一个容器用于LogMeIn数据,另一个容器用于我们的电话系统,等等


有什么更好的方法吗?

根据您的描述,使用少量容器来存储大量水滴或使用大量容器来存储少量水滴似乎有些纠结。如果您只考虑并行性和可伸缩性,那么您可以放心,只需设计适合您的存储结构即可。因为Azure Blob存储中的分区是在Blob级别完成的,而不是容器

这两种方法各有优缺点

对于少量容器,它可以节省创建容器的成本(创建容器的操作需要您付费)。但同时,当您尝试列出容器中的blob时,将列出其中的对象。如果内部仍然有一个子集,则仍然需要继续获取,在这种情况下,性能低于批量容器解决方案。同时,您设置的安全边界将应用于此容器中的所有blob。这不一定是你想要的


对于大量结构化容器,更多容器可以设置更多安全边界(自定义访问权限、访问控制SAS签名)。列出blob也很容易,不需要更多混乱的子集来捕捉。但同样,它的缺点是在创建容器时会有更多的消耗(在极端情况下,它会增加很多成本。一般来说,这并不重要。一个计算成本的网站:)。

嗨,如果我的答案回答了你的问题,你能把它标记为这个问题的答案吗?