Monday, October 1, 2012

NoSQL vs NewSQL vs My Stubbornness (I won't surrender)

If you read my previous posts you know that I am kind of person who won't easily surrender to new hypes and new technology solutions that try to solve problems and by doing so they are actually make life more complicated to developers.


As for the time of writing this article, the only two solutions that seems to get my attentions is NuoDb and ParElastic. The first one is a NewSQL DB technology and the second one is a database virtualization engine.

I'm in no way want to surrender to the NoSQL hype stream, I believe that it will be demolished in the future when new technology emerge. Most developers want to continue using Relational Databases, especially MySQL. NoSQL makes us think and work in a different way that we are used to. No one can argue with the results, but do you really want to start learning to adapt to those new technologies? - What if you can continue working with RDBMS but without having to worry about Scalability problems, which are the reasons why NoSQL was born in the first place, to solve those problems.

The REAL solution is not NoSQL, is it's in building technologies that can over come the scalability provlems with RDBMS.  Don't get me wrong, some big companies take advantage of many technologies, including NoSQL to solve some problems and enjoy the benefits of those solutions, including Twitter, Facebook, etc.

Having said that, I am talking about the small developer who wants to work on amazing ideas at home but lacks the budget to buy proper solutions. Yes you can create the application and when it becomes successful go to an angle and recruit funding, it's possible. The thing is that we need a solution that we can scale with without the need of anyone. We want to be able to pay for the resources that we use. I assume that if your application becomes successful you will already have the idea (maybe even before you developed it) how to make money out of it.

There are scalability solution for MySQL (e.g. MySQL Cluster, Clustrix, ScaleBase) but they are very expensive. You can start developing your application with Amazon RDS and when you need to scale use those solutions. It's one way to look spend more time in developing your application instead of spending days and weeks worrying about scalability now - how knows  maybe your application won't become a world wide success.

I am probably on the other side, a person who wants to have the needed architecture first and know that my application can scale. It can be come even overnight who knows, one publication on Digg and your application can sky rocket. What happens if you are not ready for it by that time?!?!

So the best thing is to have a good scalability solution ready. I hope that NuoDB will get out of the beat soon and their solution looks like the most promising one.

If you are reading this article and agree with me here, I want to let you know that there are solutions out there, most of them are in the beta or alpha testing phase but they will soon be available. I also prefer a DBaaS solution. The company who will release a DBaaS solution that can scale beyonds the 1TB limit and with an affordable price and good performance will become the most successful one. I personally won't listen to excuses, I want that technology and I want it now!!

No comments:

Post a Comment