Join our Streaming Lakehouse Tour!
Register Now.->

Data Lake

A Data Lake is a centralized repository designed to store vast quantities of data in its native, raw format. Unlike traditional Data Warehouses that primarily store structured data processed according to predefined schemas, a data lake can hold structured, semi-structured (like JSON, CSV, logs), and unstructured data (like images, videos, documents) without requiring schema definition on write.

Data lakes are typically built on cost-effective, scalable storage systems, most commonly Cloud Object Storage (like AWS S3, GCS, Azure Blob Storage) or distributed file systems like HDFS (Hadoop Distributed File System).

The Motivation: Beyond the Data Warehouse

Data Warehouses excelled at structured reporting and BI but faced limitations:

  1. Schema-on-Write: Data needed to be cleaned, transformed, and fitted into a predefined schema before being loaded (ETL - Extract, Transform, Load). This was time-consuming and meant potentially valuable raw data was discarded or altered.
  2. Cost: Data warehouse storage and compute were often expensive, making it prohibitive to store truly massive amounts of raw data.
  3. Limited Data Types: Primarily designed for structured relational data, handling semi-structured or unstructured data was often difficult.
  4. Rigidity: Changing schemas or analysis types could be complex and slow.

Data lakes emerged to address these limitations by providing a flexible, scalable, and cost-effective way to store all data first, deferring schema application and transformation until the data is actually read for analysis (Schema-on-Read).

Key Characteristics

  • Stores All Data: Accepts data in any format (structured, semi-structured, unstructured) from diverse sources.
  • Raw Format: Data is typically stored in its original, unprocessed state.
  • Schema-on-Read: The structure is applied when the data is read for processing or querying, not when it's written. This offers flexibility but requires careful governance.
  • Scalability: Built on highly scalable storage infrastructure (object stores, HDFS).
  • Cost-Effectiveness: Leverages relatively inexpensive storage compared to traditional data warehouses.
  • Decoupled Storage and Compute: Often, the storage layer is separate from the processing engines (like Spark, Flink, Presto, Trino) that operate on the data.
  • Diverse Tooling: Supports various processing tools and languages for different types of analysis (SQL, Python, R, machine learning frameworks).

Challenges and Evolution ("Data Swamps")

While offering flexibility, early data lakes often faced challenges:

  • Lack of Governance: Without strong schema enforcement, metadata management, and data quality controls, lakes could become disorganized and difficult to use – often termed 'data swamps'.
  • Data Reliability Issues: Lack of ACID transactions made it hard to ensure data consistency, especially with concurrent operations or failures.
  • Query Performance: Querying raw data without optimization structures could be slow.
  • Complexity: Schema-on-Read requires users or tools to understand and interpret the data structure at query time.

These challenges led to the development of architectures and technologies built on top of data lakes to add reliability, governance, and performance.

The Rise of the Data Lakehouse

The Data Lakehouse architecture emerged to combine the benefits of data lakes (low cost, flexibility, scale) with the reliability and performance features of data warehouses. This is primarily achieved by implementing Open Table Formats (like Apache Iceberg, Delta Lake, Apache Hudi) directly on the data lake storage. These formats introduce features like ACID transactions, schema enforcement and evolution, time travel, and optimized metadata management, effectively turning the data lake into a more reliable and performant platform for both BI and data science workloads.

The Streaming Lakehouse further evolves this concept by integrating real-time stream processing directly into the lakehouse architecture.

Data Lakes and RisingWave

While RisingWave itself is a Streaming Database focused on processing data-in-motion and serving fresh results via Materialized Views, it interacts with data lakes in several key ways within the context of a broader data architecture:

  • Storage Backend: RisingWave's Hummock state store uses Cloud Object Storage (the foundation of data lakes) as its durable backend for storing checkpointed state.
  • Sink Target (via Lakehouse Formats): RisingWave can sink processed results into data lake storage, typically by writing to tables managed by Open Table Formats like Apache Iceberg. This is a core pattern in building a Streaming Lakehouse.
  • (Potential) Source: While less common for raw lake data (which is often processed by batch tools first), RisingWave could potentially source data directly from structured files on a data lake if needed via specific connectors.

Essentially, the data lake (especially when enhanced with table formats) provides the scalable and cost-effective storage foundation upon which architectures involving RisingWave can be built.

Related Glossary Terms

  • Data Lakehouse
  • Streaming Lakehouse
  • Cloud Object Storage
  • Open Table Format
  • Apache Iceberg / Hudi / Delta Lake
  • Data Warehouse
  • Schema-on-Read (Concept)
  • ETL/ELT (Concepts)
  • Scalability (Compute & Storage)
The Modern Backbone for Your
Event-Driven Infrastructure
GitHubXLinkedInSlackYouTube
Sign up for our to stay updated.