citusdata/citus

Name: citus

Owner: Citus Data

Description: Scalable PostgreSQL for multi-tenant and real-time workloads

Created: 2016-02-01 21:58:39.0

Updated: 2018-05-25 07:38:28.0

Pushed: 2018-05-25 08:34:18.0

Homepage: https://www.citusdata.com

Size: 10461

Language: C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Citus Banner

Build Status Slack Status Latest Docs

What is Citus?

Citus is a distributed database that scales across commodity servers using transparent sharding and replication. Citus extends the underlying database rather than forking it, giving developers and enterprises 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. Two common ones are:

  1. Multi-tenant database: 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 subsecond response times and exploratory queries on unfolding events.

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

Getting started with Citus

The fastest way to get up and running is to create a Citus Cloud account. You can also setup a local Citus cluster with Docker.

Citus Cloud

Citus Cloud runs on top of AWS as a fully managed database as a service and has development plans available for getting started. 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

  2. Mac:

    1. Download and install Docker.
    2. Start Docker by clicking on the application?s icon.
  3. Linux:

     -sSL https://get.docker.com/ | sh
     usermod -aG docker $USER && exec sg docker newgrp `id -gn`
     systemctl start docker
    
     curl -sSL https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
     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.

  4. Pull and start the Docker images

     -sSLO https://raw.githubusercontent.com/citusdata/docker/master/docker-compose.yml
    er-compose -p citus up -d
    
  5. Connect to the master database

    er exec -it citus_master psql -U postgres
    
  6. Follow the first tutorial instructions

  7. To shut the cluster down, run

    er-compose -p citus down
    
Talk to Contributors and Learn More
Documentation Try the Citus tutorial for a hands-on introduction or
the documentation for a more comprehensive reference.
Google Groups The Citus Google Group is our place for detailed questions and discussions.
Slack Chat with us in our community Slack channel.
Github Issues We track specific bug reports and feature requests on our project issues.
Twitter Follow @citusdata for general updates and PostgreSQL scaling tips.
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:


Copyright © 2012?2017 Citus Data, Inc.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.