Originally an internal Facebook project, Cassandra was open sourced a few years ago and has become the standard distributed database for situations where it’s worth investing the time to learn a complex system in return for a lot of power and flexibility. Traditionally, it was a long struggle just to set up a working cluster, but as the project matures, that has become a lot easier.

It’s a distributed key/value system, with highly structured values that are held in a hierarchy similar to the classic database/table levels, with the equivalents being keyspaces and column families. It’s very close to the data model used by Google’s BigTable, which you can find described in BigTable. By default, the data is sharded and balanced automatically using consistent hashing on key ranges, though other schemes can be configured. The data structures are optimized for consistent write performance, at the cost of occasionally slow read operations. One very useful feature is the ability to specify how many nodes must agree before a read or write operation completes. Setting the consistency level allows you to tune the CAP tradeoffs for your particular application, to prioritize speed over consistency or vice versa.

The lowest-level interface to Cassandra is through Thrift, but there are friendlier clients available for most major languages. The recommended option for running queries is through Hadoop. You can install Hadoop directly on the same cluster to ensure locality of access, and there’s also a distribution of Hadoop integrated with Cassandra available from DataStax.

There is a command-line interface that lets you perform basic administration tasks, but it’s quite bare bones. It is recommended that you choose initial tokens when you first set up your cluster, but otherwise the decentralized architecture is fairly low-maintenance, barring major problems.


Вас заинтересует / Intresting for you:

NoSQL Database vs. Relational ...
NoSQL Database vs. Relational ... 590 views Antoniy Wed, 13 Jun 2018, 07:26:13
Oracle's Regular Expression in...
Oracle's Regular Expression in... 1326 views Rasen Fasenger Thu, 17 May 2018, 14:10:46
The benefits of functional pro...
The benefits of functional pro... 586 views enyberet Fri, 14 Sep 2018, 04:55:03
DBaaS deployment Issues in Clo...
DBaaS deployment Issues in Clo... 777 views Den Wed, 09 May 2018, 08:54:58