Technically Speaking: MySQL



MySQL. You’ll hear developers speak of it in lofty terms. “It’s my lifeline,” “it’s essential,” “without it, we’d never have launched.” It also happens to be integral to some of the largest web platforms in the world, such as Facebook, Google and Twitter.

So what is it?

MySQL (pronounced “My S-Q-L” or “My Sequel”) is an open-source, relational database management system (RDBMS). It enables developers to manage data streams in a fluid, scalable, reliable way. Essentially, one can outsource a multi-terabyte data flow to the MySQL database server, and freely customize that data’s interaction with your site or web application.

Think about the data inside files that you store on your computer’s hard drive. That data is accessible to you, but unless you organize your files as part of a larger system, its contents are static, and its relationship with data in other files is difficult to ascertain. When one inputs databases into MySQL, all that data – the location, size and inventory of a company’s retail stores, for instance – can be filtered, edited, and searched with amazing speed. Put another way, MySQL is where data points talks to each other, and also interact with the web.

Humble beginnings

Originally developed by Michael Widenius and David Axmark in 1994 (and named after Michael’s daughter, “My”), MySQL began as a low-end alternative to more powerful proprietary databases. Part of the reason it is employed today in major web platforms like Facebook and Twitter is that these projects (like MySQL) started small, and MySQL scaled up with them. MySQL built a following during the early 2000s, appealing to developers for being lean, light weight, and flexible. As it became more popular, it added features and tools that made it more attractive to corporate enterprises, and quickly began taking in real revenue. MySQL was initially part of an independent Swedish company called MySQL AB, but was acquired by Sun Microsystems in 2008, which was then acquired by Oracle in January 2010.

The “SQL” in MySQL stands for “Structured Query Language.” This is the most common language developers use for accessing databases. Depending on the project, developers might embed SQL into the language they’re already using, or input SQL directly.

MySQL is also flexible enough to work via most programming languages, and on many different operating systems, from Linux and Mac OS X to some of the more obscure ones. Today, some applications deploy thousands of MySQL servers simultaneously to keep running. You can also deploy MySQL in the cloud, on platforms such as Amazon EC2.

Alternatives to MySQL

In recent years, the ubiquity MySQL once had in the developer community is fading as people turn to the NoSQL family of database management systems (MongoDB, CouchDB, Redis and Cassandra). However, reasons for choosing one over another are complex, and often depend on a variety of reasons and specific needs – including speed, offline support, mobile support, scaling up, scaling down, or simply just because MySQL wasn’t their first choice.

Check out MySQL‘s site to learn more about what else it can do, and the crucial role it plays in many of today’s most exciting startups.