Metabase is an open-source Business Intelligence(BI) tool that helps you question your data and display answers in useful formats( graphs, tables, etc) that can be shared amongst users. The process of understanding and working with it starts from knowing the problems it solves and how it provides the solutions.
This article is not a full-blown tutorial on how to perform activities on Metabase. It is a comprehensive walk-around on how it works and what it can do.
What is Metabase
Metabase allows you to create dashboards that can contain KPIs and other relevant metrics used in the organization. It also gives updates based on the metrics.
An enterprise making use of this software has users. These users perform certain actions – buying, subscribing, abandoning a cart, etc. Its dashboard provides resources to query those data and arrive at logical conclusions for improvement.
The publishing of analysis results in every company might require additional activities and support. These could have to do with coding the interface or requiring non-technical users to interact with tools like Matlab/Julia etc. It allows sharing links to dashboards with other users and embedding links.
With Hevo, you can seamlessly integrate data from multiple sources into any data warehouse, ensuring your organization has a unified view of its data assets.
Why Use Hevo for Data Warehouse Integration?
- No-Code Platform: With Hevo’s user-friendly interface, you can easily set up and manage your data pipeline without any technical expertise.
- Broad Source and Destination Support: Connect to over 150+ sources, including databases, SaaS applications, and more, and load data into your preferred data warehouse.
- Real-Time Data Sync: Keep your data warehouse up-to-date with real-time data flow, ensuring your analytics are always based on the latest information.
Get Started with Hevo for Free
Key Features of Metabase
The versatility of its deployment on a variety of supported platforms is undeniable. The main use of it is to enable users to make data-driven decisions for growth. Let’s take a look at some features.
1. The Pulse Reporting Feature in Giving Updates
Its pulse reporting feature allows users within an organization to share Key Performance Indicators, objectives, and results. For example:
- The number of customers that lodged complaints and how many were attended to.
- How many users performed certain actions?
Benefits:
- The sharing of the dashboard and reporting quickly to relevant departments keep them updated on how the previous day, week, or month went.
- They can make decisions on where to either improve or focus on.
- The provision of metrics serves as a troubleshooting and monitoring tool for developers.
2. Analysis of Data in a Data Warehouse
The pulse reporting feature also plays its part in this phase. It can be connected to a data warehouse to perform real-time analytics. The result of these analytics can be shared among different teams to keep tabs on Key Performance Indicators. The sharing of dashboards also enables individuals to perform explorative analysis to share with others. So, in an organizational setting where opinions and ideas are welcomed, there is room for creativity in the team.
3. Ease of Installation
Metabase installation procedure takes little or no time depending on your desired method.
If you choose to work with it on your local machine personally, you have options – from
Docker to running as an app in the Mac environment. The installation on the cloud is a bit different, but depending on the cloud service you decide to host it on, there are guidelines to get it up and running.
It allows integration with several databases and data warehouses. They include – MySQL, Postgres, Amazon Redshift, Snowflake, Big Query, Spark, Mongo etc.
Prerequisites
The reader is required to have basic knowledge about the data ecosystem.
Steps to Install Metabase
It is built with Java and packaged as a JAR file. It can run anywhere Java is present. However, there are two ways to install it –
- Working with it Locally
- On the cloud.
Working with it Locally
There are 3 ways to do this:
1. Installing the JAR file
Step 1: Install JAVA JRE(Java Runtime Environment).
The recommended version is the latest LTS version from AdoptOpenJDK with
Hotspot JVM and x64 architecture. Other versions are also supported.
Step 2: Download the .jar file
- Go to the Metabase download page and download the most current release.
- Move the downloaded file into a new directory. The installation will create some files for it to run.
Step 3: Running the .jar file.
- Open your terminal.
- Type java -jar Metabase.jar
This should run it on port 3000 provided no application is running on that port. If another application is running on port 3000, make sure to set the environment variable of MB_JETTY_PORT before running the jar.
2. Running on Mac
Step 1: Download the Mac application.
Step 2: Launch the application.
- Go to Application.
- Find Metabase.app
- Give it a moment until a welcome page pops up.
The next step is to connect to your database.
Note: Usually, the application database will be stored somewhere on your file system at
~/Library/Application Support/Metabase/Metabase.db.h2.db.
If you need to delete, backup, or replace it for any reason, make sure to shut down the main application first.
3. Using the Docker Container
Metabase on docker can be set up in a variety of ways:
- Migrating from default database H2 to Postgres as the application database.
- Using Postgres as the application database.
- Accessing your data outside the container just in case you need to unmount it.
- Getting your configuration back if you stopped the container.
Launching it in a docker container:
To get started, you need to get the official Docker image from docker hub. You can also get the latest version of it via Docker:
> docker pull Metabase/Metabase:latest
To run it on docker:
> docker run -d -p 3000:3000 --name Metabase Metabase/Metabase
To follow up on the initialization process, check the logs with
> docker logs -f Metabase
Note: Docker containers have their own default ports, but you can choose a different port if you wish. Consider using the port 1334:
> docker run -d -p 1334:3000 --name Metabase Metabase/Metabase
Getting your config back if you stopped a container:
Fun fact: If you stopped a container, your data will still remain intact unless you delete the container.
Step 1: Find the stopped container.
> docker ps -a
A more precise approach is to use the grep command.
> docker ps -a | grep Metabase
Once you identify the container, copy the ID from the left-most column.
Step 2: Create a new custom docker image from the stopped container containing your config file.
> docker commit [ID] [NEW_MB_APP]
Step 3: Run the new image
> docker run -d -p 3000:3000 --name Metabase [NEW_MB_APP]
Additional configurations:
Using Postgres as the application database:
To do this make sure you set the correct environment variables containing your connection details for Postgres and that you have a qualified hostname.
> docker run -d -p 3000:3000 -e “MB_DB_TYPE=postgres”
-e “MB_DB_DBNAME=Metabase” -e “MB_DB_POST=5432”
-e “MB_DB_USER=<username>” -e “MB_DB_PASS=<password>”
-e “MB_DB_HOST=my-database-host”
--name Metabase Metabase/Metabase
Mapping the database outside the container:
To use the database outside the container, run the command:
> docker run -d -p 3000:3000
-v ~/Metabase-data:/Metabase-data
-e “MB_DB_FILE=/Metabase-data/Metabase.db”
--name Metabase Metabase/Metabase
The “MB_DB_FILE” variable tells to use the database file at the location specified instead of the default location.
Working with it in the Cloud
There are quite some cloud services that can host it. They include:
- Kubernetes.
- Heroku
- Debian as a service
- AWS elastic Beanstalk
1. Running it Using Kubernetes
To use it on Kubernetes, the following has to be in place.
- Kubernetes 1.4+ with Beta APIs enabled.
- Kubernetes Helm (installed).
Installing:
> helm install -name my-release stable/Metabase
Configuring:
Note: The default backend database(H2) is stored inside the container and is lost after the container restarts.
Recommendations: MySQL or Postgres
Deploying it on Kubernetes:
A config file is needed to deploy it. To do get this done,
- Create a file named Metabase-config.yaml
- Copy the default configuration into it.
- Type helm install –name my-release -f Metabase-config.yaml stable/release
2. Running it Using Heroku
This is easier if you have a Heroku account set up. All you need to do is deployment.
The GitHub repository that it maintains will be launched with Heroku deployment. It is usual to want to check your progress after deployment, this can be done my viewing the application logs. Your application log can be viewed in https://dashboard.heroku.com/apps/YOUR_APP_NAME/logs.
OR
If you want to use Heroku CLI, from your terminal type:
> heroku logs -t -a YOUR_APP_NAME
Advantages and Disadvantages
Advantages
- Metabase does not necessitate extensive technical knowledge. As a result, users are more likely to search the Dashboards for information and come to a conclusion.
- The program does not always need to be deployed because the entries in the Dashboard can be simply arranged. The data becomes less complex as a result of Analytics, and the Graphs make it seem excellent for Commercial Presentations.
- Databases are simply added to Metabase, and the connection is secure thanks to encrypted credentials. The administrator can control this, and the details can be saved so that the tool can function properly without having to ask for the encryption key.
Disadvantages
- When it comes to the drawbacks, users should map their data before entering it into the tool. The information must be organized and provided into the tool.
- SQL is required when the data grows complex, and it cannot function without the system’s queries. Also, unless updated, the basic version is not available on Windows and only works on Mac platforms.
- Data from any database cannot be easily integrated without first performing data mapping. Although connectors are accessible, background work is required in order for the tool to function properly.
- The enterprise edition, which costs $10000 and includes full privileges and a commercial license, is charged based on the server. It is preferable to utilize an enterprise edition of the program if it is to be used in a business setting.
Conclusion
Metabase is a robust data analytics application that offers both the enterprise using it and the user’s enjoyable benefits in terms of user experience, freedom, and integration of databases and data warehouses.
Integrating and analyzing your data from a huge set of diverse sources can be challenging, this is where Hevo comes into the picture. Hevo is a No-code Data Pipeline and has awesome 150+ pre-built integrations that you can choose from. Hevo can help you integrate your sales data from numerous sources and load them into a destination to analyze real-time data with a BI tool and create your Dashboards. It will make your life easier and make data migration hassle-free. It is user-friendly, reliable, and secure.
FAQ
How to use Metabase for beginners?
Beginners can start using Metabase by connecting it to a database, then creating queries through its user-friendly interface without needing SQL knowledge. You can also explore pre-built questions or dashboards to visualize data in tables, charts, and graphs.
What are the disadvantages of Metabase?
Some disadvantages of Metabase include limited customization options for visualizations compared to advanced tools, fewer integrations with third-party services, and performance slowdowns with very large datasets or complex queries.
Is Metabase better than Tableau?
Metabase is simpler and more cost-effective for small to mid-sized businesses that need basic analytics, but Tableau offers more advanced features, better visualizations, and scalability, making it superior for more complex data analysis needs.
Teniola Fatunmbi is a full-stack software engineer with a keen focus on data analytics. He excels in creating content that bridges the gap between technical complexity and practical application. Teniola's strong analytical skills and exceptional communication abilities enable him to effectively collaborate with non-technical stakeholders to deliver valuable, data-driven insights.