Skip to content

Commit

Permalink
Update what_is_citus.rst (#318)
Browse files Browse the repository at this point in the history
* Update what_is_citus.rst

Made a few small changes. In particular:

* Swapped the order of multi-tenant applications and real-time analytics, and
* Updated the multi-tenant description to reflect new features

* possessive
  • Loading branch information
Ozgun Erdogan authored and begriffs committed Mar 22, 2017
1 parent d4633d2 commit 13d2cf5
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions aboutcitus/what_is_citus.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,16 @@ Citus extends the underlying database rather than forking it, which gives develo
When to Use Citus
-----------------

There are two situations where Citus particularly excels: real-time analytics and multi-tenant applications.
Citus serves many use cases. Two common ones are scaling multi-tenant (B2B) databases and real-time analytics.

Multi-Tenant Database
~~~~~~~~~~~~~~~~~~~~~

Most B2B applications already have the notion of a tenant, customer, or account built into their data model. In this model, the database serves many tenants, each of whose data is separate from other tenants.

Citus provides full SQL coverage for this workload, and enables scaling out your relational database to 100K+ tenants. Citus also adds new features for multi-tenancy. For example, Citus supports tenant isolation to provide performance guarantees for large tenants, and has the concept of reference tables to reduce data duplication across tenants.

These capabilities allow you to scale out your tenants' data across many machines, and easily add more CPU, memory, and disk resources. Further, sharing the same database schema across multiple tenants makes efficient use of hardware resources and simplifies database management.

Real-Time Analytics
~~~~~~~~~~~~~~~~~~~
Expand All @@ -26,15 +35,6 @@ Citus' benefits here are its ability to parallelize query execution and scale li

For concrete examples check out our customer `use cases <https://www.citusdata.com/solutions/case-studies>`_.

Multi-Tenant Applications
~~~~~~~~~~~~~~~~~~~~~~~~~

Another Citus use case is managing the data for multi-tenant applications. These are applications where a single database cluster serves multiple tenants (typically companies), each of whose data is private from the other tenants.

All tenants share a common schema and Citus distributes their data across shards. Citus routes individual tenant queries to the appropriate shard, each of which acts like a standalone database with full-featured SQL support.

This allows you to scale out your tenants across several machines and CPU cores, adding more memory and processing power for parallelism. Sharing a schema and cluster infrastructure among multiple tenants also uses hardware efficiently and reduces maintenance costs compared with a one-tenant-per-database instance model.

Considerations for Use
----------------------

Expand Down

0 comments on commit 13d2cf5

Please sign in to comment.