Architecture
Learn about Propel’s cloud-native ClickHouse architecture.
Propel combines the speed of ClickHouse with a fully managed, cloud-native serverless platform.
Propel's architecture
Key components of Propel’s architecture
Serverless ClickHouse
The core of Propel’s architecture is a fully-managed, serverless ClickHouse. This eliminates the need for manual server management and provides automatic scaling based on query demands.
SQL Interfaces
Propel supports the standard ClickHouse HTTP interface, allowing you to connect any ClickHouse client or application. Additionally, it offers a PostgreSQL-compatible interface, enabling connection with any BI tool or client that supports PostgreSQL for seamless integration and querying.
Ingestion Layer
Propel includes robust ingestion pipelines that efficiently ingest data from external sources into ClickHouse. This layer handles data synchronization, validation, and insertion to optimize data insertion.
Access Control Policies
This layer handles identity and access management for the Serverless ClickHouse. It ensures that applications have the proper access rights, supporting multi-tenant architectures by controlling data visibility and query permissions at a granular level.
API Layer
An API layer sits in front of the Serverless ClickHouse, translating API calls into ClickHouse queries. This allows developers to interact with their data using familiar API paradigms without writing SQL directly.
Embeddable UI
Propel’s open-source toolkit for building frontend data applications on ClickHouse. It enables rapid development of interactive dashboards, reports, and data visualizations by transforming ClickHouse query results into reusable UI components.
High-availability
Propel is designed with high availability as a core principle, ensuring that your data and services remain accessible and resilient to failures. Here’s how we achieve this:
Multiple Replicas
Your data is automatically replicated across multiple ClickHouse instances, providing redundancy and fault tolerance.
Cross-AZ Distribution
Replicas are distributed across different availability zones (AZs) within a region, mitigating the risk of zone-specific outages.
Automatic Failover
In case of a replica failure, Propel automatically redirects traffic to healthy replicas, ensuring continuous service availability.
Load Balancing
Queries are distributed across multiple replicas to optimize performance and resource utilization.
This multi-layered approach to high availability ensures that your ClickHouse deployment on Propel remains robust and accessible, even in the face of hardware failures or zone-specific issues.
Storage architecture
Propel’s ClickHouse uses a tiered storage architecture to optimize performance and cost-efficiency. This system consists of three primary tiers:
- High-speed cache: The fastest storage tier, ideal for extremely hot data and frequently accessed query results.
- SSD: Fast storage with limited capacity, ideal for fresh and frequently queried data.
- Object Storage: Affordable storage with unlimited capacity, suitable for historical and less frequently accessed data.
The system automatically manages data movement of data between these tiers based on usage patterns. By default, the most frequently accessed data is kept in the high-speed cache, while other data is stored on SSDs, after which it’s moved to object storage.
This tiered approach allows for cost-effective high-performance storage, especially for large datasets with varying access patterns, while ensuring the fastest possible access to the most critical data.
Was this page helpful?