Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (637/0)
Press Releases (465/0)
Distributions (197/0)
Software (911/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events

Apache CouchDB

Apache CouchDB

Apache CouchDB, commonly referred to as CouchDB, is an open source, document-oriented, non-relational database management server accessible using a RESTful JavaScript Object Notation (JSON) API. The database can be queried and indexed in a MapReduce fashion using JavaScript. If you are looking for a relational database, a replacement for all databases, or an object-oriented datbase, CouchCB is not for you.

It is written in the Erlang programming language which has an emphasis on fault tolerance. CouchDB borrows from NoSQL and is designed for local replication and to scale horizontally across a wide range of devices.

CouchDB is a peer based distributed database system. Any number of CouchDB hosts (servers and offline-clients) can have independent "replica copies" of the same database, where applications have full database interactivity (query, add, edit, delete). When back online or on a schedule, database changes are replicated bi-directionally

CouchDB is supported by commercial enterprises Couchbase and Cloudant. It is used in large and small organizations for a variety of applications where a traditional SQL database is not the best solution for the problem at hand.

 CouchDB 1.6.1

Free to download


Apache License 2.0

Apache Software Foundation


System Requirements
Spidermonkey 1.7
Erlang 5.6.0 or higher
ICU 3.0 or higher
cURL 7.15.5 or higher

Wiki, FAQ, Mailing Lists, CouchDB - the Definitive Guide, NoSQLDatabases, Scaling CouchDB, Planet CouchDB, Twitter, The Ruby Reflector

Selected Reviews:

Features include:

  • Futon, a browser based graphical user interface
  • Document storage - CouchDB stores documents in their entirety. You can think of a document as one or more field/value pairs expressed as JSON. Field values may be strings, numbers, dates, or even ordered lists and associative maps. Every document in a CouchDB database has a unique id and there is no required document schema
  • ACID Semantics - Like many relational database engines, CouchDB provides ACID semantics. It does this by implementing a form of Multi-Version Concurrency Control (MVCC) not unlike InnoDB or Oracle. That means CouchDB can handle a high volume of concurrent readers and writers without conflict
  • Map/Reduce Views and Indexes - To provide some structure to the data stored in CouchDB, you can develop views that are similar to their relational database counterparts. In CouchDB, each view is constructed by a JavaScript function (server-side JavaScript by using CommonJS and SpiderMonkey) that acts as the Map half of a MapReduce operation. The function takes a document and transforms it into a single value which it returns. The logic in your JavaScript functions can be arbitrarily complex. Since computing a view over a large database can be an expensive operation, CouchDB can index views and keep those indexes updated as documents are added, removed, or updated. This provides a very powerful indexing mechanism that grants unprecedented control compared to most databases
  • Robust, incremental replication with bi-directional conflict detection/resolution - this means multiple replicas can have their own copies of the same data, modify it, and then sync those changes at a later time. The replication framework offers:
    • Master to Slave replication
    • Master <--> Master replication
    • Filtered replication
    • Incremental replication with bi-directional conflict detection/resolution
  • REST API - CouchDB treats all stored items (there are others besides documents) as a resource. All items have a unique URI that gets exposed via HTTP. REST uses the HTTP methods POST, GET, PUT and DELETE for the four basic CRUD (Create, Read, Update, Delete) operations on all resources. HTTP is widely understood, interoperable, scalable and proven technology. A lot of tools, software and hardware, are available to do all sorts of things with HTTP like caching, proxying and load balancing
  • Excellent data integrity/reliability utilizing MVCC
  • Stores BLOBs (Binary Large Objects) natively
  • Effectively no storage limit
  • Native SSL support
  • Easy installation on many platforms

Futon in action

Return to Document-Oriented Databases Home Page

Bookmark and Share

Last Updated Tuesday, May 26 2015 @ 02:37 PM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Sunday 04/12
  • First Peek at XBian on the Raspberry Pi 2 (0)

  • Saturday 04/04
  • First Look at OSMC RC on the Raspberry Pi 2 (0)

  • Sunday 03/29
  • First Steps with OpenELEC on the Raspberry Pi 2 (0)
  • Ubuntu MATE 15.04 for Raspberry Pi 2 (0)

  • Monday 03/16
  • MIPS Creator CI20 v Raspberry Pi 2 (0)
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Friday 03/06
  • Raspberry Pi 2 review (0)

  • Sunday 02/22
  • Chess in a Few Bytes (0)
  • Learn the Art of Computer Programming With These Great Free Beginner Books (2)
  • CD Audio Grabbers (0)

  • Vote

    What Linux distribution do you run on your main computer?

    841 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved