NoSQL - WTF?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • NoSQL - WTF?

      While trolling about I came across a book on Amazon.com, Seven Databases in Seven Days, touting the newish NoSQL movement. Wikipedia was next of course, because I hadn't a clue what NoSQL was - I found this entry..

      So....it seems to me that games have been storing their data this way FOREVER, even enterprise level MMO games like Ultima Online. Am I crazy or is this a typical case of the games industry solving a problem 15 years before anyone else, and then something like Facebook or Google come along and claim they invented something!
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • RE: NoSQL - WTF?

      One wrinkle with the above idea - is the idea of multiple server scalability and reliability, although it could be argued that the multi-shard approach UO took in the early days was a very early version of that idea.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • RE: NoSQL - WTF?

      Yeah, based on the wikipedia entry, this sounds like a fancy term for a keyed resource cache, which the games industry (and probably other software industries) have been doing forever.

      When I was first starting out, I wrote an image compression scheme and was all proud of myself. Then I realized that it was basically just RLE compression. It's interesting when you accidentally invent stuff that's been around forever.

      -Rez
    • RE: NoSQL - WTF?

      Ok so I've had a little quality time with a NoSQL implementation, Mongo. It is a schema-less database system that stores documents (think "rows") in BSON format - a binary form of JSON. It is scalable, super easy to develop for, and supports all the typical SQLish queries you are familiar with, even using indexes on the data.

      I have to admit my original understanding of noSQL was quite off the mark - it isn't just storing a binary table in memory. The schemaless structure of the data stored is a huge difference from SQL, and can be considered both a strength and a weakness.

      For databases that are rapidly evolving and are scalable with simply throwing hardware at the problem noSQL is a really interesting choice. Combine that with the now required commercial licensing requirements of MySQL, and I think you'll see a non-trivial sized migration away from traditional SQL style database storage.

      If you haven't looked at noSQL yet, and Mongo in particular, give it a look. Interesting stuff.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • RE: NoSQL - WTF?

      Originally posted by mrmike
      So....it seems to me that games have been storing their data this way FOREVER, even enterprise level MMO games like Ultima Online. Am I crazy or is this a typical case of the games industry solving a problem 15 years before anyone else, and then something like Facebook or Google come along and claim they invented something!


      I remember a few years ago seeing an infomercial on a "revolutionary new crank flashlight." Something of this sort (not this exact one, but something just like it). They were going on and on about how it was a brilliant new discovery (using "recently discovered physics") that let you crank the batteries whenever needed. I burst out laughing because this is something physicists discovered over 150 years ago (see electromotive force and electromagnetic induction). This flashlight is such a brilliant "new" discovery. I mean when you consider the age of the universe, 150 years is nothing!

      The joke I'm making is that in every field it seems people solve a problem in the past, but it's not widely publicized to a non-expert audience. Then someone comes along and applies this old discovery to a new "thing" and suddenly claim they are some kind of genius for coming up with it.
    • RE: NoSQL - WTF?

      In this case I think it really is new - computing power and storage have caught up with the ability (and need) for schemaless databases - that is to say that each row (or "document" as they say in NoSQL land) contains it's own schema along with the data. Look at JSON to see what I mean.

      But, yeah, you are right it turns out that while some humans are pretty clever and forward thinking, many don't realize that they are simply parroting past achievements.

      Just to be clear - I never worked on a game that stored game data in the NoSQL manner - we typically had binary formatted flat files with fixed size records for super fast lookup.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • Had a brain bulb go off today as I was researching the possible use of a ServiceBus for a new piece of architecture at the eCommerce company I work for. ServiceBuses and event sourcing are pretty hot in business apps these days, and once I got my head wrapped around it I realized that the fancy ServiceBus is just another word for the EventManager I learned about in GCC. Hoorah!
      -bullgoose