对于像我这样的用户,Azure Blob 存储和 Azure Data Lake 存储之间的主要区别以及在什么情况下 Azure Blob 存储比 Azure Data Lake 存储更适合使用,反之亦然,似乎存在一些困惑。
谢谢。
对于像我这样的用户,Azure Blob 存储和 Azure Data Lake 存储之间的主要区别以及在什么情况下 Azure Blob 存储比 Azure Data Lake 存储更适合使用,反之亦然,似乎存在一些困惑。
谢谢。
Data Lake Storage Gen1 目的:优化用于大数据分析工作负载的存储
Azure Blob Storage 目的:通用对象存储,适用于各种存储场景,包括大数据分析
Data Lake Storage Gen1 使用案例:批处理、交互式、流式分析和机器学习数据,例如日志文件、物联网数据、点击流、大型数据集
Azure Blob Storage 使用案例:任何类型的文本或二进制数据,例如应用程序后端、备份数据、用于流媒体的媒体存储和通用数据。此外,完全支持分析工作负载;批处理、交互式、流式分析和机器学习数据,例如日志文件、物联网数据、点击流、大型数据集
更多详细信息,请参见此文档:比较 Azure Data Lake Storage Gen1 和 Azure Blob Storage,其中列出了 Azure Data Lake Storage Gen1 和 Azure Blob Storage 在一些大数据处理关键方面的差异。
Blob存储是一种具有平面结构的对象存储。 一个对象捆绑了一个文件和一个名称/标识符以及一些元数据。 在Blob存储中没有文件夹或层次结构的概念。虽然在使用Azure门户或存储资源管理器查看Blob存储容器时,文件名中使用斜杠(/)会给人一种层次结构的错觉。这种使用斜杠或文件名前缀可以被视为Blob存储中的虚拟文件夹。
(忽略已弃用的ADLS gen1)
Azure数据湖存储Gen2(ADLS)则是一种分层存储。它有文件夹的概念。文件就像您工作站上的本地文件系统一样存储在文件夹中。除此之外,它还具有类似于Linux的文件和文件夹ACL。ADLS是Azure的HDFS产品。
现在ADLS的真正好处在于它非常高效地移动文件、重命名文件、移动文件夹、重命名文件夹等。ADLS的高效目录操作对于像Databricks/Spark这样最适合在文件系统上运行的分析工作负载非常有益。
Databricks也可以使用Blob存储,但这些操作不会很高效,并且会涉及大量不必要的数据复制。例如:
使用像 Spark、Databricks 等工具的 ADLS,以及用于其他所有内容的 Blob 存储。还要注意,ADLS 的成本是 Blob 存储的 3 倍,并且可能缺少一些功能,例如 Blob 版本控制、时间点恢复等。
除了以上所述内容,Azure Data Lake Storage Gen2 是一组专为大数据分析而创建的功能,建立在 Azure Blob 存储之上。