使用 MinIO Enterprise 对象存储目录搜索命名空间和元数据并为其建立索引
我们最大的客户(那些拥有 EB 级数据和数千亿个对象的客户)所面临的挑战之一是无法有效地搜索和查询命名空间,从而为组织创建可用的清单。对于管理员来说,无论是治理、审核、合规性还是相关任务,这都是一项关键功能。MinIO 通过 MinIO 企业对象存储目录解决了这一挑战,该目录仅在企业产品中提供。
考虑问题的规模。
即使只有十亿个对象,LIST 函数也必须运行 1,000,000 次才能完成。这是计算密集型的,并且妨碍了对象存储的核心功能,即有效地为对象提供服务。即使你在十亿个对象上运行了你的 LIST 函数,你仍然没有任何可用的东西。然后,您需要运行 HEAD object 命令从对象中检索元数据(我们知道这不会返回对象本身)。
即使已执行此操作,也无法查询元数据。当然,除非你建立了一个元数据的数据库。如前所述,这是一个可怕的想法,容易大规模失败(尤其是这种规模)。
甚至亚马逊的 S3 Inventory 产品也是命令、CSV 和 Presto 数据库(运行 -> 导出 ->上传 ->查询)的一大堆。
对象存储领域需要一个简单而强大的解决方案来解决这个问题。这就是我们构建 MinIO 企业目录的原因。通过添加 MinIO Enterprise Catalog 功能,管理员无需执行任何操作即可访问其命名空间的完整视图,并能够使用熟悉且极快的 GraphQL 界面查询该命名空间(和相关元数据)。
用户可以从一个易于使用的界面(MinIO Enterprise Object Store Console)访问所有这些功能,而无需任何外部服务或数据库。此外,MinIO 的企业目录始终是最新的——任何手工构建的方法在数据导出之前都会过时——使用企业目录,数据会自动编制索引并随时可供使用。让我们看一下它如何在企业控制台中运行,以回答分布在许多存储桶中的数十亿个对象的以下问题:
- 哪些对象的键或文件名中具有特定的前缀?

- 在此日期之后添加了多少个对象?

- 有多少个物体大于这个特定大小?

如何增强对象存储管理
企业目录可以通过两种关键方式增强 MinIO 中的对象存储管理:
- **高效查询:**企业目录通过提供内置的、易于使用的 GraphQL 界面,使用户能够轻松浏览对象存储命名空间。事实证明,此功能对于常见但关键任务的任务(如按存储容量使用计费计算、合规性检查和其他操作自动化)非常宝贵。
- **实时、持续更新的信息:**Enterprise Catalog 的一个突出特点是它提供实时、持续更新的信息,而不会影响系统性能。对于需要在不影响存储基础架构速度和响应能力的情况下及时了解动态数据集的用户来说,此功能将改变游戏规则。
使用案例
以下是一些可能的用例:
- **合规性检查:**企业目录通过促进对具有特定元数据的对象进行实时检查,在简化合规性管理方面发挥着至关重要的作用。此功能可确保治理和安全协议不仅已建立,而且始终保持最新状态。无论是验证是否符合行业标准还是确认数据分类,Catalog 通过 GraphQL 界面的高效查询使其成为维护法规遵从性的宝贵工具。
- **运营自动化:**企业目录被证明是运营自动化的基石,为用户简化了一系列日常任务。从检查复制状态到保持细致的库存控制,GraphQL 界面使用户能够毫不费力地导航和管理其对象存储环境。这不仅提高了整体运营效率,还使用户能够积极主动地及时解决任何潜在问题。该目录的实时、持续更新的信息确保了自动化流程的精确执行,有助于实现更精简、响应更迅速的运营工作流程。
- **管理空间利用率:**企业目录提供了一个工具,允许用户使用特定前缀或其他元数据命名空间查询参数快速计算 MinIO 中对象使用的空间量。此操作避免了在 MinIO 服务器中列出所有对象以节省宝贵 IOPS 的效率低得多的操作过程。
结论
MinIO 企业对象存储目录功能反映了 MinIO 的创新和以用户为中心的设计。通过提供 GraphQL 接口,MinIO 简化了对对象存储元数据执行复杂查询的过程,无需自定义脚本。
从本质上讲,企业目录不仅仅是一项功能;它代表了一种前瞻性的对象存储方法。它与客户不断变化的需求无缝衔接,提供动态响应的解决方案,为用户友好的设计和性能优化树立了标杆。随着 MinIO 的不断发展,企业目录功能成为深思熟虑的创新如何提升存储解决方案的功能和可用性的一个典型例子。