I have been playing about using the Ordnance Survey Code-Point Open dataset of United kingdom postcodes/co-ordinates. Since Couch.io were offering a totally free located CouchDB instance I decided to put my geo data into among individuals, learning a little about CouchDB along the way.
The concept was that since CouchDB should be proficient at handling large datasets (the postcode information is around 1.7 million records) and works natively with Relaxation/JSON, it might match nicely with client-side jQuery to be used with Google Maps programs.
My primary goal was only to have the ability to make an AJAX call having a postcode like a parameter, returning just one JSON object with lat/lon qualities, that we could consume during my script (showing a marker for your postcode).
I have carried this out effectively, but from a relational DB background it had been much more difficult than I figured when i find out more about CouchDB and have fun with it a little I recieve the sense it can't be the best tool with this job, were I really utilizing it for any real-world project.
Am I in convinced that dynamic queries are a little of the weakness for CouchDB? Could it be more targeted at coming back large sights which don't change everything frequently, from large datasets? What may be some good examples of 'good' and 'bad' uses of CouchDB, when it comes to playing to the talents?
I'm the primary Couchio hosting guy. Glad you're taking pleasure in CouchDB.
My feeling is, essentially, relational databases are plain better at constantly-altering, one-off queries from large data sets. Still it takes forever to churn through everything data. Neither SQL nor NoSQL is really a silver bullet there. However, generally speaking, the NoSQL databases are better if you know what questions you'll request. Quite simply, it isn't an issue of methods much the data changes, but exactly how much the queries change.
That's the idea. For the specific project, is CouchDB a great fit? My feeling is, there's no problem with making several indexes around the fundamental data set. The advantage of index-only queries is, the queries happen extremely fast. CouchDB particularly only must re-index new data, for queries for example earnings, or XOR checksums.
So, even when you've got a hundred various kinds of queries you may perform, if you know what individuals queries are, hey just write them lower. However for a moment never stop making completely new queries, CouchDB might have a difficult time maintaining.