You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2008/08/13 07:27:24 UTC

[Couchdb Wiki] Update of "FrequentlyAskedQuestions" by ChrisAnderson

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The following page has been changed by ChrisAnderson:
http://wiki.apache.org/couchdb/FrequentlyAskedQuestions

The comment on the change is:
updated faq

------------------------------------------------------------------------------
  
  == What is CouchDB? ==
  
- CouchDB is a document-oriented, Non-Relational Database Management Server (NRDBMS). The [wiki:QuickOverview Quick Overview] has a high level overview of the CouchDB system.
+ CouchDB is a document-oriented, Non-Relational Database Management Server (NRDBMS). The [http://incubator.apache.org/couchdb/docs/intro.html Introduction] and [http://incubator.apache.org/couchdb/docs/overview.html Overview] provide a high level overview of the CouchDB system.
  
- == What is the Status of CouchDB? ==
+ == Is CouchDB Ready for Production? ==
  
- Alpha Release. It is still missing important features, but it's usable enough for testing.
+ Alpha Release. CouchDB has not yet reached version 1.0. There will likely be data-storage format changes and incompatible HTTP API changes between now and 1.0. However, there are projects successful using CouchDB in a variety of contexts. See InTheWild for a partial list of projects using CouchDB.
  
  == What Does Couch Mean? ==
  
@@ -22, +22 @@

  
  Erlang, a concurrent, functional programming language with an emphasis on fault tolerance. Early work on CouchDB was started in C but was replaced by Erlang OTP platform. Erlang has so far proven an excellent match for this project.
  
- CouchDB uses Mozilla's Spidermonkey Javscript library which is written in C.
+ CouchDB's default view server uses Mozilla's Spidermonkey Javscript library which is written in C. It also supports easy integration of view servers written in any language.
  
  == What Platforms are Supported? ==
  
@@ -65, +65 @@

    * Mnesia replication is suitable for clustering, but not disconnected, distributed edits. Most of the "cool" features of Mnesia aren't really useful for CouchDB.
    * Also Mnesia isn't really a general-purpose, large scale database. It works best as a configuration type database, the type where the data isn't central to the function of the application, but is necessary for the normal operation of it. Think things like network routers, HTTP proxies and LDAP directories, things that need to be updated, configured and reconfigured often, but that configuration data is rarely very large.
  
- == Why is there no way to talk to CouchDB besides the HTTP API ==
+ == Can I talk to CouchDB without going through the HTTP API? ==
  
- CouchDB's data model and internal API map the REST/HTTP model so well that any other API would basically reinvent some flavour of HTTP. Since that makes little sense, there's only the HTTP API.
+ CouchDB's data model and internal API map the REST/HTTP model so well that any other API would basically reinvent some flavour of HTTP. However, there is a plan to refactor CouchDB's internals so as to provide a documented Erlang API.
  
  == I want to update my view indexes more often than only when a user reads it. How do I do that best? ==
  
- To get on write view update semantics, you can write a little daemon
+ To get on write view update semantics, you can create a little daemon
- script that runs alongside CouchDB and is specified in couch.ini
+ script to run alongside CouchDB and specified in couch.ini
  as DbUpdateNotificationProcesses. This deamon gets sent a 
  notification each time the database is changed and could in turn
  trigger a view update every N document inserts or every Y seconds,