In this article

We look at the real case for using S3-compatible object storage as a default backend, where that approach genuinely breaks down on latency, how serious platforms solve it with a caching layer rather than abandoning object storage entirely, and how to make the same call on a Ceph-based cluster.


“Just store everything in S3” has become close to a default architectural instinct in data engineering circles. It’s not bad advice. It’s also not the whole answer, and the part that gets left out is exactly where teams get burned.

The instinct comes from somewhere real: the separation of storage and compute that made modern data platforms possible in the first place. Databricks, Snowflake, and the broader Iceberg and Delta Lake ecosystem are all built on the idea that your data lives in cheap, durable object storage, and compute engines read and write to it as needed rather than owning a proprietary storage format. That’s a genuinely good default for analytical workloads, and it’s why the advice keeps circulating.

Where This Holds Up Completely

For columnar, analytical workloads, the case for object storage is close to settled. A data lake built on S3-compatible storage gives you a durable, redundant, infinitely scalable backend without managing a single disk, with strong integration across query engines, and true separation between storage and the compute that processes it. Teams running data lakes with many petabytes entirely on object storage aren’t the exception anymore, they’re increasingly the norm for this workload class.

Where It Genuinely Hits a Wall

The honest caveat, and the one that matters most, is latency, specifically for row-oriented, transactional workloads rather than analytical ones. Object storage wasn’t built for the access pattern a live application database needs: fast, small, frequent reads and writes. Once your working set is bigger than what fits in local NVMe or memory, latency against object storage directly can spike into the hundreds of milliseconds, which is a real problem for anything answering user-facing requests in real time.

This isn’t a reason to abandon object storage for transactional data. It’s a reason to be precise about what’s actually touching it directly.

How Serious Platforms Actually Solve This

The platforms that have made S3-backed storage work for low-latency, transactional workloads didn’t do it by reading and writing directly against object storage on every request. They built a caching and optimization layer in front of it. The pattern, broadly: keep the durable source of truth in object storage, but serve live reads and writes from a fast local tier, promoting and demoting data between the two as access patterns change. The application gets the low latency it needs; the storage layer still gets the durability, portability, and cost profile of object storage underneath.

That’s the actual takeaway from the “store everything in S3” advice: it’s usually shorthand for “make object storage your durable source of truth,” not “make every read and write path go directly through it.”

Mapping This to a Ceph Cluster

Ceph gives you both sides of this pattern natively, on the same cluster, rather than forcing a choice between two different platforms. Ceph’s RADOS Gateway (RGW) exposes an S3-compatible object storage API, the direct equivalent of the “store everything in object storage” pattern, well suited to data lakes, backups, media archives, and any workload where durability and portability matter more than sub-millisecond access. Ceph Block Device (RBD) exposes the same underlying cluster as low-latency block storage, the equivalent of the fast local tier a transactional workload actually needs.

On OpenMetal’s hybrid NVMe and HDD storage architecture, this isn’t a theoretical option. NVMe-backed pools handle the latency-sensitive side, HDD-backed pools handle the bulk, durable side, and both live in the same Ceph cluster under the same administrative control. You can genuinely build the pattern serious platforms use, object storage as your durable backend with a fast tier in front of it, rather than picking one interface and living with its tradeoffs everywhere.

A Simple Way to Decide

  • Use object storage (RGW/S3-compatible) directly for data lakes, backups, media and file archives, and anything where access is infrequent, bulk, or already optimized by the tool reading it (most modern query engines handle S3 access patterns well)
  • Use block storage (RBD) or a database for anything answering live, user-facing requests where latency matters on every single read or write
  • Build a caching layer in front of object storage when you genuinely need both: a durable, portable source of truth and fast access to a working subset of it, which is exactly what a hybrid NVMe/HDD Ceph cluster is built to support
  • Don’t assume the advice is wrong just because it doesn’t fit your transactional workload; it’s usually right for the analytical half of your stack even when it’s wrong for the operational half

Getting Started

For the technical detail on how OpenMetal’s hybrid storage architecture supports both patterns on one cluster, see our breakdown of storage tiers from hot to cold and our enterprise storage tier architecture guide. Current Ceph storage cluster configurations are on our storage cluster pricing page.

FAQ

Is it a good idea to store everything in S3-compatible object storage?

For analytical and data lake workloads, generally yes, it’s become close to a standard default. For transactional, latency-sensitive workloads, direct object storage access typically isn’t fast enough on its own; those workloads need a fast tier in front of the object storage layer, not a replacement for it.

Why does object storage have high latency for some workloads?

Object storage is built for durability and scale, not for the fast, frequent, small reads and writes a live application database needs. Once a workload’s active data exceeds what fits in local NVMe or memory, latency against object storage directly can climb into the hundreds of milliseconds.

What’s the difference between Ceph’s RGW and RBD interfaces?

RADOS Gateway (RGW) provides an S3-compatible object storage API, suited to data lakes, archives, and bulk or infrequent access patterns. RADOS Block Device (RBD) provides low-latency block storage from the same underlying cluster, suited to databases and other transactional workloads. Both can run on the same Ceph cluster.

Can a single storage cluster support both object storage and low-latency block storage?

Yes. A hybrid Ceph cluster with both NVMe and HDD pools can expose both RGW object storage and RBD block storage from the same underlying infrastructure, letting a single cluster serve both durable, bulk storage needs and latency-sensitive workloads.


Chat With Our Team

We’re available to answer questions and provide information.

Reach Out

Schedule a Consultation

Get a deeper assessment and discuss your unique requirements.

Schedule Consultation

Try It Out

Take a peek under the hood of our cloud platform or launch a trial.

Trial Options

 

 

 Read More on the OpenMetal Blog

When to Actually Store Everything in S3 and When Not To

Aug 24, 2026

We look at the real case for using S3-compatible object storage as a default backend, where that approach genuinely breaks down on latency, how serious platforms solve it with a caching layer rather than abandoning object storage entirely, and how to make the same call on a Ceph-based cluster.

Should You Build Your Own Off-Site Backup Server or Rent One?

Aug 13, 2026

We walk through the real total cost of building your own dense storage server for off-site backup and archival data versus renting equivalent capacity, covering drive costs in today’s market, the parts of total cost of ownership that don’t show up on a parts list, and how Ceph’s approach to redundancy compares to a single chassis.

Large-Scale Ceph Storage for Financial Data Retention and Audit Archives

Jul 29, 2026

We look at why financial services firms accumulate large, long-lived data retention and audit archive requirements, why hyperscaler storage pricing works against that access pattern specifically, and how a large-scale Ceph cluster handles the same requirement with predictable costs and full control.

OpenMetal’s v5 Hardware and Ceph: Where Intentional Design Meets Distributed Storage

Jun 10, 2026

All-NVMe OSDs, an isolated boot pool, a clean lane budget, and identical nodes: how OpenMetal’s v5 hardware makes Ceph behave predictably instead of needing tuning.

Why Immutable Storage Is Now a Cyber Insurance Requirement

Jun 03, 2026

Cyber insurance renewals in 2026 involve technical audits, not questionnaires. This article covers the five controls insurers now require, why standard backup configurations often fail the immutability test, what NIS2 and SEC rules demand, and how dedicated Ceph object storage satisfies the full requirement at predictable cost.

Why Organizations Are Taking Another Look at Ceph in 2026

May 08, 2026

MinIO’s move to a commercial licensing model has pushed a lot of teams to look harder at their object storage options. This article covers why Ceph’s open governance model matters for long-term infrastructure decisions, what the platform offers on its own merits, and what moving from MinIO to Ceph actually looks like in practice.

Persistent Storage for Nomad: CSI on OpenStack + Ceph

Feb 28, 2026

How Nomad uses CSI to consume OpenStack Cinder + Ceph block storage. Build scheduler-agnostic persistent storage on dedicated OpenMetal infrastructure.

Proxmox Storage Architecture on Bare Metal: Ceph vs. ZFS Decision Guide

Jan 21, 2026

A technical comparison of Ceph and ZFS storage architectures for Proxmox bare metal deployments. Covers distributed vs local storage trade-offs, hardware requirements, performance characteristics, operational complexity, and decision frameworks based on cluster size and workload requirements.

Ceph vs MinIO: Choosing the Right Object Storage Solution

Dec 19, 2025

Choosing between Ceph and MinIO for object storage? This guide compares both solutions to help you make the right decision. Ceph offers unified storage with deep OpenStack integration, while MinIO delivers exceptional performance for Kubernetes-native workloads. Explore use cases and benefits.

Choosing Between Ceph Dual and Triple Replication for Production Workloads

Nov 17, 2025

Replica 2 or replica 3? The answer may not affect you as much as you think. Neither protects against the data loss scenarios that actually happen in production. Learn why you need a separate backup cluster regardless of replica count and how OpenMetal’s fixed pricing makes it affordable where hyperscalers make it cost-prohibitive.