当应用程序依赖它时如何批量加载数据库?

Spr*_*dzy 6 database-design

在日常工作中,我需要删除并批量加载数据库。

问题是我有一个依赖该数据库的 WebApp。所以我不能像这样删除数据库。

什么是解决这个问题的好方法?

Bil*_*hor 6

您是否需要删除并重新加载数据库?在像您这样的情况下,我会考虑一种将数据库与参考集(您正在加载的数据)同步的方法。

另一种方法是拥有两个数据库。每天加载一个不同的。配置 web 应用程序,以便您可以即时交换数据库。


Gai*_*ius 5

嗯,这在大多数数据库中都很简单。在您的应用程序运行时,从您的加载作业:

  1. 启动一个事务(这可能是隐式的,也可能需要一个命令,你没有指定你正在使用哪个数据库)
  2. DELETE表中的所有数据(删除或截断)
  3. INSERT 新数据
  4. COMMIT 交易

当第 1 步到第 3 步运行时,应用程序将看到“旧”版本的数据,并且可以正常继续。步骤 4 完成后,应用程序将在运行下一个查询时立即看到新数据。