在传统的 POSIX 系统中,您可能熟悉可以读取和访问传统意义上的文件夹的数据访问函数。 POSIX 的问题在于它从来没有真正设计用于通过网络处理非常大的文件。随着并发需求的增加,基于 POSIX 的系统的速度会降低,此时它无法扩展并满足这些需求。 POSIX 文件权限也很原始,无法处理身份和管理策略。文件的任何更改在提交之前都不会显示,因此当同时访问文件时,用户将看不到这些修改。当大型组织需要存储和访问海量数据以进行深度学习、人工智能和其他数据密集型用例时,他们通常会寻找可扩展的数据存储并使用 RESTful API 概念,这是他们习惯的云的标志,并且爱。
那么 MinIO 是如何脱颖而出的呢?为什么 MinIO 成为 AI 和 ML 工作负载的存储宠儿?如果我必须选一句话,那就是:简单性和易用性。开箱即用的 MinIO 具有企业级功能,例如对象级加密、版本控制和不变性 - 这些在 POSIX 世界中根本没有对应的功能,而且没有任何东西能够翻译它们。 MinIO 通过静态和传输中的加密来保护对象,并结合基于策略的访问控制 (PBAC) 来调节访问和擦除编码以保护数据完整性。无论您在何处运行 MinIO,您都将获得尽可能最佳的性能,因为它利用底层硬件来提供尽可能最佳的性能。
为了达到这种水平的性能、可扩展性和丰富的功能,MinIO 以独特的方式存储对象,让我们深入了解一下。
那么它是前缀还是文件夹?
在 MinIO 对象存储领域,所有内容都存储在平面结构中。原因是 POSIX 文件系统的分层性质是其缺点之一。 MinIO 通过保持一切平坦来消除它。但我们大多数人使用的应用程序不一定是云原生的,已经习惯了使用结构(主要是文件夹)来组织其中的数据。
因此,为了迎合每个人的需求,MinIO 使用“文件夹”作为组织放入其中的对象的方法。文件夹只不过是一个以斜杠 object_name/
结尾的对象。它没有大小、没有内容,也没有任何类型的元数据可供显示。它只是一种以合理的方式将对象分组在一起的方法,以便用户了解其对象的位置。
那么,什么是前缀呢?一串文件夹构成了前缀(有时称为路径)。当您组合前缀(文件夹字符串)和对象名称时,它就成为对象键。最好用一个例子来说明这一点。
假设您有以下对象
myminio/vacation-photos/2024/cancun/my-hotel.jpg
myminio/vacation-photos/2024/cancun/my-car.jpg
myminio/vacation-photos/2024/cancun/my-boat.jpg
您看到的第一个“文件夹” myminio/ 实际上是别名,您可以使用下面的命令添加它。
mc alias set myminio https://myminio.example.net adminuser adminpassword
因此,如果您有另一个 MinIO 集群,您将添加另一个别名,如下所示
mc alias set myminio2 https://myminio2.example.net adminuser adminpassword
存储桶名称为 vacation-photos/
。这是所有对象实际存储的地方。在存储桶内,可以创建文件夹来组织数据。在上面的示例中, cancun/2024/
是存储对象 my-hotel.jpg
、 my-car.jpg
和 my-boat.jpg
的文件夹。
当您组合 ALIAS + BUCKET NAME + FOLDERS 时,它会成为可以存储多个对象的前缀 myminio/vacation-photos/2024/cancun/ 。当您添加对象名称 my-hotel.jpg 时,整个字符串将成为一个键,如下所示 myminio/vacation-photos/2024/cancun/my-hotel.jpg 。
在内部,MinIO 将使任何以 / 结尾的对象成为文件夹类型对象,并且您可以添加更多以 / 结尾的对象,例如 2024/ 、 2023/ 等等。但请注意,你不能在桶中放一个桶。例如,在 vacation-photos/ 中,您不能有如下所示的 myotherbucket/ 。您不会看到它在 MinIO 中被列为存储桶。
myminio/vacation-photos/myotherbucket/
它需要像这样
myminio/vacation-photos/
myminio/myotherbucket/
突击测验!!!
我知道,我在高中时也讨厌这些,但相信我,如果我在上面解释清楚的话,这个会容易得多。因此,无论你在这次测验中表现好与否,都取决于我。
每个问题的答案都在与页面背景颜色匹配的文本中。如果您在下面突出显示每个问题,您将看到答案。试着看看你答对了多少。
注意:如果突出显示不起作用,请将下面的全部内容复制到基于文本的记事本以显示答案。
假设您有一个存储桶,其中只有一个对象位于以下位置
imtoo/cool/for/school/image1.jpg
-
前缀是哪一个?
-
别名是哪一个?
-
存储桶名称是哪一个?
-
对象名称是哪一个?
-
里面的对象是哪个文件夹名?
-
哪一个是关键名称?
-
该存储桶总共有多少个文件夹以及它们的名称是什么?
-
一个文件夹内可以创建多少个文件夹?
-
一个桶内可以创建多少个桶?
没有突出显示的情况下,你答对了多少?我希望他们所有人。
我听说你喜欢 POSIX
正如您所看到的,文件夹、前缀和路径本质上是一种在 MinIO 内组织对象的机制。它是文件夹类型对象的构造,可让您在想要查看对象时了解数据所在的位置。此外,这些文件夹和前缀可用于创建 IAM 规则和策略,以确保每个对象没有重复的角色,并且可以一次性将您的设置应用到一整套前缀。
如果您对前缀或文件夹有任何疑问,请联系MinIO中国。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/107137.html