MySQL is a popular open source relational database system. We chose it for this project because it is a large, well-known software system, consisting of 1.3 million lines of code.

MySQL was developed in 1995, and is owned by a Swedish company, MYSQL AB. The original developers were trying to use another product, mSQL to interface with their ISAM low level storage engine. Frustrated by the lack of flexibility, they decided to create their own SQL system on top of their storage engine. This project became known as MySQL [1].
Today, the ability to support multiple storage engines is one of MySQL’s distinguishing features.

Database administrators can choose between any one of eleven low-level storage engines depending on their tasks. MySQL also has a reputation of being lightweight and extremely fast [2].

In March 2005, MySQL caught up with the majority of database management systems available at that time, introducing features that have been standard in those database management systems. These features include stored procedures, triggers, and views [3]. However, more state-of-the-art features are still missing. One of these is materialized views.

Materialized views are a way of making the database faster when searching for specific queries, by caching the results of the query in a special table. Rather than rebuilding the original complex query from the source tables each time, the database engine can simply look up the corresponding entry in the materialized view table.

Download