incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From J Chris Anderson <jch...@couch.io>
Subject Re: Server Side Language Confusion
Date Wed, 10 Mar 2010 17:51:29 GMT

On Mar 10, 2010, at 6:39 AM, Justin Stanczak wrote:

> I'm having a little trouble figuring out what to select as the server side
> language for accessing CouchDB. I'm new to CouchDB so this paragraph will be
> a long list of questions and sentences of how I understand things to this
> point in time. Please feel free to correct me and help me better learn. I
> like the idea of eliminating all the DB mapping and focus on programming
> again, that CouchDB allows you to do. So I guess the first issue is you
> don't want your CouchDB exposed to the WWW, so you need a HTTPD to act as a
> proxy, via some language. This language would provide the session tracking.
> That session tracking would give you user logins and what not. This would
> also restrict access to your CouchDB, as I don't see CouchDB has much in the
> way of protection when it comes to access control to it's databases.

The soon to be released CouchDB 0.11 actually has a robust authorization and authentication
system built-in. Read-access control is on a per-database basis, so you may end up using a
database-per-user programming model. CouchDB has been tested with millions of databases on
a single server, no problem, so this model is practical and supported.

If I were going to use a middle tier layer I'd use Node.js. Generally though a middle tier
will just introduce scaling difficulties and muddy the waters around security. Node.js (or
other languages) still makes a lot of sense for backend asynchronous processing, of course.

If you are interested in pure-CouchDB applications take a look at the CouchApp project [1]
or see my blog (itself a pure CouchApp) for posts relating to the idea. [2]

[1] http://github.com/couchapp/couchapp
[2] http://jchrisa.net

Cheers,
Chris


> This
> leads to the issue of Javascript not being the language of choice for client
> side, as you really don't want clients, duh. So now that's where my language
> server side question comes from. What's a good option when using CouchDB? I
> know everyone has their opinions, but really, if you are using CouchDB as
> your back end database what language has been developed the most with
> CouchDB? What works the best? Surely there is one that stands out over the
> rest? Maybe I'm way off, any input is welcome, thanks.


Mime
View raw message