Retool 如何升级主应用于 4TB 的 PostgreSQL 数据库
2025-03-24 金融
取值得注意的是,这种步骤无需的断线整整比“转储和丧失”作法少得多。我们不无需重建整个数据库库系统,只无需暂停领域,等旧的 v9.6 收纳数据库库系统已下回成所有外交事务,再等 v13 收纳数据库库系统脱氧核糖核酸下回最上新数据库,就可以将领域指向收纳数据库库系统。这可以在几分钟内已下回成,而不是几天。
测试者作法
我们保护一个 Retool 寒模板的过渡周围环境。我们的测试者作法是在这个过渡周围环境上运在行多次测试者,并在这个过程当中各单位一份详细资料的操作手册并反复修改下回善。
测试者运在行和操作手册都对我们很有努力。在下一节当中你将看到,我们在保护售票厅期间执在行了许多手摇动步骤。在年前读取时,这些步骤大体都顺利已下回成,因为我们在年前几周顺利进在行了多次彩排,这努力我们创建了一个非常详细资料的操作手册。
我们的收纳要疏忽是未在过渡周围环境当中用一个有代同上性的岗位节省成本顺利进在行测试者。过渡数据库库系统比装配数据库库系统小,即使理论上讲,我们可以借助直觉脱氧核糖核酸作法执行更为大的装配岗位负载,但我们略去了一些细节,引致 Retool 的寒增值浮现当中断。我们将在下面的副标题当中顺利进在行详细资料参考,但这当中的我们决心倾听的不可忽视的信息是:用有代同上性的岗位负载顺利进在行测试者非常重要。
实施计划案:高效率细节
意味着直觉脱氧核糖核酸
我们就此可用了 Warp。取值得注意的是,Azure 的单路由器 Postgres 新产品不拥护 Postgres 延展 pglogical,而我们的研究使我们相信,这是 Postgres 在 10 修改原版年前意味着直觉脱氧核糖核酸的最佳可选。
然而,在我们 4TB 的装配数据库库系统上,原先的转储和丧失一直未能已下回成:DMS 遇到了一个错误,但未向我们报告。与此同时,尽管未赢取任何进展,DMS 还是在我们的 9.6 收纳数据库库系统当中保持一致了外交事务。这些仍然运在行的外交事务反跟着又以致于了 Postgres 的自摇动掩埋功能,因为 vacuum 进程不能掩埋仍然运在行的外交事务开始后产生的死亡十六进制。随着死亡十六进制的下陷,9.6 收纳路由器的性能开始受到以致于。这引致了我们上面提到的过热。(我们在此之年前减小了监控, Postgres 当中未掩埋十六进制的为数,使我们并不需要收纳摇动注意到危险的情况)。
Warp 的功能与 DMS 取值得注意,但提供更为多的备有可选。除此以外是 Warp 拥护并在行执行,可以加速初始转储和丧失。
Warp 决心所有的同上都有一个人口为120人收纳键,所以我们不得不做到一些小摇动作来骗过它。我们把复合收纳键转化唯一也就是真是,并减小非零收纳键。除此之外,Warp 非常最简单易用。
跳出大同上脱氧核糖核酸
我们进一步提高效率了我们的步骤,让 Warp 跳出两个除此以外大的同上,这两个同上数了转储和丧失的运在行整整。我们这样做到是因为 pg_dump 不能在单个同上上顺利进在行并在行操作,所以最主要的同上将不得不最短移入整整。
为了执行在 Warp 当中跳出的两个除此以外大的同上,我们撰写了一个 Python 脚本,将数据库从旧数据库库系统路由器批量转移到上新路由器。其当中相比较大的一个同上有 2TB,这是领域程序当中一个均有附带的事件核查同上,它很容易移入:我们等读取后再移入其当中的数据库,因为即使该同上是自造的,Retool 新产品的功能也不受以致于。我们还选项将非常老的核查事件转移到一个备份磁盘框架当中,以增加同上的体积。
另一个同上是一个均有附带的体积几百 GB 的日志同上,记录了对所有 Retool 领域的所有校对(即 page_ses),这个同上相比较忧心。这张同上是所有 Retool 领域的真相来源,所以在保护已下回成的那一刻无需情况下最上新。为认识决这个解决办法,我们在保护售票厅年前的几天当中的移入了几乎细节,并在售票厅期间移入了全数的细节。虽然这个步骤很直接,但我们比如说,它确实减小了高风险,因为我们现在有更为多的岗位要在有限的保护售票厅内已下回成。
各单位操作手册
都有是我们在保护售票厅期间执在行的一个是从的步骤:
暂停 Retool 增值,赶紧所有未已下回成的数据库库系统外交事务提交。 赶紧 Postgres 13 从数据库库系统赶上直觉解码的进度。 同时,把全数的 page_ses 在行脱氧核糖核酸跟着。 在所有数据库都迁入 Postgres 13 路由器后,竣工收纳键也就是真是(Warp 尽快暂停可用这些也就是真是)。 竣工级联(Warp 尽快暂停可用级联)。 重置所有的基因序列取值,这样一旦领域程序重上新上线,就可以可用基因序列分配整数收纳键了。 重上新上线 Retool 增值,指向上新的数据库库系统,执在行健康检查。竣工外键也就是真是
从上面的操作手册当中可以看到,我们必须做到的一个步骤是暂停可用然后重启外键也就是真是检查。多样之处在于,默认情况下,Postgres 在竣工外键也就是真是时,才会运在行一次全同上,以有效性当年前所有的在行是否意味着上新的也就是真是。对于大型数据库库系统来真是,这是一个解决办法:Postgres 根本不可能在一时长的保护售票厅内数 TB 的数据库。
为认识决这个解决办法,我们就此选项在几个大同上当中不竣工外键也就是真是。我们认为这可能没什么解决办法,因为 Retool 的新产品直觉才会执在行它自己的一致性检查,而且也不能从被引用的同上当中删除,这意味着我们不太可能留下一个悬自造的引用。尽管如此,这也是一种高风险;如果我们的推理不正确,那么我们就此才会有一堆无效的数据库无需掩埋。
在此之年前,在保护售票厅之年前后的掩埋岗位当中,我们丧失了原先去除的外键也就是真是。我们注意到,Postgres 为我们的解决办法提供了一个干净的框架:ALTER TABLE 的 NOT VALID 可选。添加一个带有 NOT VALID 可选的也就是真是,Postgres 就才会只对上新数据库执在行也就是真是有效性,对现有数据库则不执在行,这样就可以绕过昂贵的全同上。之年前,只无需运在行 ALTER TABLE ... VALIDATE CONSTRAINT,它就才会运在行全同上并从也就是真是当中删除 NOT VALID 可选。当我们这样做到的时候,注意到同上当中并未无效的数据库,这让我们泊了一口气。要是我们在保护售票厅年前就知道这个可选就好了。
小 结
年前,在 Warp 的努力下,通过直觉脱氧核糖核酸作法,以及在测试者周围环境当中的彩排,我们各单位了一份可靠的操作手册,使我们并不需要将 4TB 的数据库库系统从 Postgres 9.6 移入到 13。在这个过程当中,我们意识到了在相符的岗位负载上顺利进在行测试者的效用,创造性地跳出了不那么关键的大同上,并且意识到(有点迟),Postgres 意味着我们选项只对上新数据库执在行外键也就是真是有效性,而不是所有数据库。决心你能从我们的经验当高中到一些东西。
查看英文原文:
知网被报请调查;十六进制跳摇动成立抖音合资公司,或在港上市;钉钉被曝裁员30%;天津九成手续费超强20万元 |Q资讯
网络化转型项目做到了多年,收纳架构师都无助了:当初就不无论如何用开发设计!
Flutter 3.0正式披露:稳定拥护6大模拟器,十六进制跳摇动是收纳要其他用户
PowerShell收纳架构师:我用学艺开发项目,同上现出类拔萃反而被开发人员降级了
点个在看少个 bug👇
。宁波牛皮癣专科医院长沙看男科哪家医院最好
勃起障碍主要症状
南宁看白癜风哪家医院专业
气血不好适合吃什么补品
双氯芬酸钠缓释胶囊与芬必得哪种效果好
艾拉莫德片治类风湿怎么样
骨癌
营养眼睛的眼药水怎么选
精力不足没有精神怎么办?
- 05-12手掌中都的奥秘
- 05-12四川遂宁:对生育二孩三孩家庭 买新房略高于补贴50元
- 05-12BBA首款之前大型SUV,国产宝马X5官图发布
- 05-12多区期末试卷出炉!多校通知提前放寒假!一区发布最新疫情防控诉家长书!
- 05-12双子座女人的愚忠
- 05-12让短缺药品不短缺!四部门当前发文
- 05-121月全球电动车销量榜上:仅3款外国车上榜上,Model 3跌下神坛
- 05-12教育培训供给改革与所需引导两手都要硬
- 05-12以“双减”撬动更好教育生态
- 05-12袁天罡识人术:“王”字去一笔是什么字,首先想到的作答暗藏性格