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.

Reply via email to