为了账号安全,请及时绑定邮箱和手机立即绑定

如下所示,请问mongodb数据结构有没有什么best practice

如下所示,请问mongodb数据结构有没有什么best practice

一只名叫tom的猫 2023-04-04 17:13:57
目前有一些工具可以很方便的升级线上的数据库的结构,比如ruby写的rails以及php的doctrine都有migration,不知道mongodb有没有很方便升级库结构的方法。
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

MongoDB升级数据库还是相对比较方便的,如非特殊版本更新,基本上都不用停服务。

1.如果你的数据结构有变化,MongoDB的Schema-free机制使你可以不用迁移

2.如果你想使用新版本中的新功能,那确实得迁移数据了,一种比较通常的做法是通过其Replication机制。可以看一下官方的相应版本的release notes,通常会写升级时是否可以用Replication的方式,不能用的话可能是因为本次新版本在Replicastion协议上本来就有改动。那可能就得停服务来做迁移了。

3.停服务迁移前,也可以先通过mongodump和mongorestore迁移当前数据,然后停服务再迁移增量数据,通常也不会停太长时间服务。


查看完整回答
反对 回复 2023-04-07
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

没有,只能靠你自己在程序里做约定。

这也是这类面向文档的数据库的最大问题,开发的时候不得不小心翼翼,因为我们只能在客户端维护了一份数据库结构,万一有某个开发者多插入或者少插入了些什么字段,服务端都是可以接受的。

更苦恼的是有时候客户端不是唯一的,因此我们就要在不同的客户端上维护同一份数据结构,这为数据结构的升级带来了很大的不方便。面向文档的设计本来是要解放对数据结构的依赖,但是却没有解决没有数据结构约定后带来的随意性。


查看完整回答
反对 回复 2023-04-07
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信