CouchDB 1.0
couch.io
couch.io
I have to say, though, while you were busy inching towards 1.0 I've fallen in love with other production-ready NoSQL db's (namely Mongo and Cassandra). I'm excited to play with Couch, just to play with it, but as someone who is already very satisfied with other NoSQL technologies (when I need them), what would be your pitch for why I should give Couch a serious look?
Also, none of the other NoSQLs are really set up for schemaless queries like I am. Incremental map-reduce lets you normalize a bunch of different heterogenous document structures in your view, which is more flexible than the key-path indexes Mongo has, and more real-time than Hadoop/Google style map reduce.
I imagine by the time we get the 23andMe account it'll be really creepy. ;)
I'm poking around DroidCouch and only see a wrapper for the CouchDB REST API:
http://github.com/sig/DroidCouch
Should I be looking at another project for offline support?
Remember it's only a developer preview, but it should be fully-functional. Requires Android 2.1 or 2.2
couch also inherits a lot from it's choice of implementation language, Erlang, and it's append-only storage design. A high level functional language such as Erlang makes for a small manageable code base. So if you want to extend or enhance it there's not as much to get your arms around as you would have in C++.
On the other if you're a web programmer or could just otherwise care less about db internals, the JSON based RESTful API is all you need and there's a client already out there for just about every language I can think of except maybe Rebol.
I've been poking at it for a couple of years now and one thing I have to say is that it is really truly rock solid. Moreover it has an active and supportive community and at least two companies building businesses around it, Cloudant and couch.io, both of which boast committers to the project.
Have any citations for data loss happening in a release version of mongo, with the recommended configuration (at least 1 slave)?
Congrats on hitting "the one" then!
Loving your updated design, by the way. Here's a great example: http://www.couch.io/case-studies
When asked about writing CouchDB in C++ he replies "C++ is great- but then you have to use it." Priceless. Anyways congratulations.
Server: CouchDB/0.12.0ab71f475-git (Erlang OTP/R13B)
HTTP/1.1 200 OK Date: Wed, 14 Jul 2010 19:28:23 GMT Server: Apache X-Powered-By: PHP/5.2.6-1+lenny8 Vary: Accept-Encoding Connection: close Content-Type: text/html
<html> <head> <title>Unknown Domain</title> </head>
<body>
The Domain "" is not available on this server. </body>
</html>
Connection closed by foreign host.http://wget.addictivecode.org/FrequentlyAskedQuestions?actio...
My history shows 5 pages from the landing page before I found one that said what CouchDB is (the faq), and I'm still not sure what distinguishes it.
btw: awesome logo and poster.
* More efficient header commits.
* Use O_APPEND to save lseeks.
* Faster implementation of pread_iolist(). Further improves performance on concurrent reads.
* Added authentication caching
* Faster default view collation.
* Added option to include update_seq in view responses.
from http://couchdb.apache.org/downloads.htmlIs this only for Facebook size scaling or is it of use for those of us just starting out?
The main feature of CouchDB is that it's a fast, scalable database that also allows you to host your apps inside of it, with each "view" being stored in the database itself.
I believe some people use it for large installations but as far as I know that is not the primary focus.
While I haven't used couchdb much personally, its most significant characteristics seem to be that it's a document-oriented database (each record can have its own structure) and that it inherits all of Erlang's infrastructure for fault-tolerance.
That said, document-based databases suck at complex queries and reporting tasks.
I have to state that writing something this big in Erlang was bold, really, really bold.
Erlang is not really that fun or exciting to use
I found Armstrong's book useful also, as well as the tutorial at erlang.org
When you consider all that's in CouchDB, the smallness of the code base is impressive. I think that's a direct consequence of the choice of Erlang.
It depends what you use it for. Its brilliant for infrastructure - software that has to live forever and survive no matter what gets thrown at it. It makes a lot of the hard problems go away so you can focus on the fun and exciting stuff.
Check out http://www.couch.io/case-studies
And a longer list here http://wiki.apache.org/couchdb/CouchDB_in_the_wild
Cheers, Chris
This might a) free up some instances that are created only because certain folks have this silly habit of retrying a form with new values when it doesn't work the first time, and b) will make it easier to couchdb novices to get started.
Otoh, I might just be speaking for myself and my own silliness.
can I have an invite? :D
update: downvoted? why? I really think the guy should be credited. He did a fricking awesome job which CouchDB has based its whole image on. The faux movie poster linked at the top of this story has a giant size version of his logo as the very backdrop. This shit is important. Credit him, says I!