Features

Concourse was created for the emerging software landscape where apps are developed rapidly by teams that don't have a database administrator. So Concourse is written with programmers in mind–it works right out the box and requires little tuning so developers can focus on their application without sacrificing performance. 


Scalable and Fault Tolerant

Concourse can be distributed across many different servers on commodity hardware. Data is automatically partitioned and replicated to ensure that the system can withstand arbitrary failure.

This feature is still in planning and is scheduled to be released in a future version.

Schemaless

Application logic should not depend on the details of the database. Concourse makes very few assumptions about your data, which means that you can model it in whatever way is most natural. You never have to declare any structure up front–no schema, no tables, no indexes...nothing! Concourse dynamically adapts to your application so that you can add or change features without ever having to configure the database.

ACID Transactions

Concourse supports transactions that are fully ACID compliant:

  1. Transaction operations are all or nothing.
  2. Transactions are strongly consistent and are visible to all readers upon being successfully committed.
  3. Transactions use serializable isolation so there are never any dirty reads, non-repeatable reads or phantom reads.
  4. Transactions are immediately stored to disk when successfully committed and persist even in the event of power loss, crash or error.

Automatic Indexing and Ad-hoc Range Queries

Concourse automatically indexes everything it stores–using a diff based buffered storage system to ensure that writes are fast. As a result, you can quickly query on any key at any time.

Version Control

Concourse tracks changes to your data so you can easily audit revisions, query for data in the past and revert to previous states.

Full Text Search

Concourse allows you to perform ngram searches on any text data. The system comes equipped with a configurable list of stop words to ensure that searches are optimized for your application.

Concourse Action Shell (CaSH)

Concourse provides a command line scripting interface so you can interact with the database on the fly.