Friday, April 25, 2008

Cleartrip trains now has more features

  • Dateless search - Now you can search without specifying and date of travel and the result will be presented to you in a form of table which will show you a list of trains between the specified pair of stations/cities, days it runs on etc. One can further specify the date from "Modify your search " link and check for availability.
  • Google maps of trains - We launched this feature quiet sometime back. However I still like to brag about it as I had to spend a lot of time into it. A few maps just look so beautiful. For instance

  • Route Images - After lot of hard work from Anurag we were finally able to launch a really cool feature : Route images like the ones we find on IR timetable. Inspired by London underground maps these look amazing

The best thing about these maps is that they highlight the important stations and that was achieved after a little voodoo :)

Thursday, April 24, 2008

RDBMS vs Object/document DB

I am now sick and tired of people telling/writing blogs about how Object DB will rule the world and the RDBMS is crap. Well in my view both they are both right and wrong. It is true that Document DBs will rule the roost in years to come. This is primarily due to the fact that web applications are mostly normal CRUD (Create, Read, Update, Delete) applications where object/document/flat DBs work well. Due to sharp decline in storage media prices normalizing a datastore is not that useful/cost-saving anymore. Even if we have millions of records, keeping them in a denormalized form for easy fetching makes sense.
That said, this does not mean that RDBMS are things of past. They are in fact quiet important for a lot of things which either cannot be done on Object DBs or will be much slower than RDMSs. For instance, suppose you have to make a small data analytics system for a log file which has 2 million entires everyday which DB will you use ? (Hint: The one that allows you to normalize, join , index, sort and group data in any manner you like!)
I think all these RDBMS bashing crowd is
1. Have never used databases at all and read blogs and created a very strong opnion against RDBMSs
2. Have used databases but don't know jack shit about database design and query optimization
3. Are lispers and think all data is code or the other way round!

I did do this small experiment involving a log file having about 2 million entries. We pushed it into a lisp based object DB called acache and generated some statistics. We also pushed the same log file in a MySQL DB. Although data entry time was almost the same (for MySQl about 24-25mins and for acache about 30 mins) there was a massive difference when we tried the analytics part. Acache took around 2-3 minutes to generate only one statistics from the data. MySQL one generated 10 in 52 seconds!!!
Beat that!

Monday, April 21, 2008

Closed source hurts your bottomline twice

Oracle is decent database. It has good performance, rich features and is reasonably fast. However this doesn't mean, if you have spent $100K on licensing it and $20K on the machine it runs on, it will never fail. In fact I happen to be in a situation where I have seen Oracle crash and burn very regularly.
Being closed source and a paid application oracle hurts your bottomline more than once. Not only do you spend money buying the expensive license+machine but you end up paying more for maintenance and administration.

Lets compare the cost of a MySQL/Postgres database to an Oracle.
DBA costHigh ($30K/year)Medium ($20K/year)
Machine/resource costHighMedium
License costHigh ($600K + $100K/year ~ approx)Nil ($0k)
Downtime costHigh (Revenue)High Revenue)

And after all this money spent when it crashes it hurts much more as the cost of the downtime is the same i.e. loss of revenue. It you much more as it has already eaten into your revenue. Speed wise there is hardly anything that can match MySQL. However it is not as reliable as Oracle/Postgres. But then if I maintain say a 3 node cluster of MySQL it is much more reliable and cost effective than Oracle.

Oracle has always been touted as the most feature rich database. However I don't think most of the websites out there use any of those advanced features.

Journey is MUCH more important

I always had this belief that journey is much more important than the destination. And now I have no doubt that it is true. There is really no freaking destination out there! It is all about the journey and that what really matters

Watch this talk by DHH. Nobody can explain it better than him