Eliot Horowitz presents on sharding with MongoDB at MongoNYC on May 21, 2010


MongoDB is the new MySQL

Watched out MySQL. MongoDB is here and it is after your blogs. If you have not heard of it yet MongoDB is is an open source, scalable, high-performance, schema-free, document-oriented database. What MongoDB is designed for is problems without heavy transactional requirements that aren't easily solved by traditional RDBMSs, including problems that require databases to span many servers. What this means is MongoDB does not have a table structure like MySQL. You do not have to design your database schema before 

Now I do not think every web app is going to run out and refractor all of there code for MongoDB, but maybe they should :) What Mongodb does is try to fill that void in RDBSM of sharing large amount of data between servers and accessing it quickly. Now why do I think MongoDB is going to start pushing MySQL out of the way? It is because of this. MySQL has had some notable shortcomings when dealing with scale. Now when it comes to blogs where there are lots of reads and with large blogs and websites millions of reads MySQL falls short on scaling. Here is a nice niche for MongoDB. Now Joe Shmoe's blog my not see any benefit from switching to a MonogDB backend but larger scale sites will. 

MonogoDB is also about infrastructre. Where you may not end up using MongoDB for your CMS. If you a developing the next best web site hosting like Harmony then MongoDB makes a lot of sense. For me when it came to development time with Quicklogs, MongoDB crushed MySQL. Forget ALTER TABLE commands whenever you want to update your schema. MongoDB is schema free meaning you can write the schema to how you see fit. This is great for development, prototyping and upgrades down the road. The other infrasctructure play is replication and sharding. Although sharding will not be in the production deployment until 1.6, eta July 2010. MongoDB is very easy to replicate, do a initial sync and stay synced. MySQL replication in my experience has had a problem keep up with large data sets. 

How is MongoDB going to push MySQL out of the way? At first I thought it was going to happen slowly, but then I watch as some big names keep showing up on the  MongoDB's production deployment site and it may happen a lot sooner than I thought. Once you see a major CMS like Wordpress or Drupal port to MongoDB then it is all over. I use Wordpress and Drupal as examples because they are a couple of the most visible MySQL based app out there right now, but a new comer could easily come in a generate big time buzz. Keep an eye out for Quicklogs as one of those.
Then there is the geek build it factor. As a computer enthusiast is it just fun to use something new like MongoDB. There is also the Oracle factor. What is Oracle going to do with MySQL? Is Larry Ellison going to wake up one morning drip and a MySQL book get pissed and kill it? Probably not but that thought is always out there. The bigger question is why is Oracle still keeping MySQL around?


Migration weekend

This weekend we going to start migrating Quicklogs to use MongoEngine. Why the switch? We feel that the MongoEngine is the best is class Object-Document Mapper between Django and MongoDB. The switch will mean we have to re-write a lot of our queries but we fell now is a the time to pull the trigger on the update. The update will allow us to take advantage of more of the great features of Django that in the past we have had to write custom code to achieve.
MongoEngine - http://github.com/hmarr/mongoengine, http://hmarr.com/mongoengine/index.html


Django best practices


The end of MS Paint

After more than 20 years the era of MS Paint will come to an end. The new up and comer: Project Gustav. Project Gustav will attempt to end MS Paints strangle hold on the 256 color free form drawing platform. My biggest worry is how am I now going to view a fax from MS Fax. What is next updating Mine Sweeper?



My guess is MS will decide on a final name like Paint twenty-ten, because Gustav is to catch as a product name. Check out more on Gustav on current home in the MS research website http://research.microsoft.com/en-us/projects/gustav/default.aspx


Gmail Labs Retirement and Graduation

Gmail Labs has retired 5 features and graduated 6 more feature. Gmail Labs is a playground for Google engineers to test out new ideas. Some of them are cool and some flop. The graduated feature will go on to the Big Show. The retired features well, go to a farm upstate were they have lots of room to run and play.

Here are the graduates coming to your Gmail soon:

  • Search Autocomplete
  • Go To Label
  • Forgotten Attachment Detector
  • YouTube Previews
  • Custom Label Colors
  • Vacation Dates

And the retirees:

  • Muzzle
  • Fixed Width Font
  • Email Addict
  • Location in Signature
  • Random Signature


Read the rest of the juicey deatils at the Official Gmail blog http://gmailblog.blogspot.com/2010/02/gmail-labs-graduation-and-retirement.html


Google Chrome OS Download a Fake!!!

Like many I was punked by the recent "availability" Of the Google Chrome OS. Being a busy bee I never had a chance to install it. I had picked up the link for Gizmodo, believing they were a creditable enough source, having found a recent release of the Chrome Browser for the Mac OS through them. Having visited the website I did joked on how lame the screenshots were, which should have sent up red flags. The cleaver part of this scam: the fake site was hosted on google sites. This put google in the url giving the whole scam a bit more legitimacy. Having no desire now to install the fake iso or vm's, and possible infecting my network with a spam bot. I am not going to find out what was in the packages from the fake Chrome site. Google has since disable the fake site on Google sites for violation of terms of service.