liveBook · Manning

Chapter 5: Selecting the storage layer

What you will learn in chapter 5 of Architecting an Apache Iceberg Lakehouse

The introduction explains why storage choices matter to an Iceberg lakehouse and identifies Parquet and the S3 API as foundational standards.

After this chapter you will be able to

What it builds on

Section by section

Introduction

The introduction explains why storage choices matter to an Iceberg lakehouse and identifies Parquet and the S3 API as foundational standards.

Key terms: storage layer, reliability, scalability, cost efficiency, Parquet, columnar structure, analytics-oriented workloads, S3 API, object storage, compatibility

5.1 Storage requirements

This section explains how to turn an organizational audit into storage requirements before comparing options for an Iceberg lakehouse.

Key terms: storage layer, requirements, Apache Iceberg lakehouse, audit process, performance, security, integrity, operational and cost considerations

5.1.1 Performance requirements for file retrieval

This subsection explains which factors shape file-access performance in an Iceberg lakehouse and how to evaluate storage against real workloads.

Key terms: raw storage latency, in-memory execution, local caching, adaptive buffering, object storage, concurrency, access patterns, sequential reads, concurrent random writes, read contention

5.1.2 Security requirements

This section explains the security requirements to assess when choosing storage for an Iceberg lakehouse.

Key terms: storage layer, foundational trust boundary, fine-grained access controls, fine-grained access control, bucket-level, prefix-level, identity and access management policies, filesystem permissions, host-level isolation, server-side encryption

5.1.3 Integrity requirements

This section explains the storage-layer capabilities needed to keep Iceberg lakehouse data accurate, recoverable, and accessible despite failures.

Key terms: data integrity, durability, replication, consistency, recovery, storage-level snapshots, data files, table metadata, catalog, ACID guarantees

5.1.4 Cost and operational overhead requirements

This section explains how to assess a storage layer’s total cost and operational burden alongside its technical requirements.

Key terms: total cost of ownership, cloud-based object storage, on-premises storage, operational overhead, automation, observability tools, self-service capabilities, interoperability, standard APIs and protocols, proprietary interfaces

5.2 Block vs. object storage

Introduces block and object storage as two Iceberg-compatible architectures and explains their main tradeoffs for a lakehouse.

Key terms: block storage, fixed-size chunks, colocated with compute, object storage, objects, metadata, unique identifier, separates compute from storage

5.2.1 Block storage

This section explains how block storage works, why it suited Hadoop and some performance-sensitive workloads, and what tradeoffs it presents for an Iceberg lakehouse.

Key terms: block storage, blocks, filesystem, replication factor, fault tolerance, replicas, compute nodes, low latency, input/output operations per second (IOPS), HDFS

5.2.2 Object storage

Explains why object storage is the default for many Iceberg lakehouses, how it organizes and manages objects, and which costs and access tradeoffs architects must consider.

Key terms: object, metadata, unique identifier, key, flat namespace, S3 protocol, autosharding, load balancing, horizontal scaling, replication

5.3 Storage layer standards

Introduces Parquet and the S3 API as widely adopted storage-layer standards that help Iceberg work across tools, platforms, engines, and clouds.

Key terms: Parquet file format, S3 API, storage layer, interoperability

5.3.1 Apache Parquet

This section explains why Parquet is the usual physical file format for Iceberg tables and how its columnar storage works with Iceberg metadata to make analytical reads efficient.

Key terms: columnar, row groups, column chunks, predicate pushdown, file-level statistics, manifest metadata, file pruning, query planning, file schema, table schema

5.3.2 The S3 API

This section explains why the S3 API is a common interface for Iceberg object storage, how its object model fits Iceberg files, and why compatibility claims need validation.

Key terms: S3 API, S3 API–compatible object store, interoperability, flat object namespaces, bucket, unique keys, immutable files, data files, metadata files, S3 endpoints

5.4 Storage solutions

Introduces storage-solution selection by explaining how colocated and separate storage architectures affect reliability, latency, and scaling for an Iceberg lakehouse.

Key terms: colocated storage, separate storage, software-managed replication, independent scaling, consistency, write visibility, transactional guarantees

5.4.1 Vendor comparison summary

This subsection frames storage-vendor comparison as a requirements-led starting point for selecting Iceberg lakehouse storage, including possible hybrid choices.

Key terms: performance, governance, operational requirements, scalability, ecosystem integration, ease of management, hands-on evaluation, multiple storage backends, immutability, consistency

5.4.2 Hadoop

This section explains how HDFS works, why it can support an incremental move to Iceberg, and where its limitations make it a weaker choice for a new lakehouse.

Key terms: HDFS, fixed-size blocks, replication, distributed filesystem, Iceberg, Parquet, format agnostic, metadata and table management, elastic scaling, operational overhead

5.4.3 Amazon S3

This section explains why Amazon S3 is a common storage choice for AWS-based Iceberg lakehouses, what performance, cost, and security considerations it brings, and how S3 table buckets differ from general-purpose buckets.

Key terms: Amazon S3, S3 buckets, Iceberg metadata, data files, object immutability, eventual consistency, listing, overwriting, atomic pointer updates, file-level tracking

5.4.4 Google Cloud Storage

This section describes how Google Cloud Storage supports Iceberg lakehouses through consistent object storage, storage classes, analytics performance, and security controls.

Key terms: buckets, objects, RESTful API, strong read-after-write consistency, metadata commits, snapshot reads, Standard, Nearline, Coldline, Archive

5.4.5 Azure Blob Storage and ADLS

Compares Azure Blob Storage and ADLS as Iceberg storage backends, including their access, performance, security, and cost tradeoffs, and introduces OneLake.

Key terms: Azure Blob Storage, Azure Data Lake Storage Gen2, flat namespace, hierarchical namespace, filesystem semantics, Azure AD, POSIX-style ACLs, authentication, authorization, Hot

5.4.6 MinIO

This section evaluates MinIO as an S3-compatible storage option for Iceberg lakehouses and explains the performance, protection, security, and operational features that shape its fit.

Key terms: MinIO, on-premises, hybrid environments, edge environments, S3 API, metadata commits, data file retrieval, erasure encoding, erasure coding, parity fragments

5.4.7 Ceph

This subsection explains how Ceph can provide S3-compatible storage for Iceberg lakehouses and what teams must weigh when operating it.

Key terms: Ceph, RADOS, RBD, CephFS, RGW, S3-compatible API, distributed replication, erasure coding, self-healing, rebalancing

5.4.8 NetApp StorageGRID

This section evaluates NetApp StorageGRID as an S3-compatible storage option for Iceberg lakehouses, emphasizing lifecycle policies, workload fit, and compliance.

Key terms: StorageGRID, S3-compatible interface, hybrid cloud, intelligent data lifecycle policies, object placement, retention, tiering, snapshot-based model, large object workloads, high-throughput ingestion

5.4.9 Everpure

This section explains when Everpure FlashBlade is a suitable storage layer for an Iceberg lakehouse, emphasizing performance, operational simplicity, and enterprise security.

Key terms: FlashBlade, S3 API, high-concurrency environments, small-object operations, turnkey appliances, Pure1, administrative overhead, encryption at rest, secure multitenancy, access controls

5.4.10 Dell ECS

This subsection explains when Dell ECS is a suitable object storage backend for an Iceberg lakehouse and the resilience, performance, and governance considerations that shape its use.

Key terms: Dell ECS, S3 API, object storage, hybrid, on-premises, data sovereignty, georeplication, erasure coding, horizontal scaling, storage pools

5.4.11 Wasabi

This section evaluates Wasabi as a cost-predictable, S3-compatible storage backend for Iceberg lakehouses and identifies where its capabilities and limits fit.

Key terms: flat, per-terabyte monthly fee, data egress, API requests, table scans, metadata reads, snapshot rewrites, S3 API, storage backend, modular architecture, compute and catalog services

5.5 Selecting storage based on requirements

This section frames storage selection as a tradeoff across organizational needs and constraints rather than a separate choice for each Iceberg use case.

Key terms: storage platform, operational and financial overhead, cloud strategy, compliance boundaries, existing tooling

5.5.1 Performance requirements

This subsection shows how different Iceberg workloads call for different storage performance profiles and illustrates how to match storage options to those needs.

Key terms: throughput, latency, concurrency, consistency, performance profile, interactive dashboards, high concurrency, low-latency object retrieval, machine learning feature pipelines, caching strategies

5.5.2 Security requirements

Shows how different security and compliance needs shape storage choices for an Iceberg lakehouse.

Key terms: access control, encryption, auditability, compliance standards, WORM, granular access policies, fine-grained ACLs, multitenant deployments, role-based access controls, customer-managed keys

5.5.3 Integrity requirements

This section shows how durability, recoverability, consistency, and retention needs guide storage selection for an Iceberg lakehouse.

Key terms: metadata consistency, snapshot model, storage backend, durability, recoverability, multisite redundancy, georeplication, policy-driven data protection, object replicas, object locking

5.5.4 Cost and operational requirements

This section shows how to choose Iceberg storage by weighing long-term cost and operational capacity against the needs of different organizations.

Key terms: cost and operational overhead, engineering time, lifecycle expectations, Wasabi, MinIO, Dell ECS, NetApp StorageGRID, Everpure, multitenancy, pay-as-you-go pricing

5.6 Summary

Where this is used later

Concepts explained in this chapter

← Chapter 4: Preparing for your move to Apache Iceberg Chapter 6: Architecting the ingestion layer →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.