Data Platforms in System Architecture
advance · System Architecture
Data Platforms: The Foundation of Analytics In a modern enterprise, raw data is generated by every service in your microservice architecture. Data Platforms are designed to ingest, process, and store this data so that businesses can derive insights, train machine learning models, and make data-driven decisions. 1. Data Warehouses A Data Warehouse is a centralized, structured storage system designed for Querying and Analytics . The Structure: It follows a "Schema-on-Write" approach. Data is cleaned, transformed, and structured into rows and columns (tables) before it is loaded into the warehouse. The Goal: Speed and precision. Warehouses use columnar storage to make complex SQL aggregations (e.g., "Total sales per region per month") extremely fast. Example Tools: Snowflake, Google BigQuery, Amazon Redshift. 2. Data Lakes A Data Lake is a centralized repository that allows you to store all your structured and unstructured data at any scale. The Structure: It follows a "Schema-on-Read" approach. You dump raw, unprocessed data (logs, images, JSON, CSVs) into the lake. You only define the structure when you actually need to read and analyze it. The Goal: Flexibility and depth. It keeps raw data forever, allowing data scientists to explore it later for new, unforeseen insights or machine learning model training. Example Tools: Amazon S3, Azure Data Lake Storage, Apache Iceberg. 3. ETL Pipelines ETL stands for Extract, Transform, Load . It is the traditional process of moving data from operational databases (like PostgreSQL or MySQL) into a Data Warehouse. Extract: Pulling raw data from various source systems. Transform: Cleaning the data, removing duplicates, normalizing formats, and performing business logic (e.g., currency conversion). Load: Inserting the cleaned data into the target warehouse. 4. Data Pipelines While ETL is a specific pattern, Data Pipelines are the broader, more modern term for the automated flow of data from point A to point B. Beyond ETL: Modern pipelines often use ELT (Extract, Load, Transform), where data is loaded into the warehouse first and then transformed using the massive compute power of the warehouse itself. Real-time Streaming: Unlike legacy ETL, which often runs in "batches" (e.g., every night), modern data pipelines are often event-driven, using Kafka or Flink to process data as it is generated. Data Platform Reference Matrix Feature Data Warehouse Data Lake Data Type Structured (Tabled) Structured & Unstructured Schema Schema-on-Write Schema-on-Read Primary Users Business Analysts Data Scientists / ML Engineers Storage Cost High Low Performance Fast for SQL Queries Optimized for massive throughput