16

所有,我必须创建一个具有基本模式的数据库。该数据库将很大(100GB 以上),并将用作数据仓库。现在,这个数据库的创建目前正在通过 C# 代码“一击”执行;从多个不同来源提取数据。由于数据量巨大,这种创建导致了一些问题。已经决定不要一次性创建一个数据库;至

  1. 创建几个包含核心数据表的小型数据库。
  2. 将较小的数据库合并到一个较大的数据库中。
  3. 构建架构/添加相关约束。

我的问题有两个。

1. 合并多个数据库(具有相同的模式/表结构)的最佳方法是什么?

2. 有没有更好的方法来创建这个数据仓库(超大数据库)?

谢谢你的时间。

4

3 回答 3

7

对于您的第一个问题:您提到了相同的架构和表结构,在这种情况下,它只是将数据从一个 DB 表(即较小的 DB)移动到另一个(即较大的 DB)。为此必须确保

1)没有重复的数据(至少在PK领域)

2) 将数据从一个数据库移动到另一个数据库以供 sql server 参考

将数据从一个数据库传输到另一个数据库

于 2012-09-17T12:51:10.337 回答
7

SQL-Hub ( http://sql-hub.com ) 将允许您将具有相同架构的多个数据库合并到一个数据库中。有一个免费许可证可让您从 UI 执行此操作,但如果您想安排该过程自动运行,您可能需要支付许可证费用。但是,如果数据量很大,那么您想要实现的目标可能会有点慢 - 不过您可以尝试一下。

这里还有一些文章着眼于这类问题的其他一些选项。

于 2014-06-02T14:37:46.683 回答
5

索拉的回答很好,而且会奏效。这是另一种选择:根本不合并。在您的导入创建的多个基表之上创建一个 union-all 视图。这为您节省了大量的数据移动。这种视图称为分区视图

于 2012-09-17T13:18:44.190 回答