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.
