应如何针对不同环境配置数据库以避免丢失数据

应如何针对不同环境配置数据库以避免丢失数据

如何为开发、准备和生产环境配置数据库,以免丢失任何数据。许多应用程序(例如 Wordpress、Django 等)都使用一些数据库来存储数据。现在,如果我要实现这样的设置。复杂的事情就是数据库。因为准备环境和生产环境中的数据会有所不同。因此,当我尝试以某种方式合并两者时,是否会出现问题或数据丢失。当我尝试托管不同的环境时,应该考虑什么。

答案1

您无需对数据库进行任何特殊配置即可使其不丢失数据。您确实需要根据给定环境所需的正常运行时间、RTO 和 RPO 为备份和可能的 HA/DR 设置适当的设置,以防止由于硬件故障或操作员错误而导致数据丢失。

如果这对您来说没有多大意义,您将需要聘请一名合格的系统管理员和/或 DBA。

编辑 - 似乎您还担心在将新代码更改集成到软件时数据丢失?这实际上是一个数据工程和软件工程主题,不是系统管理员为中心的网站所适合讨论的话题。Stack Overflow 是您希望进行此类对话的地方,其中包含有关您的语言、框架和数据库的更多详细信息。

答案2

“因此,当我尝试以某种方式合并两者时,是否会出现问题或数据丢失?”

啊,那么你误解了开发方面的暂存目录的概念。暂存是在部署到生产环境之前对系统进行的最终测试。即,你将备份生产环境,将所有更新部署到暂存环境,以便用户可以在生产系统的副本上进行测试,然后在最后通过一次事务备份生产环境并将相同的(自动)部署到生产环境。

在任何时间点都不存在任何合并。任何合并都是对如何移动数据库更改的根本误解。对数据库的任何更新都应由部署过程中的自动更新脚本处理。这些脚本经过多个步骤的测试 - 包括在最后针对生产数据库副本进行暂存。如果在部署期间出现任何问题,您可以回滚到上一次备份。

您所担心的问题根本不可能出现在专业管理的设置中 —— 如果可能的话,请重新设置。

相关内容