I’ve been intrigued for some time about building an application on using a datastore that wasn’t a relational database. This “movement” as it were is being called “noSQL”.
My application is a search engine service. As such I don’t need much actual data that is stored in a database and I decided to forgo using trusty old MySQL for this job and try something different.
So I decided to go with Amazon’s SimpleDB for this project. It has come a long way since I first looked at it and has all the query capabilities that I need.
If you aren’t familiar with SimpleDB, it is a schema-less setup where domains act as tables. The schema-less design means that the schema can accommodate new columns as needed. While not really necessary for my particular application, it is a feature.
What do I gain with SimpleDB? As traffic increases, I can spool up more servers (can you say Amazon’s EC2?) and since they communicate with SimpleDB, I don’t have to worry about a load on a central RDBMS.
The app itself is built on Grails. For those familiar with Grails, it uses Hibernate under the covers as part of GORM. Well, I’m not using that obviously for this project. However since my query requirements are pretty minimal, that is not an issue. I only have a few domain objects and in most cases I get them by id.
Initial development is about done and will be alpha tested behind an existing site that receives ~100k pageviews a month. I’ll give that a month or so and expand into beta testing.
Don’t miss anything, subscribe!