Applications That Love Citus
- MULTI-TENANT SAAS
SaaS apps often have a natural dimension on which to distribute data across nodes—dimensions such as tenant, customer, or account_id. Which means SaaS apps have a data model that is a good fit for a distributed database like Citus: just shard by tenant_id—and for cases with no natural distribution key, you can use schema-based sharding.
Features for Multi-tenant SaaS applications
- Transparent sharding in the database layer
- SQL query & transaction routing
- Easy to add nodes & rebalance shards
- Able to scale out without giving up Postgres
- REAL-TIME ANALYTICS
Customer-facing real-time analytics dashboards need to deliver sub-second query responses to 1000s of concurrent users, while simultaneously ingesting fresh data and enabling users to query the fresh data in real time, too.
By scaling out Postgres across multiple nodes, Citus gives your analytics dashboards the compute, memory, and performance they need to process billions of events in real time.
Features for Real-time analytics dashboards
- Ingest event data in
real-time - Low latency for customer-facing dashboards
- Massively parallel UPDATEs/DELETEs
- Ingest event data in
- MICROSERVICES
Citus supports schema-based sharding, which allows distributing regular database schemas across many machines. This sharding methodology fits nicely with typical microservices architecture, where each microservice can have its own schema in a shared distributed database.
Schema-based sharding is an easier model to adopt, create a new schema and just set the search_path in your service and you’re ready to go.
Advantages of using Citus for microservices:
- Ingest strategic business data from microservices into common distributed tables for analytics
- Efficiently use hardware by balancing services on multiple machines
- Isolate noisy services to their own nodes
- Easy to understand sharding model
- Quick adoption