Just piggy-backing on what others have said:

Where CouchDB is really great in my experience is for 2 or 3-tiered webapps:

You can replace the data-tier's REST interface, app server, and relational DB all with CouchDB, and you pick up a very scalable and distributable system to boot.

But in many applications you will need something "in front of" CDB to do additional business logic and processing, e.g. Java webapps, RoR, etc.

Where it gets cool/confusing is that you can do a lot in the web-tier/client via CouchApps hosted directly within CouchDB. You can solve a surprising number of needs with just CouchApps, but it's not a full replacement for other type app servers IMHO.

However I'd try not to confuse CouchDB as merely the "app server for CouchApps" - it would still be great as just a DB, even without couchapps!

Hope this helps.



On 8/11/10 10:43 AM, Victor Stan wrote:
So in going through the CouchDB book, and playing a bit more with it,
as well as thinking about the needs of my own projects I came to
realize that perhaps there are some things that I need to better
understand or that couch db may not be able to handle because of it's
inherent nature. I will like it of you folks helped me shed some light
on these discoveries/opinions...

The way I see it now, Couch DB is a really good platform for creating
highly scalable apps that are restricted to the data in the database,
and whatever JavaScript can do in a web browser. This means that Couch
DB can do anything that is implemented in a web browser like HTML,
CSS, SVG, Web3D/webGL(in the future/nightly builds) and whatever
documents exist in the database.

However, what CouchDB can't handle is anything that needs to be
computed, which relies on specific libraries, outside the scope of
CouchDB itself, such as for example, image processing, video/audio
processing/encoding, cryptography(although maybe some js options
exist)

This means that CouchDB can excell at information and data that is
stored exactly in the way that it is meant to be displayed (if it is
not computed on the fly, or text) but can't handle any 'heavy'
computation on binary data. This would limit the extend that CouchApp
can be seen as a true 'application' development platform, to the
extent that it is pretty much limited to dealing with database
introspection, input/output, but no complex computation (that is
beyond map/reduce)...

How much of that is right/wrong?


I appreciate all enlightening information from you!

Victor Stan

Reply via email to