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.
(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.
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.
December 10, 2009 By Ryan Lowe 7 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.
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).
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 simple, lightweight mechanism for storage and retrieval of data that can under certain conditions provide higher scalability and availability than traditional relational databases .
Copyright (C) 2009-2012 FAL Labs