Thursday, 27 February 2014

History of MySQL

MySQL is one of the most widely used open source relational database management systems in the world. With a total distribution amounting to more than 100 million worldwide, the software has become the first choice of large data management corporations spanning over a wide range of internet technologies.

Inception

MySQL was created by a Swedish company MySQL AB in 1995. The developers of the platform were Michael Widenius (Monty), David Axmark and Allan Larsson. The foremost purpose was to provide efficient and reliable data management options to home and professional users. Over half a dozen alpha and beta versions of the platform were released by 2000. These versions were compatible with almost all the major platforms. 

Open Source Status

Originally the property of MySQL AB, the platform went open source in 2000 and began following the terms of GPL. Going open source resulted in a significant drop in revenues which were, however, recovered eventually. The open source nature of MySQL has made it open for the contributions of third party developers. 

Expansion in Business

MySQL gained steady popularity among home and professional users and by 2001, the platform had 2 million active installations. In 2002, the company expanded its reach and opened US headquarters in addition to Swedish headquarters. Same year, it was announced that the membership of the platforms exceed 3 million users with revenue amounting to $6.5 million. 

First Law Suit

MySQL AB also faced its first major lawsuit in June 2001 when it was sued by NuSphere in US District Court in Boston. The charges included violation of third party contracts and unfair competition. In repose, MySQL AB sued NuSphere in 2002 for copyright and trademark infringement. Both companies reached at a settlement after preliminary hearing on 27 February 2002. 

Shift in Strategy

The platform continued to gain popularity and by the end of 2003, it could boast total revenue of $12 million with 4 million active installations. In 2004, the company decided to focus more on recurring end user revenue instead of one-time licensing fee. The strategy proved to be profitable and the year ended with net revenue of $20 million. 

Oracle’s Acquisition of Innobase

In 2005, Oracle purchased Innobase, the company which managed MySQL’s Innobase storage backend. This storage engine allows MySQL the implementation of important functions such as transactions and foreign keys. Same year, MySQL Network developed on the lines of RedHat Network was launched. This resulted in MySQL 5 which significantly expanded the feature-set available for the enterprise users. Following year, the contract between MySQL and Innabose was renewed. 

Further Acquisitions of Oracle

In 2006, Oracle also purchased Sleepycat, the company that manages the Berkeley DB transactional storage engine of MySQL. However, this acquisition did not have any major effect because Berkeley DB was not widely used and was not included in the versions of MySQL launched in October 2006. Meanwhile, the popularity of the company continued to increase with 8 million active installations in 2006. By the same year, MySQL had 320 employees in 25 countries. The distinguishing feature of MySQL employees was that 70 % of them worked from home, thanks to the open source nature of the platform. Revenues of the company reached $50 million by the end of 2006 and by the end of the following year total revenues were $75 million.

MySQL Acquired by Sun Microsystems

In January 2008, MySQL was acquired by Sun Microsystems for $1 billion. The decision was criticized by Michael Widenius and David Axmark, the co-founders of MySQL AB. At that time MySQL was already the first choice of large corporations, banks and telecommunications companies. The CEO of Sun Microsystems, Jonathan Schwartz, called MySQL “the root stock” of the web economy. 

Oracle’s Acquisition of Sun and MySQL

Sun’s acquisition of MySQL did not prove very fruitful and in April 2009, an agreement was reached between Sun Microsystems and Oracle Corporation according to which Oracle was to purchase Sun Microsystems along with MySQL copyrights and trademark. The deal was approved by the U.S. government on 20 August 2009. As a result of online petition started by one of the founders of MySQL Monty Widenius, Oracle faced a few legal complications with European Commission. However, the problems were resolved and in January 2010 the acquisition of MySQL by Oracle became official.  

MySQL Forks

Michael Widenius left Sun Microsystems after it was acquired by Oracle and eventually developed a fork of MySQL called MariaDB. Forks are certain related projects that can be considered the mini-versions of standard MySQL. To date, several such versions have been launched which aim at providing specific functionality. Maria DB is a community-owned fork which means that it would not have any usual MySQL license restrictions that the standard version has. It is compatible with MySQL binary library so there isn’t any difference between commands and the APIs.

Drizzle is another fork that is mainly developed for cloud computing markets. Thus features that are not required for cloud computing are removed from the standard version to make it faster and lighter. Drizzle was originally developed by Brian Aker in 2008. The first GA version of Drizzle was launched in March 2011. 

Percona Server is a MySQL fork that incorporates XtraDB storage engine. It provides various new features for data analysis and management. Few forks have also been discarded over the years. Among such forks we have OurDelta which was a combination of various patches. 
A lot of work performed by forks is centered on the InnoDB storage engine. This is true for main patches included in Percona, OurDelta, XtraDB and MariaDB's replacement engine Maria. Forks are just the diverse implementations of standard MySQL aiming at specific functions. 

MySQL and Cloud Computing

The older versions of MySQL were only developed for the conventional machines. However, with the advent of Cloud Computing, MySQL was also made compatible with various cloud computing services such as Amazon EC2. Various deployment models have been used for the implementation of MySQL on cloud computing platforms. Perhaps the most popular of these models is ‘Virtual Machine Image’, which allows the use of a ready-made machine image where MySQL is pre-installed. 
A second cloud computing model is Managed MySQL cloud hosting where the database is not available as a service but is hosted and managed on the behalf of the owner. This mode, however, is offered only by a handful of companies. With the expansion in cloud computing and related technology, MySQL versions for cloud computing are also expected to increase in number.