4、数据库迁移、架构设计与DevOps实践

数据库迁移、架构设计与DevOps实践

数据库迁移、架构设计与DevOps实践

1. 数据库迁移处理

在关系型数据库中处理变更需要特别考虑。关系型数据库同时存储数据及其结构,升级数据库模式与升级程序二进制文件面临不同挑战。升级应用二进制文件时,通常停止应用、升级后再启动,无需过多关注应用状态;而升级数据库时,必须考虑状态,因为数据库包含大量状态信息。

为描述数据库结构变更,需发出变更结构的命令。变更前后的数据库结构可视为不同版本,那么如何跟踪数据库版本呢?

常见的数据库迁移系统采用以下方法:
- 向数据库添加存储数据库版本的表。
- 跟踪数据库变更命令,并将其分组到版本化的变更集中。例如,Liquibase将变更存储在XML文件中,Flyway则将变更集处理为单独的SQL文件,复杂转换时也可用Java类。
- 当Liquibase被要求升级数据库时,它会查看元数据表,确定要运行哪些变更集以使数据库达到最新版本。

数据库迁移系统 变更集存储方式
Liquibase XML文件
Flyway 单独SQL文件或Java类
Migratus(Clojure生态系统) 类似方式
2. 滚动升级

数据库迁移时,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值