Chapter 1: Overview of Metabase
Metabase is a free and open source analytics software that allows you and everyone in your organization to ask questions of your data, create visualizations and dashboards, send out daily reporting, and much more.
Traditionally, organizations with good analytics either had to pay for expensive enterprise software, employ a cadre of data scientists and data engineers, or both. The value of analytics was high but the barrier to entry was even higher. Today, the value of analytics continues to grow, but the introduction of software such as Metabase has lowered the barrier to entry. This book will teach you, regardless of your background in analytics and engineering, how to create a robust and scalable analytics environment for your organization using Metabase.
This chapter will be a gentle introduction to Metabase, where we'll learn what it is and how to install it. We will then learn about more powerful, cloud-based installation methods that...
Technical requirements
To follow along, you'll just need a computer: macOS, Windows, or Linux are all adequate operating systems. You'll also want to create a Heroku account. Heroku is a cloud application platform we'll use to deploy Metabase at the end of the chapter. You can sign up for an account at https://www.heroku.com/.
Throughout this book, we'll be using a program called Git. Git is a version control system that helps track code changes in a project. Git has a high learning curve for beginners, and while we will not be covering any Git tutorials in this book, I intend to make the examples easy to follow. No prior knowledge of Git is required.
Often in this book, we'll use GitHub (https://github.com/) in conjunction with Git. GitHub is a code-hosting platform that relies heavily on the Git program. While Git helps you track changes to your code base, GitHub allows you to host that code online, so that others can access, edit, or contribute to...
Introducing Metabase
Before we get started, let's learn about what Metabase is and how it came to be. Metabase is software for analytics. Traditionally, we might refer to it as software for Business Intelligence, or BI. BI generally refers to software that aids in transforming data into actionable insights and visualizations. BI software has been around for a long time; Tableau and MicroStrategy are traditional examples. Today, many people in the industry, myself included, prefer the term analytics software over BI. I will be using that term going forward.
Finding answers in your database
Today, all organizations rely on analytics to stay competitive. As a famous saying goes, "you can't manage what you can't measure." Imagine you are a company selling products online and want to measure the number of products you have sold. While that seems like a simple question, many would have no idea of how to actually arrive at a number. Would you manually count...
Metabase's origins
Metabase began as an internal tool at Expa (https://www.expa.com), a start-up studio in San Francisco run by Garrett Camp, the co-founder of Uber. His CTO, Sameer Al-Sakran, had been working on simple ways to serve actionable data to CEOs and investors of companies in the Expa portfolio.
These start-ups needed an easy, low-cost, and low-friction way to understand their product data and measure things such as growth and engagement. It didn't take them long to realize that if the tools they were building were helpful for Expa's start-ups, they would probably be helpful to other start-ups, technology companies, and other organizations. They decided to turn this internal project into a company. Soon after, they put the source code for their project on GitHub, a website for collaborative software development that we'll rely on throughout this book. It became available for everyone to use, and Metabase was born.
On October 21, 2015, Metabase...
Why open source?
One of the unique things about Metabase that sets it apart from other analytics software is that it is open source. That means the source code for Metabase is freely available to be downloaded, redistributed, and modified. All the code for Metabase is hosted on the project's GitHub repository at https://github.com/metabase/metabase. So why is open source a big deal and how might it benefit you, the user?
It's free
Analytics software can be pricey. The goal of Metabase is to offer the same (or better) quality for free, so you can get the most value from your data without paying a third party. Metabase's open source software is and always will be 100% free to use. You may be wondering: how does Metabase make money? Recently, they've come out with an Enterprise version and a cloud hosting solution, both of which they charge for. The Enterprise version has some powerful features, some of which might make sense for certain organizations. In this...
Installing Metabase locally
By far the easiest way to try out Metabase is to install it locally. Installing Metabase locally means that you are running the program from your own computer, rather than off some external server (for those unfamiliar with servers, you can think of them as computers that are always running and accessible via the internet). While running Metabase locally is not the ideal way to run Metabase, it was created to be perfect for beginners who just want to kick the tires, try it out, and gain familiarity with the product. I'll go into detail about its limitations later in this chapter, but for now, let's go ahead and install it.
Installing on Mac
To familiarize yourself with Metabase's website, head to https://www.metabase.com. There you'll see a Get Started button. Click that and you'll be taken to a page with all the various installation options, with their Metabase Cloud hosted version highlighted by default. Click the Host it...
Installing and deploying Metabase via the cloud
In the last section, we learned how to install Metabase locally on our computers. We also learned the limitations of running it locally. By installing and deploying to the cloud, we unlock Metabase's true power. Let's get started.
Running software in the cloud
The good news is that it is not too much more complicated to get Metabase running on a web server. Practically, this means that when you run Metabase on a web server and close up your laptop, Metabase will stay up and running (unlike a locally installed version).
While you could go out and buy a web server and plug it in at home, today that is rarely done. Running a server in your home or office is referred to as on-premises, or on-prem. Some organizations may have their own servers on-prem for security reasons but nowadays most servers are run in the cloud. Today you can pay companies including Amazon, Microsoft, and Google a very small amount of money and they...
Summary
At this point, we have learned what Metabase is, what it is used for, and who should use it. We've outlined the four types of Metabase users: admins, consumers, analysts, and power users – the latter of which you will be by the end of this book!
We have installed Metabase locally, and in the cloud, using Heroku. We have an instance of Metabase running and have signed up for an account. We're all but ready to add other users and start analyzing our data.
At the same time, we now understand the limitations of using Heroku's Free Tier to administrate our Metabase instance. As mentioned throughout the chapter, the recommended way to run Metabase is with AWS. Doing so is a much more involved process than the one-click method Heroku offers, but a necessary step for those who want more control and oversight.
In Chapter 2, Hosting Metabase on AWS, we will take a detailed look at running Metabase with AWS.