4 ms·
Keyspace is replicated; when consistent, every node has a complete copy of the data. Cassandra distributes the keyspace across many nodes; in a reasonably-size
by stephenjudkins 16y ago
Keyspace is replicated; when consistent, every node has a complete copy of the data. Cassandra distributes the keyspace across many nodes; in a reasonably-sized cluster a node will have only a fraction of the data. A write-heavy workload will scale horizontally with Cassandra but will probably be as slow as the slowest server in the cluster with keyspace.
Cassandra is tolerant of partitions in the cluster; if communication between two parts of a cluster are cut off, read and write operations that don't demand consistency will not fail. Keyspace has "dirty" reads that will continue to return inconsistent data when this occurs but all write operations require a majority of nodes to be up and in communications with one another.
Cassandra's data model is more sophisticated than Keyspace's. You can have multiple column families (essentially, namespaces) in Cassandra that can be ordered arbitrarily, given a plugin to compare two keys. Supercolumns are (this is a very simplified explanation) columns with tuples (key1, key2) as keys. Keyspace is a simple key/value store.
Both Cassandra and Keyspace support ranged gets; Cassandra supports multi-gets of a list of arbitrary keys as well. Keyspace supports increment and compare-and-swap operations that Cassandra does not.
Cassandra is used in production by a good number of places; I don't know who, if anyone, is using Keyspace.
All my knowledge of Keyspace comes from reading the thorough and clear whitepaper they offer at http://scalien.com/pdf/Keyspace.pdf http://scalien.com/pdf/Keyspace.pdf.