LinuxLinks.com
Newbies What Next ? News Forums Calendar

Search





News Sections
Home
General News (3973/0)
Reviews (628/0)
Press Releases (464/0)
Distributions (187/0)
Software (879/0)
Hardware (522/0)
Security (192/0)
Tutorials (345/0)
Off Topic (181/0)


User Functions
Username:

Password:

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


Events
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.5.1

Price
Free to download

Size
11.1MB
License

Apache License 2.0

Developer
Apache Software Foundation

Website
couchdb.apache.org

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

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

Selected Reviews:
developerWorks

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 Monday, May 26 2014 @ 10:47 AM 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
All Group Tests

Top Free Software
5 Office Suites
7 Document Processors
6 Lean Desktops
6 Desktop Search
9 Project Management
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 DVD Tools
21 Window Managers
21 Productivity Tools
9 Terminal Emulators
21 Financial Tools
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
11 Remote Display Apps
42 Best Games
42 More Games
21 More Games
21 Notable Games (1)
21 Notable Games (2)
21 Notable Games (3)
8 ASCII Games
9 Educational Games
42 Audio Apps
42 Video Apps
6 Screencasting Apps
80 Security Apps
9 System Monitoring
6 Family History Apps
11 PDF Tools
6 Music Servers
6 Collection Managers
7 Calculator Apps
8 Geometry Apps
Free Console Apps
14 Multimedia
Programming
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
'Free' Proprietary
21 Closed-Source Apps
Top Commercial Apps
42 Games
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

All Group Tests

Other Articles
Migrating from Windows
Back up your data
Distribution Guide
Distro Portal Pages
20 Free Linux Books
Running Linux Under Windows


Older Stories
Sunday 08/10
  • Exciting New Terminal Emulators (0)

  • Saturday 08/02
  • The Best Lightweight Graphical Email Clients (0)

  • Sunday 07/20
  • Excellent Free Distraction-Free Tools for Writers (0)
  • Pick of the Bunch: Console Internet Applications (0)
  • Mobile Phone Management Made Easy (0)

  • Saturday 06/28
  • Easy File Comparisons With These Great Free Diff Tools (0)
  • 9 ASCII Games You'll Want to Play Again and Again (0)

  • Friday 06/13
  • 12 Remarkable Free Shell Scripting Books (0)

  • Saturday 06/07
  • Open Source LDAP Solutions (0)

  • Monday 06/02
  • Delightful ASCII Art Tools (0)


  • Vote

    What do you find MOST attractive about Open Source software?

    Amount of customization
    Security
    Freedom provided
    Speed of development
    Quality
    Multiple versions
    Cost
    Potential to contribute
    Ability to modify code
    Results
    4853 votes | 2 comments

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