Hubbry Logo
MinIOMinIOMain
Open search
MinIO
Community hub
MinIO
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
MinIO
MinIO
from Wikipedia
MinIO Object Storage
DevelopersMinIO, Inc
Initial releaserelease-1434511043[1] Edit this on Wikidata / 17 June 2015; 10 years ago (17 June 2015)
Stable release
2025-06-13T11-33-47Z[2] Edit this on Wikidata / 23 June 2025; 4 months ago (23 June 2025)
Repository
Written inGo
TypeObject storage
LicenseGNU Affero GPL
Websitemin.io Edit this on Wikidata

MinIO is an object storage system released under GNU Affero General Public License v3.0.[3] It is API compatible with the Amazon S3 cloud storage service. It is capable of working with unstructured data such as photos, videos, log files, backups, and container images with the maximum supported object size being 50TB.[4]

History & development

[edit]

MinIO is developed by MinIO Inc, a Silicon Valley–based technology startup founded in November 2014.[5]

MinIO has published a number of benchmarks to disclose both its own performance and the performance of an object storage in general. These benchmarks include comparisons to an Amazon S3 for Trino, Presto, and Spark, as well as throughput results for the S3Benchmark on HDD and NVMe drives.[6][7]

MinIO was originally released under Apache License 2.0, but in 2021 it was migrated to AGPLv3.[8]

MinIO releases a free "community edition" which is only distributed as a source code release and has a greatly simplified administration interface.[9][10]

Architecture

[edit]

MinIO's storage stack has three major components: MinIO Server, MinIO Client (a.k.a. mc, which is a command-line client for the object and file management with any Amazon S3 compatible servers), and MinIO Client SDK, which can be used by application developers to interact with any Amazon S3 compatible server.

MinIO Server

[edit]

MinIO cloud storage server is designed to be bundled along with an existing application stack, and is optimized for large enterprise deployments. MinIO server can be installed both on physical and virtual machines or launched as Docker containers and deployed on container orchestration platforms like Kubernetes.[11]

MinIO Client

[edit]

MinIO Client provides an alternative to the standard UNIX commands (e.g. ls, cat, cp, mirror, diff, etc.) and adds support for Amazon S3 compatible cloud storage services. It works on Linux, Mac, and Windows platforms.[12]

MinIO Client SDK

[edit]

MinIO provides client SDK for Go, Java, Python, JavaScript, Haskell, and .NET Framework to access any Amazon S3 compatible object storage server.[13][failed verification]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
MinIO is a high-performance, open-source system that is fully compatible with the , enabling seamless integration with existing tools and applications. Released under the AGPL v3.0 , it is designed for demanding workloads such as AI/ML, data analytics, and large-scale data pipelines, offering exascale scalability in a single flat . Founded in November 2014 by Periasamy, Garima , and Harshavardhana in , MinIO Inc. developed the software to address the growing need for efficient, software-defined storage solutions in private and hybrid environments. Key to its architecture is its Kubernetes-native deployment model, which supports containerized and for rapid scaling across edge, on-premises, and multi-cloud setups. MinIO delivers exceptional throughput—up to 21.8 TiB/s—while saturating hardware without bottlenecks, making it particularly suited for AI data infrastructure where low latency and high are critical. It integrates natively with major AI frameworks like and , and its S3 compatibility ensures portability and cost-effectiveness compared to proprietary cloud services. Widely adopted by enterprises, MinIO powers storage for over 77% of companies, including major banks, retailers, and automotive firms, due to its , zero , and 40% lower . The project has garnered significant community support, with over 53,000 stars, more than 2 billion downloads, and enterprise-grade support options through MinIO AIStor for production deployments. In 2025, MinIO faced criticism from the open-source community for removing the web-based admin UI from the community edition and ceasing distribution of pre-built binaries, shifting to a source-only model that requires users to compile from source.

History and Development

Founding and Initial Release

MinIO was founded in November 2014 in by Periasamy, Garima Kapoor, and Harshavardhana to address the growing demands of in private environments. The company's inception stemmed from the founders' prior experience with distributed systems, including Periasamy's work on GlusterFS, and aimed to provide a lightweight alternative to proprietary storage solutions. The initial motivation behind MinIO was to develop high-performance, S3-compatible that avoided , enabling seamless integration with cloud-native applications without dependency on specific providers like AWS. Written in the Go programming language, the software prioritized simplicity, concurrency, and speed to handle large-scale data efficiently on commodity hardware. This design choice facilitated rapid development and deployment, focusing on core functionality with minimal overhead. On June 17, 2015, MinIO released its first public version as an open-source project under the Apache License 2.0, coinciding with the announcement of a $3.3 million seed funding round. Early development emphasized single-node deployments for developer laptops and simple setups, which quickly evolved to support distributed configurations for scalability in production environments. In subsequent years, MinIO transitioned its licensing to AGPLv3 to better align with community-driven governance.

Licensing Evolution

MinIO was initially released under the 2.0, which permitted broad commercial use, modification, and distribution without requiring the sharing of derivative works, fostering widespread adoption in both open-source and proprietary environments. This permissive license supported MinIO's growth as a high-performance solution compatible with the API. In May 2021, MinIO transitioned its community edition to the GNU Affero General Public License version 3 (AGPLv3), completing the shift with release version RELEASE.2021-05-11T23-27-41Z, to safeguard against proprietary forks by large cloud providers while upholding its commitment to principles. The AGPLv3 requires that any modifications or networked uses of the software be made available under the same license, addressing concerns over "openwashing" where companies could offer based on MinIO without contributing back to the community. This change applied to the server, client, and gateway components, ensuring protection for collaborative development. MinIO introduced a dual-licensing model to balance community access with enterprise needs, offering the Community Edition under the source-available AGPLv3 license for developers building open-source applications, while providing a subscription-based Enterprise Edition (later rebranded as AIStor) under a commercial that includes advanced features such as active-active replication for multi-site . The Enterprise Edition enables high-availability configurations with near-synchronous replication across geographically distributed sites, real-time alerts, and support for production-scale deployments without AGPLv3 compliance obligations. In June 2025, MinIO further differentiated the editions by removing advanced administrative features from the Community Edition's web console, limiting it to a basic object browser and requiring the use of the (mc) for management tasks, thereby directing enterprise users toward the paid offering. These changes, along with an October 2025 decision to distribute the Community Edition as only—ceasing pre-compiled binaries and official Docker images—have sparked significant community backlash and debates over open-source accessibility and trust, with calls for forks and alternatives emerging on platforms like and . The AGPLv3 adoption has influenced MinIO's development trajectory by encouraging community contributions through its copyleft requirements, while imposing restrictions on providers that seek to offer managed MinIO services without open-sourcing their modifications, thus promoting transparency and sustained innovation in the open-source ecosystem. This licensing evolution has sparked debates on the balance between open-source accessibility and commercial sustainability, with the dual model allowing MinIO to fund ongoing enhancements while maintaining a viable community-driven core.

Recent Advancements

MinIO has secured significant to support its expansion, raising a total of $126 million across three rounds, with the largest being a $103 million Series B in January 2022 led by and including participants such as SoftBank Investment Advisers and Capital. The project's open-source community has grown substantially, surpassing 685 contributors on by 2021 and reaching over 56,000 stars and 6,300 forks as of October 2025, reflecting broad adoption and ongoing development through frequent releases. This momentum continued with a stable release tagged on June 13, 2025, and subsequent updates including a release on October 15, 2025, ensuring compatibility and enhancements for production environments. In November 2024, MinIO launched AIStor, an evolution of its Enterprise Object Store tailored for exascale AI data challenges, introducing features like the promptObject for direct interaction with stored files and S3 over RDMA for high-speed data transfer to GPUs. This release builds on prior reference architectures, such as the DataPod introduced in August 2024, which provides a blueprint for scalable, cost-efficient AI/ML infrastructure in 100 PB increments. On November 13, 2025, MinIO announced ExaPOD, a modular reference architecture extending DataPOD to exabyte-scale AI deployments, developed in collaboration with partners like , Solidigm, and , to deliver high-performance storage for large AI clusters. By 2025, MinIO expanded its partner program on June 11 to bolster the AI ecosystem, offering enhanced incentives, , certifications, and tiering to meet surging demand for AI-scale solutions. A MinIO survey of 656 IT organizations further highlighted this shift, revealing that 44% are adopting in data lakehouses to support AI workloads, underscoring its role as a foundational layer for advanced and model .

Architecture

MinIO Server

The MinIO Server serves as the core engine of the MinIO object storage system, implemented as a lightweight binary executable typically under 100 MB in size. This binary is designed to run efficiently on various operating systems, including , macOS, and Windows, enabling straightforward deployment without complex dependencies. It supports both single-node configurations for development or small-scale use and distributed modes for production environments, requiring a minimum of four drives in total across the cluster to enable erasure coding and high availability. In distributed deployments, the MinIO Server organizes into server pools for across multiple nodes, using a simple coordination mechanism without complex consensus protocols or a central coordinator. Objects are stored in a flat , where all data and associated metadata are kept in-band directly with the object files, eliminating the need for separate metadata databases and simplifying management. This architecture ensures consistent performance and , as any node can handle read or write operations independently. Key data management features include inline bit-rot detection, which scans objects for silent data corruption during reads and heals them using redundancy mechanisms. The server also provides automatic failover in distributed setups, redirecting operations to healthy nodes upon failure detection. It accommodates large-scale storage needs, supporting objects up to 50 TiB in size. For optimal I/O throughput, the MinIO Server is optimized for commodity hardware, with a particular emphasis on NVMe or SSD drives to maximize performance in high-throughput scenarios.

MinIO Client

The MinIO Client, commonly known as mc, is an open-source command-line tool that serves as a modern alternative to UNIX utilities for managing , enabling mirroring, administration, and debugging of S3-compatible servers across multiple cloud providers including , , and any S3-compliant endpoint. Written in Go, it supports filesystems and cloud object stores via AWS Signature versions 2 and 4, facilitating operations like and policy enforcement without requiring custom scripting for basic tasks. Key commands encompass bucket and object , such as mb to create a new (mc mb myminio/mybucket), cp to copy objects locally or remotely (mc cp localfile.txt myminio/mybucket/), ls to list or objects (mc ls myminio), and diff to compare differences between remote sites (mc diff site1/ site2/). Administrative functions include through subcommands like mc admin policy create to define access rules and mc admin policy attach to assign them to users or groups, ensuring fine-grained control over permissions. Installation is cross-platform and efficient, with pre-built binaries available for , macOS, and Windows from the official download site; for example, on , users download the archive, extract it, and add the binary to their PATH, while Go users can install directly via go install github.com/minio/mc@latest. Usage begins with configuring aliases for secure access to remote servers (mc alias set myminio http://[example.com](/page/Example.com) ACCESSKEY SECRETKEY), allowing seamless workflows such as mirroring data between providers (mc mirror --overwrite local/ myminio/[bucket](/page/Bucket)/) to replicate content reliably. Distinctive features include high-speed parallel transfers for large-scale operations and built-in resumable support via the --continue flag in cp or session resumption with mc session resume, which handles interruptions without restarting from scratch. Additionally, its design promotes scripting for , such as batch jobs for periodic backups or integration into pipelines, enhancing administrative efficiency in diverse environments. The CLI pairs with SDKs for more advanced programmatic interactions in languages like Python and .

SDKs

MinIO provides official software development kits (SDKs) in multiple programming languages, including Go, , Python, .NET, , C++, , and . These SDKs expose S3-compatible APIs that enable developers to perform core operations, such as uploading (put), downloading (get), and removing (delete) objects, along with bucket management tasks like creation and listing. The SDKs emphasize a lightweight design, stripping away unnecessary features from broader cloud S3 libraries to minimize dependencies and overhead while maintaining full compatibility with MinIO's S3 implementation. Common capabilities across the SDKs include support for multipart uploads to handle large files efficiently and the generation of presigned URLs for time-limited, secure access without exposing credentials. For example, the Python SDK, known as minio-py, additionally supports configuring bucket notifications to trigger actions on events like object uploads or deletions. Hosted on under the MinIO organization, the SDKs are actively maintained with release versions aligned to MinIO server updates, ensuring seamless integration and compatibility in production environments. Each repository includes code examples and guides for embedding MinIO functionality into applications, such as file uploaders or data pipelines. To use an SDK, developers typically initialize a client object by specifying the MinIO endpoint, access key, and secret key. The following Python example demonstrates creating a client and uploading a local file to a :

python

from minio import Minio client = Minio( "play.min.io:9000", access_key="minioadmin", secret_key="minioadmin", secure=False # Use True for [HTTPS](/page/HTTPS) ) client.make_bucket("my-bucket", location="us-east-1") client.fput_object("my-bucket", "example.txt", "/tmp/example.txt")

from minio import Minio client = Minio( "play.min.io:9000", access_key="minioadmin", secret_key="minioadmin", secure=False # Use True for [HTTPS](/page/HTTPS) ) client.make_bucket("my-bucket", location="us-east-1") client.fput_object("my-bucket", "example.txt", "/tmp/example.txt")

This approach allows programmatic control over storage interactions directly from application code. Unlike the MinIO Client (mc), which serves command-line utilities, the SDKs facilitate deeper, code-level integration for custom workflows.

Features

S3 API Compatibility

MinIO provides complete compatibility with the API for core operations, including PUT, GET, DELETE, and LIST for both objects and buckets, supporting both Signature Version 2 and 4 authentication mechanisms. This level of adherence allows applications designed for AWS S3 to interact with MinIO without modification. Beyond basics, MinIO fully implements advanced S3 features such as object versioning, which enables tracking and restoring previous versions of objects; lifecycle policies for automated transitions and expirations; and multipart uploads for efficient handling of large files by breaking them into parallel parts. To enhance functionality while preserving S3 standards, MinIO introduces specific extensions, including administrative APIs for tasks like server and checks, as well as queries related to erasure coding configurations via dedicated endpoints that do not interfere with standard S3 compatibility. These extensions, such as the for heal operations that leverage erasure coding for data reconstruction, operate alongside the core S3 interface to support operational oversight without breaking existing workflows. MinIO ensures strong with the S3 , functioning seamlessly with tools like the AWS CLI for command-line operations and SDKs from various languages. It supports (CORS) to enable web applications to access resources across domains and access control lists (ACLs) mapped through AWS IAM-compatible policies for fine-grained permissions. This compatibility extends to Kubernetes-native environments and hybrid cloud setups, allowing straightforward migration and integration. Despite broad support, MinIO has limitations in replicating certain AWS-specific services, such as for archival storage or intelligent tiering, to maintain focus on high-performance . However, it emulates key aspects of these features, like notifications and policy-based transitions, to ease from AWS S3 environments. Unsupported elements, such as direct ACL mutations on objects or certain configurations like hosting, are handled through alternative MinIO mechanisms like IAM policies or external proxies, ensuring functional equivalence where possible.

Erasure Coding and Data Protection

MinIO employs erasure coding as a core mechanism for ensuring data durability and availability in distributed environments, utilizing the Reed-Solomon algorithm to shard objects into data and parity blocks. This approach partitions each object across multiple drives within an erasure set, where the parity blocks enable reconstruction of lost or corrupted data without requiring full replication. By default, MinIO configures erasure coding with an EC:12+4 scheme on a 16-drive erasure set, consisting of 12 data shards and 4 parity shards, which allows the system to tolerate the failure of any 4 drives while reconstructing data from the remaining 12. The implementation of erasure coding in MinIO occurs inline during input/output operations, with encoding and decoding performed efficiently using assembly-optimized Reed-Solomon code, often leveraging Intel AVX512 instructions for performance. This inline process ensures that objects are sharded and distributed across drives in the erasure set without overlap for individual objects, supporting features like multipart uploads where large objects are divided into smaller parts for parallel processing. Administrators can configure alternative erasure coding schemes to balance durability and performance, such as EC:8+8 for higher fault tolerance on 16 drives (tolerating up to 8 failures) or EC:4+4 on 8 drives for smaller deployments with moderate redundancy. Complementing erasure coding, MinIO incorporates several data protection features to safeguard against various failure modes. Bit-rot detection is achieved through checksums embedded in object metadata, enabling the system to identify and heal corrupted shards using parity data during reads or background scans. Server-side is supported via SSE-S3, which uses automatically managed keys for per-deployment encryption, and SSE-C, allowing customer-provided keys for granular control over object encryption at rest. Additionally, MinIO enforces quorum-based operations for , requiring a read quorum of at least the number of data shards (e.g., 12 for EC:12+4) to retrieve objects and a write quorum to ensure consistent updates across the erasure set. These mechanisms collectively deliver a durability guarantee of 99.999999999% (11 nines), meaning the annual probability of is extremely low even in large-scale deployments, as erasure coding across nodes protects against simultaneous drive failures while checksums and mitigate silent corruption and unauthorized access.

Performance Characteristics

MinIO achieves high throughput in distributed configurations, with benchmarks demonstrating aggregate read speeds of up to 325 GiB/s and write speeds of 165 GiB/s on a 32-node cluster equipped with NVMe SSDs and 100 Gbps networking. On HDD-based setups, performance scales to 11 GB/s reads and 9 GB/s writes across a 16-node cluster, highlighting its adaptability to varying hardware. These results stem from tests using the mc admin speedtest tool, which simulates real-world S3 operations under autotune conditions. Key optimizations contribute to these metrics, including assembly-optimized Reed-Solomon erasure coding that minimizes computational overhead during data protection. Erasure coding operations, such as EC:12+4 encoding, utilize fewer than four CPU threads to exceed 400 Gbps network speeds on modern processors, resulting in CPU utilization below 20% for typical workloads. Additional enhancements like I/O via integrations such as enable efficient data transfer for analytics, reducing memory overhead in AI pipelines. Server-side introduces negligible performance impact, maintaining near-identical throughput to unencrypted operations. In March 2025, MinIO introduced MinLZ, a new LZ77-based compression that offers faster compression and decompression speeds compared to Snappy and LZ4, with up to 3x faster decompression and 2-3x faster compression at maximum speed, while providing competitive compression ratios. This feature enhances performance for workloads involving compressible data, such as text or log files, by reducing I/O and network overhead without significantly impacting latency. In comparisons with Ceph RGW, MinIO delivers 2-3x higher throughput for object operations on equivalent NVMe-backed VPS clusters, achieving 2.8 GB/s reads and 2.1 GB/s writes versus Ceph's 1.9 GB/s and 1.4 GB/s. For AI and analytics workloads, MinIO outperforms traditional systems by leveraging S3-compatible APIs and metadata-driven access, which support scalable querying without the POSIX bottlenecks of file-based storage. Tests with tools like Spark and Trino on MinIO clusters have shown aggregate throughputs exceeding 183 GB/s for read-intensive queries, underscoring its efficiency in environments. Performance scales linearly with the addition of nodes and drives, as validated in controlled expansions from 8 to 32 nodes on NVMe, yielding approximately 4x throughput gains while saturating network and storage limits. Erasure coding and impose minimal overhead, preserving this linearity even under protected configurations.

Deployment and Integrations

Deployment Options

MinIO offers flexible deployment options suitable for development, testing, and production environments, supporting both single-node and distributed configurations across various infrastructures. Single-node deployments are ideal for development and evaluation purposes, involving a compilation process from source code. Users download the MinIO source code from the official GitHub repository and build the server binary for x86-64 or ARM64 architectures following the provided instructions, then execute it with a command specifying the storage path, such as minio server /data. This setup requires at least four dedicated drives for basic redundancy using erasure coding, though a single drive suffices for non-production testing. It runs on bare-metal servers, virtual machines, or containers; however, official Docker images are no longer provided for the community edition as of October 2025, so users must build their own images or use trusted community-built ones, with default access via the embedded web-based MinIO Console at port 9000 using initial credentials. For production-scale operations, distributed deployments provide and scalability, requiring a minimum of 16 drives spread across four nodes to enable erasure coding with tolerance for one node failure. The setup involves running the MinIO server command across nodes, specifying endpoints like minio server http://host{1...4}/disk{1...4}, ensuring synchronized time via NTP and identical configurations. Scaling expands by adding nodes and drives in multiples that maintain erasure set parity, such as adding four nodes with four drives each. The MinIO Operator automates provisioning and management on clusters, using Helm charts to deploy multi-tenant resources with persistent volumes for storage. MinIO Multi-Tenant is implemented primarily via the MinIO Operator on Kubernetes, supporting platforms such as OpenShift, EKS, GKE, and AKS. Each tenant is a separate MinIO deployment in its own namespace, enabling isolation and resource management. It uses declarative configuration via CLI or Console for creation, updates, non-disruptive upgrades, monitoring with Prometheus, and integration with external IAM systems like LDAP and OpenID. In November 2025, MinIO introduced ExaPOD, a modular reference architecture for exascale AI deployments, integrating high-performance hardware like NVMe drives and 400 GbE networking to support petabyte-scale with seamless scalability for AI data pipelines. Hardware recommendations emphasize performance and reliability, tailored to workload types. For AI and high-throughput applications, NVMe SSDs over PCIe Gen4 or higher are advised, with at least 30 TB capacity per drive to maximize and low latency. Cost-effective archival or capacity-focused setups benefit from HDDs, while all deployments require server-grade or ARM64 processors, 256 GB RAM per node, and 100 GbE networking for optimal bandwidth. MinIO supports bare-metal, virtualized, and containerized environments without specialized hardware dependencies beyond standard EC2-like instances. Deployment management utilizes the MinIO Console for monitoring cluster , usage metrics, and alerts, available in the open-source edition for basic operations and enhanced in the enterprise version with advanced features like site replication. Configurations are applied via environment variables (e.g., MINIO_ROOT_USER for credentials) or manifests in , allowing customization of endpoints, security, and erasure settings without restarting the server in most cases.

Key Integrations and Use Cases

MinIO integrates natively with for storing and serving models, enabling efficient checkpointing and dataset loading in AI workflows. It also provides seamless compatibility with for managing tabular data in open lakehouses, for distributed data processing, Trino for high-performance SQL queries over , and DuckDB for analytical processing in lakehouse architectures, where MinIO serves as S3-compatible object storage. The MinIO Operator automates the deployment, scaling, and management of MinIO tenants on clusters, optimizing for containerized environments. Furthermore, MinIO supports vector databases like Weaviate for similarity searches in AI applications and integrates into pipelines through frameworks such as , facilitating end-to-end data handling from ingestion to inference. In applications, MinIO excels as exascale for lakes, where a 2024 survey of over 650 IT leaders found 44% adoption for data lakehouse storage to support AI model and advanced . It serves as a context store for generative AI, reliably managing prompts, responses, and embeddings in pipelines to ensure scalable retrieval-augmented generation. MinIO also powers datasets for autonomous vehicles, providing high-throughput access to , images, and outputs essential for perception and planning models. Beyond AI, MinIO enables data lakehouse architectures that unify structured and for , supports backup and archival with immutable storage for compliance, and underpins by offering S3-compatible access in distributed systems. For example, it integrates with Cyber Protect Cloud as a high-performance destination for backups and cyber threat protection. MinIO sees broad enterprise adoption for -native workloads, including AI-driven and hybrid deployments, due to its and scalability. In June 2025, MinIO expanded its partner program to address growing demand for solutions at AI scale, incorporating system integrators and data consultants.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.