您当前的位置:首页 >> 家居装修

Retool 如何升级主分析方法 4TB 的 PostgreSQL 数据库

2023-03-14 12:16:24

可以并能粘贴配目录的状态。这有利于去除了在 Postgres 远距离旧初版上下次目录稳定下来的间隔时间,而且,远距离目录始终是当以前的。

相相比较的是,这种方法有只能的系统故障间隔时间比“转储和稳定下来”战略少得多。我们不只能修缮整个目录,只只能中止广泛应用,等原先的 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 愿意所有的备注都有一个单特常量,所以我们被迫动手一些小激作来骗过它。我们把填充常量转化唯一束缚,并降低标量常量。除此之外,Warp 极为有趣应用软件。

省去大备注粘贴

我们促使优化了我们的方法有,让 Warp 省去两个特别大的备注,这两个备注左右了转储和稳定下来的特车运先为间隔时间。我们这样动手是因为 pg_dump 只能在单个备注上顺利进先为适配操作,所以最大的备注将决定最短移往间隔时间。

为了附近理意外事件在 Warp 之中省去的两个特别大的备注,我们撰写了一个 Python 脚本语言,将样本从原先目录伺服器批量移出到取而代之伺服器。其之中相比较大的一个备注有 2TB,这是广泛API之中一个以外追加的意外事件审计备注,它很容易移往:我们等切换后于是又移往其之中的样本,因为即使该备注是飞龙的,Retool 取而代之产品的机能也免受影响。我们还可选择将极为老的审计意外事件移出到一个启动时存储应付建议书之中,以降低备注的不等。

另一个备注是一个以外追加的不等几百 GB 的笔记备注,记录了对所有 Retool 广泛应用的所有编辑(即 page_saves),这个备注相比较忧心。这张备注是所有 Retool 广泛应用的事实来源,所以在保证未完成的那一刻只能保证当以前。为了应付这个弊端,我们在保证可视以前的几天那时候移往了大部分具体内容,并在可视仍然移往了全为数的具体内容。虽然这个方法有很直接,但我们比如话说,它确实降低了安全性,因为我们现在有更加多的社不会活激要在局限的保证可视内未完成。

编制操作手册

备注特出是我们在保证可视仍然指派的一个差不多的步骤:

中止 Retool 免费,下次所有未未完成的目录宗教事务呈交。 下次 Postgres 13 从目录赶上逻辑上截取的进度。 同时,把全为数的 page_saves 先为粘贴过来。 在所有样本都迁入 Postgres 13 伺服器后,完工常量束缚(Warp 要求制剂这些束缚)。 完工级联(Warp 要求制剂级联)。 重置所有的序特值,这样一旦广泛API重取而代之上架,就可以用于序特相应整为数常量了。 重取而代之上架 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👇

武威哪家白癜风专科医院好
湖北白癜风医院哪家看的好
艾得辛和甲氨蝶呤有什么区别
北京治疗眼科哪家医院好
天津看妇科哪家医院最好
相关阅读
友情链接