这是有关Clickhouse的一系列有关数据库更改管理的文章。
- 使用Clickhouse(此) 的数据库更改管理
- Database Change Management with ClickHouse and GitHub
ClickHouse是一个快速的开源列列数据库管理系统,允许使用SQL查询实时生成分析数据报告。
本教程将指导您逐步为字节键在Clickhouse(云和自我管理)设置数据库更改管理。使用ByteBase,团队可以进行正式的审核和推出过程,以使ClickHouse模式更改和数据更改。
您将拥有GUI和完整的变更历史。您可以使用bytebase免费版本来完成教程。
如果需要的话,还有一个关于漂移检测的奖金部分。
包括功能
- 更改工作流
- 更改历史
- 漂移检测
先决条件
在启动本教程之前,请确保:
- 你有
- a ClickHouse Cloud account
- 一个自我管理的点击室运行。您可以关注How to Run ClickHouse with Docker。
- 您在本地安装了Docker。
步骤1-在Docker中启动字节键
- 确保您的Docker守护程序正在运行,并启动字节键Docker容器。
docker run --init \
--name bytebase \
--platform linux/amd64 \
--restart always \
--publish 5678:8080 \
--health-cmd "curl --fail http://localhost:5678/healthz || exit 1" \
--health-interval 5m \
--health-timeout 60s \
--volume ~/.bytebase/data:/var/opt/bytebase \
bytebase/bytebase:1.13.0 \
--data /var/opt/bytebase \
--port 8080
-
在浏览器中访问Localhost:5678。注册第一个将获得koude1的管理员帐户。
步骤2-在字节键中添加clickhouse
在字节键中,一个实例可能是您的本地MySQL实例,AWS RDS实例等,在本教程中,ClickHouse Cloud帐户或自我管理的实例。
注意某些领域:
环境:选择Test
,如果您选择Prod
,默认情况下,问题将等待批准。在本教程中,我们试图保持简单。但是,这都是可配置的。
如果使用云版本。转到您的ClickHouse Cloud帐户,然后单击查看连接字符串。
主机或插座和端口在灰色框中作为参数。
用户名和密码在注册ClickHouse Cloud帐户时生成并存储在clickhouse_credentials.txt
中。
选择用于SSL连接的CA Certificate
,如果使用MacOS,请打开文件/etc/ssl/cert.pem
,将内容整体复制,然后将其粘贴到 CA证书字段框中。单击测试连接以验证其工作。
- 如果您使用自我管理版本的Clickhouse,请填写以下图像的实例表单,然后单击 Create 。
步骤3-使用Clickhouse实例创建一个项目
bytebase, project 是逻辑上相关数据库的容器,问题与其他开发工具(例如Jira,Gitlab)中的项目概念相似。因此,在处理数据库之前,必须创建一个项目。
步骤4-通过字节键在Clickhouse中创建数据库
在字节键中,a 数据库是“创建数据库XXX”创建的数据库。数据库始终属于一个项目。 问题代表开发人员和DBA之间的特定协作活动,例如创建数据库,更改模式。它类似于其他问题管理工具中的问题概念。
步骤5-通过字节键在Clickhouse中创建一个表格
在步骤4中,您创建了一个问题,可以通过UI工作流创建数据库,然后执行它。让我们尝试创建另一个问题以更改该数据库。
CREATE TABLE
t1 (id UInt64, name String) ENGINE = MergeTree
ORDER BY id;
奖金部分 - 漂移检测
本节要求您拥有企业计划(您可以在没有信用卡的情况下直接在产品中开始14天试用)。
现在,您可以看到db_demo
的完整更改历史记录。但是,什么是建立新的基线?什么时候应该使用?
通过采用字节基础,我们希望团队仅将字节基础用于所有模式更改。同时,如果有人使Clickhouse模式更改了字节键的一边,那么显然ByteBase会不会知道。而且,由于字节键记录了自己的模式副本,所以当比格斯比较现场模式具有带外模式的变化时,它将注意到差异并表现出模式漂移异常。如果要进行更改,则您应该再次基线架构状态进行调和。
在本节中,您将通过此过程进行指导。
- 转到ClickHouse Cloud,单击打开SQL控制台,然后在此处添加列
age
。确保添加新列。
ALTER TABLE t1 ADD COLUMN age UInt8;
- 等待大约10分钟的字节键检测漂移。返回字节键,您可以在: 上找到架构漂移
摘要和下一个
现在,您已将Clickhouse与bytebase连接,并尝试了UI工作流程进行架构更改。 Byttebase将为您记录完整的更改历史记录。使用企业计划,您甚至可以进行漂移检测。
在下一篇文章中,您将尝试使用Gitops Workflow,该工作流将您的Clickhouse模式存储在GitHub中,并在将更改提交给存储库后触发更改,以使您的ClickHouse更改工作流程将工作流程更上一一,又称<<强>数据库DevOps -Database as Code。