无论您是经验丰富的云架构师,还是刚入门了解云的细微差别的新手,您都会在某个时刻遇到一种有趣的存储选项——对象存储,用于存储或归档您的非结构化数据。在本文中,您将了解对象存储及关键工具,如 MinIO、Cyberduck 等。
理解对象存储
对象存储是一种 数据存储架构,将信息管理为称为 对象 的离散单元,而不是作为文件夹中的文件或服务器上的块。每个对象通常包括数据本身、可变数量的元数据和一个全球唯一标识符。这种方法在处理大量非结构化数据时,相对于传统存储方法提供了几个优势。
对象存储的关键特性
- 可扩展性:对象存储系统可以轻松扩展到 PB 级及以上,非常适合数据需求快速增长的企业。
- 耐用性:通过数据消除编码和数据复制等技术,对象存储确保高数据耐用性和可用性。
- 成本效益:通过消除对昂贵专用硬件的需求,对象存储可以显著降低存储成本。
- 元数据丰富性:能够为每个对象关联广泛的元数据,增强了可搜索性和数据管理能力。
- 基于API的访问:RESTful API使得将对象存储与各种应用程序和服务集成变得更加容易。
对象存储的工具和技术
已经出现了许多工具和技术来支持和增强对象存储系统。让我们来探讨一些最重要的工具和技术:
MinIO
MinIO是一个面向云原生应用设计的开源、高性能对象存储系统。它为存储和检索大量非结构化数据(如文档、图像和视频)提供了一个可扩展和高效的解决方案。MinIO兼容Amazon S3 API,因此成为组织在实施本地或混合云存储解决方案时的热门选择。
MinIO的主要特点
MinIO提供了几个显著的功能,使其成为一种强大的对象存储解决方案:
- S3兼容性:MinIO完全支持Amazon S3 API,可与现有的S3兼容工具和应用程序无缝集成。
- 高性能:MinIO针对现代硬件进行了优化,提供低延迟和高吞吐量的数据访问。
- 可扩展性:MinIO可以以分布式模式部署,实现跨多个节点的水平扩展。
- 数据保护:它实现了纠删码以防止数据丢失并确保高可用性。
- 安全性: MinIO 提供静态和传输中数据的加密,以及身份管理功能。
- 事件通知: 支持为特定事件(如对象创建或删除)配置可执行的操作或触发器。
- 生命周期管理: 允许定义规则以管理对象生命周期,包括自动在存储层之间过渡。
MinIO 客户端 (mc)
MinIO 提供一个强大的命令行接口,称为 MinIO 客户端 (mc),允许用户与 MinIO 服务器和其他S3 兼容存储服务进行交互。该 CLI 为管理对象存储提供了传统 UNIX 命令的现代替代方案。
MinIO 客户端的主要特性
- 跨平台支持: mc 适用于各种操作系统,包括 Windows、macOS 和 Linux。
- S3 兼容性: 它可以与任何 S3 兼容存储服务进行交互,而不仅限于 MinIO 服务器。
- 熟悉的语法: mc 命令设计得类似于常见的 UNIX 命令,使许多用户易于理解。
- 丰富的功能: 提供广泛的命令用于管理存储桶、对象和服务器配置。
基本的 mc 命令
mc alias
: 管理服务器凭据和配置。mc ls
:列出存储桶和对象,类似于UNIX的ls命令。mc mb
:创建一个新的存储桶。mc cp
:在本地文件系统和对象存储之间,或在对象存储服务之间复制对象。mc mv
:在存储位置内或之间移动对象。mc rm
:删除对象或存储桶。mc mirror
:在不同位置之间同步对象。mc find
:根据各种标准搜索对象。mc diff
:比较两个位置之间的对象。mc cat
:显示对象内容。
使用MinIO客户端
要使用mc,您首先需要为您的MinIO服务器设置别名:
mc alias set myminio https://s3.<REGION>.<ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>
设置别名后,您可以执行各种操作。例如:
列出存储桶:
mc ls myminio
创建一个新存储桶:
mc mb myminio/newbucket
将文件复制到MinIO:
mc cp myfile.txt myminio/newbucket/
从MinIO下载对象:
mc cp myminio/newbucket/myfile.txt ./
高级搜索
匹配符合通配符模式的目录名称:
mc find myminio/newbucket --path "*logs*"
递归列出:
mc ls --recursive myminio/newbucket
mc ls --summarize myminio/newbucket
MinIO客户端提供了一整套命令用于管理您的对象存储,使其成为与MinIO或其他兼容S3存储系统的管理员和开发人员的强大工具。其直观的语法和丰富的功能集使其成为MinIO生态系统中的一个重要组成部分,能够高效管理和与对象存储资源交互。
Cyberduck
Cyberduck是一个免费的FTP、SFTP、WebDAV、S3和OpenStack Swift浏览器,适用于Mac和Windows。虽然它本身并不是一个对象存储系统,但它是与对象存储服务交互的宝贵工具。其特点包括:
- 用户友好的界面,用于管理文件和桶
- 支持多个云存储提供商
- 能够直接在外部编辑器中编辑文件
- 本地和远程文件的同步
- 与系统钥匙串集成,安全存储凭证
S3集成的主要特性
- 简单的连接设置:用户可以通过选择Amazon S3协议并提供其访问密钥ID和秘密访问密钥来创建S3连接。
- 桶管理:Cyberduck允许用户直接通过其界面创建、删除和管理S3桶。
- 文件操作:用户可以使用拖放功能在S3桶内上传、下载和管理文件。
- 安全选项:Cyberduck支持S3中的服务器端加密,包括AWS密钥管理服务(KMS)的选项。
- 版本控制支持:该应用程序支持管理 S3 桶的版本,允许用户保存、检索和恢复不同的对象版本。
- 高级搜索:支持使用
*
或?
的通配符模式搜索。以下是一个示例,如 Cyberduck 文档中提到的。
通配符 |
描述 |
示例 |
匹配 |
---|---|---|---|
|
匹配任意数量的任意字符,包括零个 |
Te* |
Test、Tee 或 Termin |
|
匹配任意单个字符 |
?bc |
Abc、abc 或 lbc |
比较图表和其他工具
此图表比较了我在日常与对象存储桶交互中使用的各种工具。以下是我列出的一些其他工具供您参考:
除了 MinIO、Cyberduck 和 S3 Browser,对象存储和文件传输领域还有几个其他显著的工具:
- RaiDrive:一款Windows工具,允许用户将云存储服务和网络驱动器连接为本地驱动器,支持WebDAV、FTP和SFTP连接。
- Commander One:一款适用于macOS的双窗格文件管理器,支持FTP、FTPS和SFTP,可与云存储账户集成。
- FileZilla Pro:一款流行的FTP客户端,同时支持S3和其他云存储协议。
- LucidLink:提供与S3和其他对象存储系统兼容的云原生文件系统。
- Rclone:一款用于将文件和目录与各种云存储提供商同步的开源命令行工具,包括S3。
- AWS CLI:用于与AWS服务(包括S3)交互的官方命令行界面。
- S3cmd:专为管理Amazon S3中的数据而设计的命令行工具。
- CloudBerry Explorer:专为Amazon S3和其他云存储服务设计的文件管理器。
- CrossFTP Pro:支持S3以及其他协议的多协议文件传输客户端。
- Airfile:另一款支持S3的文件传输客户端。
结论
这些工具提供了各种功能,用于管理对象存储,从图形界面到命令行实用程序,满足云存储生态系统中不同用户需求和偏好。
进一步阅读
Source:
https://dzone.com/articles/top-tools-object-storage-data-management