‧
阅读时间:5分钟
如何在生产环境中运行 Metabase
Metabase 团队
‧ 5分钟阅读时间
分享这篇文章
我们有一个新版本的文章。
Metabase 有两个版本:开源和企业版。在生产环境中运行它们有两种基本方式
- Metabase Cloud,这是最简单的方式。
- 自托管,无论是在本地还是在第三方云服务提供商上。
我们将介绍每种方法的优缺点,以便您为您的组织做出正确的选择。由于自托管 Metabase 有多种方式,我们将提供一些指导,帮助您选择最适合您的配置。最后,我们将回顾一些设置 Metabase 的最佳实践,无论您选择哪条路径。
而且,请放心 - 您可以随时迁移到不同的 Metabase 设置。
Metabase Cloud
我们将从最简单的方式开始:Metabase Cloud。我们为您托管 Metabase,让您可以专注于使用它,而不是运行它。我们提供的每个级别都易于迁移,且无任何烦恼:我们处理设置、备份和升级,因此您将享有无任何麻烦的 Metabase 体验,并能从中受益于新功能。
Metabase Cloud 的优点
- 它就是工作。
- 可能比处理和支付自托管解决方案更经济。
Metabase云的权衡
- 比自行设置基础设施的控制力更小。
- 如果你的组织有如HIPAA之类的数据合规性要求,这不是最佳选择。
自托管Metabase
我们努力使自托管Metabase变得尽可能简单,尤其是因为我们知道,有监管和合规性要求的组织(应该)会自托管。
要自托管,你需要
- 服务器(服务器)来运行Metabase Docker镜像或JAR。
- 一个应用程序数据库来存储问题、仪表板和用户。
自托管的优点
- 对你基础设施有更多控制。
- 可能更便宜,具体取决于你团队的经验和资源。
自托管的权衡
- 你将承担开销:你需要负责迁移到生产应用程序数据库,然后自行设置、维护、备份和升级Metabase。
如何自托管Metabase
如果你坚持自托管Metabase,你需要在生产中如何运行Metabase做出一些决定。
- Metabase Docker镜像或JAR?
- 使用哪个数据库作为生产应用程序数据库?
- 如何备份你的应用程序数据?
- 本地还是云上?
Docker镜像或JAR?
Metabase有两种包:一个Docker镜像和一个JAR。两者提供相同的体验:你的用户不会知道区别。
在这里,你不可能做出错误的抉择:两种选项都会让你的Metabase顺利运行,并且两者都很容易扩展。而且,在底层,它们都运行Metabase JAR。我们提供这两种选项的原因是,在运行生产中的Metabase时给予人们灵活性。
在运行Docker容器中的Metabase或作为JAR之间,我们的建议是:如果你的团队熟悉容器,并了解服务器和网络,你可能会更喜欢运行Docker。否则,运行JAR。如果你对Docker和Java都不熟悉,我们建议运行JAR,因为需要学习的内容要少得多。
运行Docker容器有一些优点,因为容器仅打包运行Metabase所需的内容。这种应用程序隔离可以使其更容易管理和编排你的应用程序。而且,因为Docker打包了Metabase所需的所有内容,你甚至不需要知道如何安装Java和运行JAR。Docker镜像打包了运行JAR所需的JVM,并为你运行JAR。
运行JAR的优点是,你只需要安装Java并运行JAR即可将Metabase部署并运行。你不需要了解Docker容器的工作原理。
迁移应用程序数据库到生产数据库
你需要将Metabase(一个H2数据库)附带的应用程序数据库迁移到生产SQL数据库中。应用程序数据库存储了所有用户、问题、仪表板和其他Metabase应用程序数据。
Metabase附带H2数据库的原因是为了让Metabase在你机器上更容易启动和运行。但是,H2数据库不适合在生产中运行Metabase。
我们建议你迁移到PostgreSQL、MySQL或MariaDB。
备份你的应用程序数据库
您还需要负责备份您的应用数据库,以防止您丢失问题、仪表板和其他报告数据。一些云服务提供商提供SQL数据库服务,可以帮助您处理备份。
第三方云服务提供商
您可以使用Amazon Web Services、Google Cloud Platform、Microsoft Azure等云服务提供商提供的云服务来运行Metabase和您的应用数据库。
在您安装Metabase之后
无论您选择哪种选项——Metabase云或自托管,Docker或JAR——您仍然需要设置您的Metabase
- 浏览设置页面。
- 配置您的设置.
- 连接到您的数据库(们).
- 确认您的数据模型设置。
您的Metabase将尽力猜测数据库的键和数据类型,以便您无需填写所有内容,但您仍应确认Metabase的猜测是否正确。根据数据库的数据格式,Metabase可能会将日期字段分类为文本字段。具有正确的元数据对于确保可视化按预期工作至关重要。
配置好您的Metabase后,是时候测试一下了