Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

CouchDB: Roll Your Own, Or Go With a Service?

timothy posted about a year ago | from the just-sit-there-on-it dept.

Databases 54

Nerval's Lobster writes "Developer and editor Jeff Cogswell asks: When it comes to implementing a CouchDB installation, do you roll your own, or go with a service that provides a hosted version of the database? He takes a look at some of the technologies present in CouchDB that can greatly influence that decision. His conclusion? Like all things, it's a little complicated. 'If you're going to be self-hosting—unless you're working on a really small system—don't use the basic CouchDB for anything,' he writes. 'If you want scalability, either go with Couchbase or BigCouch, or wait until Cloudant's BigCouch merger into CouchDB is officially available.' But going with a host also creates its own things to watch for, including potential issues with replication and eventual consistency."

cancel ×

54 comments

Sorry! There are no comments related to the filter you selected.

People need to use txt files more (4, Funny)

Anonymous Coward | about a year ago | (#44447025)

And maybe a handful of Excel sheets, but only if you have lots of data.

Re:People need to use txt files more (1)

Mitchell314 (1576581) | about a year ago | (#44447523)

noob, real pros use access!

Re:People need to use txt files more (0)

Anonymous Coward | about a year ago | (#44448645)

I wish I could log in here so I could see how that was moderated. I hope that +1 was "funny."

I've been doing databases for 20 years or longer so I was intrigued by CouchDB... at least until I googled and discovered that it's not a relational database. I miss real programming languages like NOMAD and dBase, and one reason I'm glad I retire next year is because I hate Access so much.

The idea of a database without tables or relationships between tables is really puzzling to me.

Re:People need to use txt files more (1)

Mitchell314 (1576581) | about a year ago | (#44449531)

I first learned about databases when I was taking a class on set theory (bio/math major); relational databases were casually mentioned in the relational algebra topic. Up till that point, I had just thought of databases as dumbed-down versions of spreadsheets. After messing around with sqlite and python for a couple afternoons, I fell in love with SQL.

Re:People need to use txt files more (1)

cheater512 (783349) | about a year ago | (#44452207)

You fell in love with SQL? Most people just grudgingly cringe at it and get on with the job.

Re:People need to use txt files more (1)

Mitchell314 (1576581) | about a year ago | (#44452363)

Most of my work and studies were in scientific computing, and from my experiences the overall attitude and workflow is different than usual business software development.

Re:People need to use txt files more (1)

sirlark (1676276) | about a year ago | (#44454841)

If there is one field/sector that REALLY needs to learn how to use a database, it's the sciences. Keeping experimental data from anything but the simplest of experiments in spreadsheets is just ridiculous.

Re:People need to use txt files more (1)

sirlark (1676276) | about a year ago | (#44454837)

I don't see what's so bad about SQL. I am forever hearing from business types who want their reporting to be more flexible, and complaining that there must already be some tool for the job. My answer is invariably, there is a tool for the job. It's called SQL. Your data is already in a relational database, so learn how to use it. But that's too hard. And SAP, and Oracle Forms, and web front ends etc. are just plaster over the crumbling wall that is the fact that people who don't know how to use the right tools for their job and refuse to learn to do so are always being hired.

Re:People need to use txt files more (1)

cheater512 (783349) | about a year ago | (#44462017)

Its not bad for complicated single run things like reports, but for something like a web app, squeezing data in to a string and then the DB server pulling the data back out of the string just seems convoluted.

couches (0)

Anonymous Coward | about a year ago | (#44447029)

How many couches do you people own that you need to create a database for them?

Re:couches (0)

Anonymous Coward | about a year ago | (#44447155)

Six and a half.

Re:couches (1)

cayenne8 (626475) | about a year ago | (#44447949)

Yeah, the questions raging in my mind was not so much how to use CouchDB...but more along the lines of what the fuck is CouchDB...?

Man, who's writing the article synopsises (sp?) these days?

Lately they're assuming some fairly arcane things are common knowledge....

Re:couches (3, Funny)

alta (1263) | about a year ago | (#44448439)

You my friend have reached the "golden age" in IT. I can tell so by your sub 1m UID. CouchDB is only arcane to old farts who no longer understand the things the younger crowd finds as "in"

We're from the days when MySQL was getting stored procedures, UDFs and views. That's all old hat. Now databases have Couches, and probably ottomans and coffee tables as well.

Embrace your golden years and die out quietly like the rest of us.... :)

Re:couches (1)

OakDragon (885217) | about a year ago | (#44448771)

CouchDB was named after a real-world analog. When you buy things, you might bring them home and store them away in logical places, so you can find them again. Or, you might just throw it on the couch. The name stuck.

Re:couches (1)

Anonymous Coward | about a year ago | (#44450161)

Or you could see that it's an acronym for cluster of unreliable commodity hardware

Re:couches (1)

cayenne8 (626475) | about a year ago | (#44450807)

Embrace your golden years and die out quietly like the rest of us.... :)

Does this now call for the perfunctory "Get Off My Lawn" statement?

:)

Re:couches (1)

alta (1263) | about a year ago | (#44451161)

And Get Off My Lawn!

Re:couches (1)

RMingin (985478) | about a year ago | (#44449433)

I must be extra old today, because I was thinking the same thing. This seems like the summary is being needlessly obtuse, a single short introductory line would have completely sufficed.

Basically, it's bollocks (-1, Offtopic)

magic maverick (2615475) | about a year ago | (#44447091)

it's all bollocks. total shit. /. is going to hell in a hand basket, and shit like this isn't helping.
a story for you:

once upon a time, a young lass decided to kill the king. so she set out with her weapon of choice, and charmed her way to the throne room. there she blew up the universe, thus killing the king (and everyone and everything else).

the moral of the story is, don't be afraid to take down what you love to kill the greater evil.

i.e. let's all start shooting politicians and capitalists. and police and similar scum who support them.

Re:Basically, it's bollocks (-1)

Anonymous Coward | about a year ago | (#44447393)

The punishment should fit the crime - for example, everybody in the NSA should be rounded up and placed nude into jail cells with no cover and video cameras everywhere, broadcast 24/7 to the American public. There could also be a TV for feedback, so they could see and hear the citizenry laugh at them everytime they shit or wank.

The DoD hawks could be shaved completely bald throughout their bodies, like mole-rats, and air-dropped into Rural Afghanistan and Pakistan, tattooed with Arabic inscriptions describing who they are and what they are responsible for, as well as Arabic tattos of "Allah is a pig-fucker" on their foreheads.

The CIA deserve good ol' fashioned torture, the kind you don't live though. See: The Spanish Inquisition.

The greedy corporate and wall-street heads, and their lobbyists, should be kept in pens not much bigger than they are, restrained, and force-fed slowly but surely until they die in a pile of their own filth. Surely due to their own exquisite tastes in Foie Gras, non?

-- Ethanol-fueled

In b4 webscale! (0)

Anonymous Coward | about a year ago | (#44447103)

But is it webscale like MongoDB?

Whatever he does (2)

korbulon (2792438) | about a year ago | (#44447107)

Make sure Cosmo Spacely doesn't find out.

Re:Whatever he does (1)

jeffcogswell (2760405) | about a year ago | (#44456595)

:-D Cogswell Cogs will win!

Hosted is usually a bad idea (2)

Anonymous Coward | about a year ago | (#44447293)

Unless the host you choose is within 5-10ms of your server network-wise you should always self-host.

An average site makes many queries per page to the database. The latency adds up fast. People often fail to understand this and end up with very slow sites and/or very frustrated developers.

Re:Hosted is usually a bad idea (1)

Mitchell314 (1576581) | about a year ago | (#44447545)

The best way to get around that is to cache every possible permutation of the webpage . . .

Particularly bad case of Slashdotting (1)

vikingpower (768921) | about a year ago | (#44447381)

TFA being hosted on slashdot.org en being unreachable, we are led to the conclusion that /. /.-ed itself. Hooray !

Re:Particularly bad case of Slashdotting (1)

Lunix Nutcase (1092239) | about a year ago | (#44447587)

Maybe their using a hosted CouchDB? *ducks*

Re:Particularly bad case of Slashdotting (2)

Lunix Nutcase (1092239) | about a year ago | (#44447611)

They're, obviously...

Re:Particularly bad case of Slashdotting (0)

Anonymous Coward | about a year ago | (#44450183)

You're right they must have accidentally the internet

What? (2)

Kadagan AU (638260) | about a year ago | (#44447403)

What's a CouchDB? This seems like a niche subject without any description..

Re:What? (0)

Anonymous Coward | about a year ago | (#44447451)

It's a webscale, NoSQL database that is used for storing info about all the couches you own.

Re:What? (0)

Anonymous Coward | about a year ago | (#44447589)

It's a tool used by the NSA to gather and catalog butt print metadata.

Re:What? (2, Funny)

Anonymous Coward | about a year ago | (#44447643)

It's a lot like /dev/null except that sometimes you might be able to get out from it some data that you put in.

Re:What? (0)

Anonymous Coward | about a year ago | (#44448735)

/dev/null with a weak event horizon

Re:What? (1)

Anonymous Coward | about a year ago | (#44450245)

Like /dev/null, it's web scale.

Re:What? (0)

Anonymous Coward | about a year ago | (#44447689)

Couch [urbandictionary.com] DB [urbandictionary.com]

Re:What? (0)

Anonymous Coward | about a year ago | (#44447935)

Cluster of unreliable commodity hardware Database. Seriously. And "CouchDB is a database that completely embraces the web."

Re:What? (0)

Anonymous Coward | about a year ago | (#44449145)

It's a NoSQL database designed to store objects. For example, my previous employer used it to store data from RSS feeds.

It is written in a terrible language and it doesn't scale well when mixing insert and reads.

Use almost any other NoSQL database first. For the first several versions, they didn't even secure admin function.

THere's an orielly book on it if you care.

Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44447625)

I have a serious question: who really uses CouchDB? From everything I've read and experienced, it's a horribly slow database that can't scale worth a damn (much like most databases today--seriously, it's 2013, why hasn't anyone figured out how to easily scale/shard) and then layered on top of a clunky map/reduce query interface.

The only interesting thing about CouchDB is the ability to easily write APIs thanks to its HTTP interface.

Re:Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44447727)

I heard that one hipster's friend whose third cousin twice removed uses it.

Re: Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44448221)

never heard of it before now... and most of my friends the hipster/startupper type.

Re: Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44448299)

It's too hipster even for the average hipster. It's DB of choice for the hipster's hipster.

Re: Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44452477)

It's for the hipsters who were into being hip before it was hip.

Re:Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44449655)

seriously, it's 2013, why hasn't anyone figured out how to easily scale/shard

Much the same reason why MySQL still rules the world.

People latch on to the easiest thing to use and run with it straight off a cliff.

Re:Who really uses CouchDB? (0)

Anonymous Coward | about a year ago | (#44450115)

People latch on to the easiest thing to use and run with it straight off a cliff.

Don't forget about PHP

Couch as a service? (1)

WaffleMonster (969671) | about a year ago | (#44447825)

This could be a very compelling business model. Instead of producing physical goods like sofas and counches one could project them virtually using holograms and force fields. Couch service providers would be able to offer a wide array of couches virtually as a service. However I suspect if you fail to pay your bill on time your couch may become incresingly uncomfortable to sit in.

Re:Couch as a service? (1)

Lunix Nutcase (1092239) | about a year ago | (#44447883)

CaaS?

Re:Couch as a service? (1)

module0000 (882745) | about a year ago | (#44448289)

Seems like a product you'd expect from the Serius Cybernetics Corporation - maybe they'll ship them with Genuine People Personalities?

spoiler: https://en.wikipedia.org/wiki/Technology_in_The_Hitchhiker's_Guide_to_the_Galaxy [wikipedia.org]

Re:Couch as a service? (0)

Anonymous Coward | about a year ago | (#44451845)

"Serius"?

R U Sirius?

Betteridge's law of headlines (1)

Anonymous Coward | about a year ago | (#44448301)

No.

Couchbase!=Couchdb (1)

Maudib (223520) | about a year ago | (#44449647)

Aside from the name and the founder, there is very little in common between CouchDB and Couchbase.

I'm pretty sure that Couchbase is initially being built around memcache.

Re:Couchbase!=Couchdb (1)

rwa2 (4391) | about a year ago | (#44450091)

It's getting there...

The people who made CouchDB bought NorthScale, the people who made Membase, which was an attempt to get memcached to automagically store all of its data in a backend database, so the lazy front-end devs would no longer have to worry about doing the whole "is it in memcache? get it from memcache : get it from DB and put it in memcache" logic.

Couchbase 1.8 was still using SQLite as its backend database. But starting from Couchbase 2.0 they managed to start using CouchDB as the backend, which added a bunch of query stuff which wasn't practical with the old way. But yeah, it's still primarily memcached in a big way... except that you have to worry about disk write performance.

The only reason to use CouchDB (0)

Anonymous Coward | about a year ago | (#44450255)

Is if you want a database that handles syncing back up after being offline for a while. Has some use for embedded and syncing in that regard with a minimal resource footprint. Outside of that particular use case, its not a good choice for much of anything.

Isn't CouchDB supposed to be in your living room? (1)

Mozai (3547) | about a year ago | (#44451673)

If whatever you're building is large enough that you think you're unable to host your own small NoSQL database, is it time to reconsider using a small NoSQL database?

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>