这对你们中的一些人来说可能是一个很容易理解的问题,但我是 DBA 的新手,这个问题突然出现在我的脑海中,我自己无法回答,所以我求助于这里的专家。
我有一个应用程序需要两个数据库——一个用于生产,一个用于暂存。我需要 2 台数据库服务器,还是应该使用一台服务器并将它们简单地保存在不同的数据库中?
一方面,您可以使用 Docker 容器轻松创建新服务器。我一直想知道将两个环境的数据保存在同一个数据库中是否是一种安全的方法。
这对你们中的一些人来说可能是一个很容易理解的问题,但我是 DBA 的新手,这个问题突然出现在我的脑海中,我自己无法回答,所以我求助于这里的专家。
我有一个应用程序需要两个数据库——一个用于生产,一个用于暂存。我需要 2 台数据库服务器,还是应该使用一台服务器并将它们简单地保存在不同的数据库中?
一方面,您可以使用 Docker 容器轻松创建新服务器。我一直想知道将两个环境的数据保存在同一个数据库中是否是一种安全的方法。
你至少需要两个。不要在生产中乱来。
您的场景中至少需要三台服务器 - 生产、DR 和暂存/UAT,它们在物理上都是独立的并且不共享任何基础设施。甚至对于 DNS、LDAP 等基本服务也不行。相信我。
一个好的策略是将 Prod 复制到 DR,然后将 DR 备份到磁带(从 Prod 卸载备份工作)然后使用该磁带备份来刷新 Staging,这让您确信您的磁带可以正常工作并且您的操作员非常熟悉如果需要,恢复过程。每 6 个月,交换 Prod 和 DR。
您当然可以在同一台服务器上毫无问题地运行它们。如果您担心 IO 负担过重,请使用 TABLESPACE 功能将开发数据库存储在单独的磁盘上。在不同的磁盘上创建表空间并运行
createdb -D myDevTablespace
. 从那里单个盒子可能成为问题的唯一方法是,如果您对 CPU 征税(不太可能)。但是,如果你打算投资 CPU,我希望它们共享。我曾经工作过的每家公司都有在同一个数据库服务器上运行的登台/测试服务——开发人员仍然在他们自己的盒子上开发,但面向前方的测试机器只连接到一个登台数据库。