示例描述
几乎每个数据库在其生命周期中的某个时刻都会产生变更,一旦数据库中的数据模型发生变化,通常需要停止应用程序,迁移数据库以支持新模式,然后重新启动。
这种停机更新会导致糟糕的用户体验,而模式版本控制模式允许历史版本和当前版本的文档在集合中同时存在,以此保障用户体验。
通过使用 schema_version
字段定义模式的版本,并将其保存到数据库中,每个新的模式版本都会增加 schema_version
字段的值。
在应用程序内部,为每个模式版本创建相应的处理函数,这样即可适应不同版本的数据。
优缺点
模式版本控制模式的优点如下:
不需要停机时间
模式迁移可控
减少未来的技术债务
模式版本控制模式的缺点如下:
在迁移过程中,对相同的字段可能需要两个索引
0条评论
点击登录参与评论