Scaling up MySQL to WebScaleSQL for gaining better Output
MySQL was initially meant for low level database operations especially for small to medium level organizations. MySQL became more popular due to the simple format and it easily maintainable database model. Though mostly used by middle level organization on single-server installation, big players like Facebook, Twitter, Google and LinkedIn have joined together to scale up MySQL to form WebScaleSQL.
The first step in scaling MySQL was to make it run on multiple servers with better hardware support so that large amount of data can be transacted in the database. This further involved added features to MySQL to enable multiple server management and large data volume.
The 4 web giants Facebook, Twitter, Google and LinkedIn have joined hands to scale MySQL and that resulted in WebScaleSQL. With WebScaleSQL they are trying to centralize the development structure instead of maintaining large duplicated databases for each company separately. This they are doing specifically to benefit their own group and hence no binary is available for others.
Why scale MySQL?
The main reason for choosing MySQL was because it has the production-ready features which they only have to scale to their level. They decided to scale since the single-server MySQL will not be able to handle the large volume of data transacted in these websites every day. Scaling out involves engaging multiple servers with high-end processors and more memory to handle more internet traffic. Scaling up involves using a single database but with higher hardware configuration that supports more data.
While initially it seemed absurd since MySQL was not meant to handle the kind of data Facebook alone transacts every second, they came up with the numbers MySQL was now actually handling which was unbelievable yet true. In fact a good number of queries never hit the database and was handled at the cache level itself. With up-scaling, MySQL could easily manage the increasing internet traffic.
Working with an open-source database gave Facebook more leverage on making all required changes they needed to engage large volume of data while saving on licensing. They can work internally on the required changes and developments which will work faster and better to the point. So Facebook has been able to prove the critics wrong about MySQL and in the process of making it perform better with up-scaling.
Scale up or Scale out?
While both are meant to improve database performance, scaling up is considered more cost effective and easier to manage. Scaling out involves multiple servers and hence costs more and managing multiple servers is very complicated. For better performance scaling alone will not help. Database version also has to support scaling. While MySQL scaling is an ongoing process at present, the latest versions support scaling to a great extends. For larger databases scaling up will create issues in the long run due to the limitations of processing the data.
WebScaleSQL is still in the initial stage. Facebook, Twitter, Google and LinkedIn seem to be very happy about the way it is progressing and they are releasing new versions for better support. Further some of the new functionalities incorporated in WebScaleSQL will be soon incorporated in MySQL’s upcoming versions for improvement. Though initially considered a weak database, Facebook’s MySQL team has been able to prove the critics wrong by coming up with a better and scalable version of MySQL.