Note: I’ve made some edits and added a little extra section about clustering at the end.
While investigating node.js to power the new game server, it is equally important to find a good storage technology. The only thing I know for sure so far is that it’s going to be a nosql database. I will certainly take a closer look at mongodb, but probably also more key-value centric approches like Riak and Redis.
If you talk about node.js server it sounds a bit like http; so, in every case you should take a close look at #couchdb
I found this blog post really insightful for understanding the differences between MongoDB and CouchDB. The key takeaways for me were in understanding the difference between the way querying works (views in CouchDB versus find queries in MongoDB) and availability versus replication (continuous availability during network partitions in CouchDB versus one master plus replication in MongoDB). This post is worth reading in its entirety.
I was on the road last week, so this week’s comic was originally created and uploaded to my backup grid on an airplane. I literally pushed data to the cloud amongst the clouds.
So as I sat in my chair in the sky, with a portable supercomputer and drawing in $5000 Photoshop software by way of an augmented reality pen, I was surprised to find myself unimpressed. It was downright mundane. That’s how I know we’re in the future. We suffer from an ennui once reserved for spoiled sons of Dukes.
So I scrapped the work, and instead drew a flowchart on a napkin using a sharpie. Technology must remain compelling, lest it make us complacent.
Karel Minařík and Mikeal Rogers had an interesting exchange of comments on the status of CouchDB Ruby libraries. You can read it ☞ here and ☞ here. Probably this fragment from Mikeal’s post summarizes quite well the whole conversation:
The basic complaint here is that there are way too…
NoSQL is a new breed of database management systems that fundamentally differ from relational database systems. These databases do not require tables with a fixed set of columns, avoid JOINs and typically support horizontal scaling. They are also referred to as structured storage. Here is the list of top open source “NOSQL” databases
Fast scan-ability. For very large JSON documents, scanning can be slow. To skip a nested document or array we have to scan through the intervening field completely. In addition as we go we must count nestings of braces, brackets, and quotation marks. In BSON, the size of these elements is at the beginning of the field’s value, which makes skipping an element easy.
Easy manipulation. We want to be able to modify information within a document efficiently.
Additional data types. JSON is potentially a great interchange format, but it would be nice to have a a few more data types. Most importantly is the addition of a “byte array” data type. This avoids any need to do base64 encoding, which is awkward.
I don’t know of any other usage of BSON than MongoDB.