Citus

针对多用户和实时分析工作负载的可扩展 PostgreSQL。「Scalable PostgreSQL for multi-tenant and real-time analytics workloads」

Github星跟踪图

Citus Banner

Slack Status
Latest Docs
Circleci Status
Code Coverage

What is Citus?

  • Open-source PostgreSQL extension (not a fork)
  • Built to scale out across multiple nodes
  • Distributed engine for query parallelization
  • Database designed to scale out multi-tenant applications, real-time analytics dashboards, and high-throughput transactional workloads

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:

  1. 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.

  2. 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.

  3. 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.

To learn more, visit citusdata.com and join
the Citus slack to
stay on top of the latest developments.

Getting started with Citus

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) on Azure Database for PostgreSQL

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

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.

Local Citus Cluster

If you're looking to get started locally, you can follow the following steps to get up and running.

  1. Install Docker Community Edition and Docker Compose
  • Mac:
    1. Download and install Docker.
    2. Start Docker by clicking on the application’s icon.
  • Linux:
    curl -sSL https://get.docker.com/, sh
    sudo usermod -aG docker $USER && exec sg docker newgrp `id -gn`
    sudo systemctl start docker
    
    sudo curl -sSL https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`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.
  1. Pull and start the Docker images
curl -sSLO https://raw.githubusercontent.com/citusdata/docker/master/docker-compose.yml
docker-compose -p citus up -d
  1. Connect to the master database
docker exec -it citus_master psql -U postgres
  1. Follow the first tutorial instructions
  2. To shut the cluster down, run
docker-compose -p citus down

Talk to Contributors and Learn More

Contributing

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.

Who is Using Citus?

Citus is deployed in production by many customers, ranging from
technology start-ups to large enterprises. Here are some examples:

  • Algolia uses Citus to provide real-time analytics for over 1B searches per day. For faster insights, they also use TopN and HLL extensions. User Story
  • Heap uses Citus to run dynamic
    funnel, segmentation, and cohort queries across billions of users
    and has more than 700B events in their Citus database cluster. Watch Video
  • Pex uses Citus to ingest 80B data points per day and analyze that data in real-time. They use a 20+ node cluster on Google Cloud. User Story
  • MixRank uses Citus to efficiently collect
    and analyze vast amounts of data to allow inside B2B sales teams
    to find new customers. User Story
  • Agari uses Citus to secure more than
    85 percent of U.S. consumer emails on two 6-8 TB clusters. User
    Story
  • Copper (formerly ProsperWorks) powers a cloud CRM service with Citus. User Story

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.

主要指标

概览
名称与所有者citusdata/citus
主编程语言C
编程语言Makefile (语言数: 10)
平台
许可证GNU Affero General Public License v3.0
所有者活动
创建于2016-02-01 21:58:39
推送于2025-04-22 13:56:54
最后一次提交
发布数159
最新版本名称v13.0.3 (发布于 2025-03-21 15:15:34)
第一版名称v5.0.0-rc.2 (发布于 2016-02-17 17:48:28)
用户参与
星数11.3k
关注者数220
派生数708
提交数7k
已启用问题?
问题数3243
打开的问题数981
拉请求数3918
打开的拉请求数102
关闭的拉请求数649
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?