liveBook · Manning

MinIO

As explained in Architecting an Apache Iceberg Lakehouse

MinIO is an S3-compatible object-storage system that can be deployed on premises or in other infrastructure.

MinIO provides S3-compatible object storage for Iceberg lakehouses when teams need on-premises, hybrid, or edge deployment, operational control, predictable costs, and high performance. It can run on physical servers, virtual machines, Kubernetes clusters, containers, or edge infrastructure, while integrating with engines that already use the S3 API. section 5.4.6

Within an Iceberg lakehouse, MinIO handles the storage layer:

  • Stores Iceberg table data files and metadata files in an S3-compatible object store. section 3.2.3
  • Provides a local substitute for cloud object storage in development and testing environments. section 3.2
  • Supports Iceberg workloads with erasure coding, inline compression, object locking, and efficient small-object operations. section 5.4.6
  • Offers local control for regulated or air-gapped deployments, including the hybrid storage model used by Hamerliva Bank. section 4.5.1

Local Iceberg storage with Docker Compose

Run MinIO alongside Nessie, Spark, Dremio, PostgreSQL, and Superset on a shared Docker network. Expose port 9000 for S3-compatible access and port 9001 for the web console, configure root credentials and the us-east-1 region, and use /data as the storage directory. Create a warehouse bucket, configure Spark with an S3 warehouse path, and inspect the resulting Parquet, JSON, and Avro files in MinIO. section 3.2.2 section 3.3.2 section 3.3.5

  minio: #1
    image: minio/minio:latest
    container_name: minio
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password
      - MINIO_REGION=us-east-1
    networks:
      lakehouse-net:
    ports:
      - 9001:9001
      - 9000:9000
    command: ["server", "/data", "--console-address", ":9001"]

Shows a minimal MinIO Docker Compose service with credentials, networking, exposed API and console ports, and the server command. section 3.2.2

How Architecting an Apache Iceberg Lakehouse covers it

How deep it goes
Explains deployment, S3 integration, performance, and storage features, but stops short of detailed implementation internals.
Examples
Uses a Docker Compose lakehouse, a warehouse bucket, Spark ingestion, MinIO console inspection, and an on-premises bank deployment.
What you can do after
Operate/configure it as an S3-compatible Iceberg storage backend and verify stored table data through the MinIO console.
How it connects
Connects object storage with Apache Iceberg, Apache Spark, Project Nessie, Dremio, and the Amazon S3 API.

Also explained in

Compare how 3 books explain MinIO →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecting an Apache Iceberg Lakehouse. The section links point to the parts of the book it draws on.