Distributed PostgreSQL as an extension - for multi-tenant and real-time analytics workloads
The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
Citus is an open source extension to Postgres that distributes your data and your queries across multiple nodes. Because Citus is an extension to Postgres, and not a fork, Citus gives developers and enterprises a scale-out database while keeping the power and familiarity of a relational database. As an extension, Citus supports new PostgreSQL releases, and allows you to benefit from new features while maintaining compatibility with existing PostgreSQL tools.
Citus serves many use cases. Three common ones are:
Multi-tenant & SaaS applications: Most B2B applications already have the notion of a tenant / customer / account built into their data model. Citus allows you to scale out your transactional relational database to 100K+ tenants with minimal changes to your application.
Real-time analytics: Citus enables ingesting large volumes of data and running analytical queries on that data in human real-time. Example applications include analytic dashboards with sub-second response times and exploratory queries on unfolding events.
High-throughput transactional workloads: By distributing your workload across a database cluster, Citus ensures low latency and high performance even with a large number of concurrent users and high volumes of transactions.
The fastest way to get up and running is to deploy Citus in the cloud. You can also setup a local Citus database cluster with Docker.
Hyperscale (Citus) is a deployment option on Azure Database for PostgreSQL, a fully-managed database as a service. Hyperscale (Citus) employs the Citus open source extension so you can scale out across multiple nodes. To get started with Hyperscale (Citus), learn more on the Citus website or use the Hyperscale (Citus) Quickstart in the Azure docs.
Citus Cloud runs on top of AWS as a fully managed database as a service. You can provision a Citus Cloud account at https://console.citusdata.com and get started with just a few clicks.
If you're looking to get started locally, you can follow the following steps to get up and running.
Install Docker Community Edition and Docker Compose
bash curl -sSL https://get.docker.com/ | sh sudo usermod -aG docker $USER && exec sg docker newgrpid -gn` sudo systemctl start docker
sudo curl -sSL https://github.com/docker/compose/releases/download/1.11.2/docker-compose-
uname -m-o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` The above version of Docker Compose is sufficient for running Citus, or you can install the latest version.
Pull and start the Docker images
bash curl -sSLO https://raw.githubusercontent.com/citusdata/docker/master/docker-compose.yml docker-compose -p citus up -d
Connect to the master database
bash docker exec -it citus_master psql -U postgres
Follow the first tutorial instructions
To shut the cluster down, run
docker-compose -p citus down
|Documentation||Try the Citus
tutorial for a hands-on introduction or
the documentation for a more comprehensive reference.
|Slack||Chat with us in our community Slack channel.|
|Github Issues||We track specific bug reports and feature requests on our project issues.|
|Follow @citusdata for general updates and PostgreSQL scaling tips.|
|Citus Blog||Read our Citus Data Blog for posts on Postgres, Citus, and scaling your database.|
Citus is built on and of open source, and we welcome your contributions. The CONTRIBUTING.md file explains how to get started developing the Citus extension itself and our code quality guidelines.
Citus is deployed in production by many customers, ranging from technology start-ups to large enterprises. Here are some examples:
You can read more user stories about how they employ Citus to scale Postgres for both multi-tenant SaaS applications as well as real-time analytics dashboards here.
Copyright © Citus Data, Inc.