MySQL is one of the more popular flavors of SQL-based databases, especially when it comes to web applications. Owned by Oracle, MySQL is free and open source, so it’s a great place to start if you’re looking for something to handle transaction processing and the other bits that underpin modern web apps. With MySQL, it’s easy to create a lightweight, fast database that is optimized for accessing and processing single source data. So if you’re, say, Wordpress, MySQL makes for a great way to store, access and process the data that is relevant to each of your users’ publications.
If you’ve found your way here, though, you’re probably interested in doing trying to incorporate some serious data analysis into your company’s workflow. Today, we’re going to look at how MySQL performs on analytics tasks, and whether it’s the best choice for a data warehousing project. We’re not going to waste your time beating around the bush, though: we don’t think MySQL databases make for very good data warehouses, and we’ll give you a few good reasons why we feel that way right up front.
While MySQL is great for making snappy transactional databases, it’s not great when it comes to doing serious analytical work, especially with multiple data sources and large datasets. Once you find yourself in a position of trying to do deep analytical tasks that integrate multiple sources of data, you’re probably going to want to look at setting up a data warehouse. There are multiple reasons you might want to develop a data warehouse as part of your data practice, but here are some of the biggest advantages of using a dedicated analytical data warehouse instead of a standard database:
We covered some of the general points to take into consideration when deciding whether to use a dedicated data warehouse or go the YOLO route and just do analysis on your existing database(s), but now we’re going to take a closer look at the specific drawbacks of trying to use a MySQL database as an analytical database.
If we’ve managed to steer you away from the idea of trying to do data analysis on a MySQL database, but left you wondering wondering, “what now?”, we have a solution for you. Panoply makes it easy to pull your MySQL data into a custom, automated data warehouse with just a few clicks. We’ve got a lot of documentation that can show you exactly how easy it is, so we won’t repeat ourselves here as far as the basics go. What we will do, though, is walk through the data structures that Wordpress creates in its MySQL backend, look at how to integrate that data with Google Analytics, and explore how to write SQL queries to answer questions about how your posts are performing and who your visitors are. Check out our next post for a quick tutorial on how to do all that using Panoply and a few basic queries in SQL.