Databases Reference
In-Depth Information
not just MongoDB. It integrates Spring with Redis, Riak, CouchDB, Neo4j, and Hadoop. Get more
details online at the Spring Data project homepage, which is www.springsource.org/spring-data .
MongoDB acts like a persistent cache, where data is kept in memory and fl ushed to disk as required.
Therefore, MongoDB could also be thought of as an intermediate option between an RDBMS
and an in-memory store or a fl at fi le structure. Many web applications like real-time analytics,
comments system, ratings storage, content management software, user data system, and event
logging applications benefi t from the fl uid schema that MongoDB offers. Added to that, such
applications enjoy MongoDB's RDBMS-like querying capabilities and its ability to segregate data
into collections that resemble tables.
Apache CouchDB is a document database alternative to MongoDB. Apache CouchDB is now
available as Couchbase server, with the primary creators of CouchDB having recently merged
their company, CouchOne, with Membase, Inc. Couchbase offers a packaged version of Apache
CouchDB with GeoCouch and support in the form of Couchbase Server.
Couchbase Server epitomizes adherence to web standards. Couchbase's primary interface to the
data store is through RESTful HTTP interactions and is more web-centric than any database has
ever been. Couchbase includes a web server as a part of the data store. It is built on top of Erlang
OTP. This means you could effectively create an entire application using Couchbase. Future versions
of Couchbase will be adding access to the data store through the Memcached protocol, gaining
from Membase's ability to manage speed and throughput with a working set. Couchbase also plans
to scale up, growing from Membase's elastic capabilities to seamlessly span across more nodes.
Although Couchbase is very powerful and feature-rich, it has a very small footprint. Its nimble
nature makes it appropriate for installation on a smartphone or an embedded device. Read more
about mobile Couchbase at www.couchbase.com/products-and-services/mobile-couchbase .
Couchbase models support REST-style data management. A database in CouchDB can contain
JSON format documents, with additional metadata or supporting artifacts as attachments. All
operations on data — create, retrieve, update, and delete — are performed via RESTful HTTP
requests. Long-running complex queries across replicated Couchbase servers leverage MapReduce.
REST, which stands for Representational State Transfer, represents a style of
software architecture suitable for distributed hypermedia systems like the world
wide web. The term REST was introduced and defi ned by Roy Fielding as a part
of his PhD thesis. Read more about REST at www.ics.uci.edu/~fielding/
pubs/dissertation/rest_arch_style.htm .
Not Just a Map
In typical in-memory databases and caches, the most well-known data structure is a map or a hash.
A map stores key/value pairs and allows for fast and easy access to data. In-memory NoSQL stores
provide fi lesystem-backed persistence of in-memory data. This means that stored data survives
a system reboot. Many NoSQL in-memory databases support data structures beyond just maps,
making using them for more than simple cache data extremely attractive.
Search WWH ::




Custom Search