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:

Data Models and Query Language...
Data Models and Query Language... 206 views dbstalker Sun, 29 Sep 2019, 13:09:35
Services Applicable to DBaaS
Services Applicable to DBaaS 1042 views Akmaral Wed, 09 May 2018, 08:14:34
Grid Computing with Clusters
Grid Computing with Clusters 701 views Семен Tue, 15 May 2018, 06:41:13
DBaaS - A Special Case of Clou...
DBaaS - A Special Case of Clou... 807 views Akmaral Tue, 08 May 2018, 19:48:51