Key-value DBS

Facebook Twitter
Flexible Data Model JSON Support Couchbase Server 2.0 has native support for JSON documents. Each JSON document can have a different structure, and multiple documents with different structures can be stored in the same Couchbase bucket. Couchbase: Server Features Couchbase: Server Features
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison :: Software architect Kristof Kovacs (Yes it's a long title, since people kept asking me to write about this and that too :) I do when it has a point.) While SQL databases are insanely useful tools, their monopoly in the last decades is coming to an end. And it's just time: I can't even count the things that were forced into relational databases, but never really fitted them.

Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison :: Software architect Kristof Kovacs

Why Redis is different compared to other key-value stores? There are two main reasons. Redis is a different evolution path in the key-value DBs where values can contain more complex data types, with atomic operations defined against those data types. Redis data types are closely related to fundamental data structures and are exposed to the programmer as such, without additional abstraction layers. Redis is an in-memory but persistent on disk database, so it represents a different trade off where very high write and read speed is achieved with the limitation of data sets that can't be larger than memory. Another advantage of in memory databases is that the memory representation of complex data structure is much simpler to manipulate compared to the same data structure on disk, so Redis can do a lot with little internal complexity. FAQ – Redis FAQ – Redis
December 10, 2009 By Ryan Lowe7 Comments Peter took a look at Redis some time ago; and now, with the impending 1.2 release and a slew of new features, I thought it time to look again. One of the more interesting features in 1.2 is the ability to operate in “append-only file persistence mode”, meaning Redis has graduated from a semi-persistent to a fully-persistent system! Using the redis-benchmark script included, I ran the following command in five modes: 1 – In-Memory I set “save 900000000 900000000″ so nothing would be written to disk during the tests. 2 – Semi-Persistent I set “save 1 1″ so that changes would be flushed to disk every second (assuming there was at least one change the previous second). 3 – Fully Persistent I set appendonly yes and appendfsync always, which calls an fsync for every operation. 4 – Semi-Persistent I set appendonly yes and appendfsync no, which is about as persistent as MyISAM. Redis Benchmarks on FusionIO Redis Benchmarks on FusionIO
There are so many NoSQL systems these days that it's hard to get a quick overview of the major trade-offs involved when evaluating relational and non-relational systems in non-single-server environments. I've developed this visual primer with quite a lot of help (see credits at the end), and it's still a work in progress, so let me know if you see anything misplaced or missing, and I'll fix it. Without further ado, here's what you came here for (and further explanation after the visual). Visual Guide to NoSQL Systems - Nathan Hurst's Blog

Visual Guide to NoSQL Systems - Nathan Hurst's Blog

NoSQL Data Modeling Techniques « Highly Scalable Blog

NoSQL Data Modeling Techniques « Highly Scalable Blog

NoSQL databases are often compared by various non-functional criteria, such as scalability, performance, and consistency. This aspect of NoSQL is well-studied both in practice and theory because specific non-functional properties are often the main justification for NoSQL usage and fundamental results on distributed systems like the CAP theorem apply well to NoSQL systems. At the same time, NoSQL data modeling is not so well studied and lacks the systematic theory found in relational databases. In this article I provide a short comparison of NoSQL system families from the data modeling point of view and digest several common modeling techniques.
A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structure (e.g., tree, graph, key-value) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS. There are differences though and the particular suitability of a given NoSQL DB depends on the problem to be solved (e.g., does the solution use tree algorithms?). The appearance of mature NoSQL databases has reduced the rationale for java content repository (jcr) implementations.


twitter/flockdb - GitHub README.markdown FlockDB FlockDB is a distributed graph database for storing adjancency lists, with goals of supporting: a high rate of add/update/remove operationspotientially complex set arithmetic queriespaging through query result sets containing millions of entriesability to "archive" and later restore archived edgeshorizontal scaling including replicationonline data migration Non-goals include: multi-hop queries (or graph-walking queries)automatic shard migrations twitter/flockdb - GitHub

memcached - a distributed memory object caching system

What is Memcached? Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. Memcached is simple yet powerful. memcached - a distributed memory object caching system
Copyright (C) 2009-2012 FAL Labs Last Update: Fri, 04 Mar 2011 23:07:26 -0800 Overview Kyoto Cabinet is a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Kyoto Cabinet: a straightforward implementation of DBM Kyoto Cabinet: a straightforward implementation of DBM