I really enjoy seeing the great work being done by CouchBase team on providing us with a great NoSQL solution. However, despite the fact that there are few erlang Web developers compared to perhaps ruby, PHP, java or Python, the number of developers picking up erlang are increasing.
Which brings me to why on their SDK page, they have constantly left out Erlang. With yaws web Server, Mochiweb, and many other Erlang Web libraries, why in the world would they not support Erlang in their NoSQL realm. Its quite disturbing to discover that they use it in building their DBMS yet they do not provide a client/SDK for the language.
Now, the question: Somewhere i read that its because there is no money in Erlang Web Development. Is this the only reason they give ?
Who else knows why Couch Base has constantly refused to provide an Erlang SDK for their NoSQL database ?
3 Answers
I have received a phone call from couchbase
company in April, this year. They asked me which language I use for programming.
I think it is related to how couchbase
make money. From the website's information, they provide project team members for customer's project team for fee based on days or hours.
These members (couchbase
employee) should use the same language as their customers, most customers are using c#, java, python. So they just provide these language's sdk, not erlang.
For a middle-long period ( 1 or 2 years), I think it is impossible to provide erlang sdk
from couchbase.
I believe the primary issue is the amount of demand for an Erlang SDK. There are far more developers for Java, C#, Ruby, and Python than Erlang.
That being said, it should be possible to use Erlang with Couchbase for some features. Couchbase supports the memcached API, so basic key/value lookups should work. You can try this library and see if that works: erlmc. Couchbase 2.0 features such as views may not be accessible. Also, Couchbase is open source, so you could try writing your own client, if you really wanted to.
cberl is a NIF based Erlang client which uses libcouchbase. I have started working on but didn't spend much time. It is not fully tested and has some broken parts, but all the basic functionality is there so it is worth a shot. Now it is listed as an experimental SDK on couchbase website so I think it will get more traction and have less bugs in short time.