couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Couchdb Wiki] Update of "FoireAuxQuestions" by BenoitC
Date Mon, 30 Jun 2008 17:44:29 GMT
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 BenoitC:
http://wiki.apache.org/couchdb/FoireAuxQuestions

The comment on the change is:
traduction démarrée.

New page:
#language fr

Une FAQ pour toutes les questions autour de CouchDB.

Si vous avez une question dont la réponse n'existe pas dans cette FAQ, merci de l'ajouter
à la fin. Revenez au bout de quelques jours, quelqu'un y aura peut-être répondu.

== Qu'est-ce que CouchDB? ==

CouchD est une base de données orientée document non relationnelle (NRDBMS). 
CouchDB is a document-oriented, Non-Relational Database Management Server (NRDBMS). La page
d'http://incubator.apache.org/couchdb/docs/intro.html Introduction] possède plus d'information
sur le système de CouchDB.

== Quel est le statut de CouchDB? ==

version Alpha. Il manque encore d'importantes fonctionnalités, mais est suffisamment utilisable
pour être testée.

== Qu'est-ce que Couch signifie ? ==

C'est un acronyme pour Cluster Of Unreliable Commodity Hardware. Il résume les objectifs
long terme de CouchDB qui sont d'être facilement extensible et fortement disponible sur des
machines sensibles aux pannes. La nature distribuée et la structure à plat des données
dans la base permettra le partionnement en noeuds pour étendre le stockage (avec du map/reduce
pour les requêtes) et du cluster pour la disponibilité et la résistance aux pannes.

== En quel langage est écrit CouchDB ? ==

Erlang, 
Erlang, un langage fonctionnel concurrent temps réel et distribué, qui possède des fonctionnalités
de tolérance aux pannes. Les premières version de CouchDB étaient en C mais fut remplacé
par la plateforme  Erlang OTP. Erlang montre depuis qu'il correspond parefaitement à ce type
de projet.

CouchDB utilise la bibliothèque Javascript Mozilla's Spidermonkey en C.

== Quelles plateformes sont supportées ? ==

La plupart des systèmes POSIX, ce qui inclue GNU/Linux et OS X.

Windows is not officially supported but it should work, please let us know.

== What is the License? ==

[http://www.apache.org/licenses/LICENSE-2.0.html Apache 2.0]

== How Much Stuff can I Store in CouchDB? ==

With node partitioning, virtually unlimited. For a single database instance, the practical
scaling limits aren't yet known.

== How Do I Do Sequences? ==

Or, where is my AUTO_INCREMENT?! With replication sequences are hard to realize. Sequences
are often used to ensure unique identifiers for each row in a database table. CouchDB generates
unique ids from its own and you can specify your own as well, so you don't really need a sequence
here. If you use a sequence for something else, you might find a way to express in CouchDB
in another way.

== How Do I Use Replication? ==

{{{
POST /_replicate?source=$source_database&target=$target_database
}}}

Where $source_database and $target_database can be the names of local database or full URIs
of remote databases. Both databases need to be created before they can be replicated from
or to.

== How Fast are CouchDB Views? ==

It would be quite hard to give out any numbers that make much sense. From the architecture
point of view, a view on a table is much like a (multi-column) index on a table in an RDBMS
that just performs a quick look-up. So this theoretically should be pretty quick.

The major advantage of the architecture is, however, that it is designed for high traffic.
No locking occurs is the storage module (MVCC and all that) allowing any number of parallel
readers as well as serialized writes. With replication, you can even set up multiple machines
for a horizontal scale-out and data partitioning (in the future) will let you cope with huge
volumes of data. (See [http://jan.prima.de/~jan/plok/archives/72-Some-Context.html slide 13
of Jan Lehnardt's essay] for more on the storage module or the whole post for detailed info
in general).

== Why Does CouchDB Not Use Mnesia? ==

Several reasons:

  * The first is a storage limitation of 2 gig per file.
  * The second is that it requires a validation and fixup cycle after a crash or power failure,
so even if the size limitation is lifted, the fixup time on large files is prohibitive.
  * 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 ==

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.

Mime
View raw message