For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | garbados's commentsregister

You say you evaluated Cloudant and MongoDB, among others. Why did you decide on Cloudant?


-Recommendation by the Windows Azure team. -Scalability. -After I got my head around CouchDB in a weekend it was so easy I didn't need to look any further.


I used the documentation on the Cloudant site over that weekend so that definitely played a large part too.


So many kudos to Dale Harvey for driving this incredible project. CouchDB's concept of replication is itself mind-blowing, but PouchDB bringing that to the {app,client}-layer opens up untold possibilities for robust, distributed systems.


Yep! It replicates your remote database to a local store (IndexedDB on the browser, LevelDB in Node.js), so that losing connection doesn't stop your app. When you regain connection, it continues replicating as normal.


Sweet.


Cloudant is a hosted, managed, distributed database as a service. We're based on CouchDB, but then added clustering, then full-text search, and -- coming soon -- geo-indexing :D

BigCouch, and the clustering abilities that we're merging back into CouchDB, are open-source artifacts of the work we do on the core product. The open-source community gave us so much, and we love giving back :D


Ah, thanks for clarifying!

And I think it's great that BigCouch is being merged back into CouchDB. I'm just getting interested in CouchDB and PouchDB and it seems these projects deserve the love.


Aye, which is why putting your administrative credentials in client-side JavaScript is an unspeakably bad idea.

Instead, serve {client,user}-specific keys from the server on request, or let the user generate them through a signin process in the frontend, say by using the _users database that CouchDB and Cloudant allow.


Yes. But it is demo code, meaning that the use case isn't production, it's education. And the UX of education is a lot worse when you have to begin by saying, "this will look different from yours" and "here's a whole extra layer of complication I'm going to introduce, but don't worry it's a best practice."


Exactly, the username / password combination is most certainly to make life simpler for a demo, would never expect someone to do that in real code.

I plan on extending the getting started tutorial with an extention that does a database oer user when logged in (via persona), it actually wont make the tutorial much more complex and gets very close to what it should look like in production (https://github.com/daleharvey/couch-persona)


> especially after having named their product PouchDB.

Ah, PouchDB isn't our product. It's just something super awesome that we want to support and promote. In fact, it's built by Dale Harvey, who works at Mozilla.

Disclosure: I'm a developer at Cloudant.


No sweat; still figuring that out myself.

So, http://schema.org/ stores schemas describing a significant subset of all things ever. It's intended to use to mark up HTML so crawlers can more intelligently understand what's on your page. Is `avatar` a movie, a show, or a profile image?

I'm experimenting with using schema.org's schemas in databases, saving myself time modeling my data, and making the aforementioned HTML markup easier. Part of that experimentation is this API, and using it to auto-generate schemas.



tl;dr your system is more complicated than you realize, so scaling it will be more complicated than you think. Also, MongoDB's write lock is a pain in the ass.


Author here. I had a blast writing this. Thanks to everyone who helped me out with it. I'm constantly amazed by the compassion of the tech community.

If you spot anything you want fixed, or if you just want to check out the source code, raise an issue here: https://github.com/garbados/jepsen-couchdb

Thanks, gang :D


Wow, I thought the Run-DMC thing was going to be a gimmick, but this analysis has some depth. Thanks for the follow-along instructions. However, your writing needed more song lyric callouts.


Thanks! Re: callouts, duly noted for the next analysis.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You