Подтвердить что ты не робот

Объединение нескольких баз данных в единую базу данных

Все, я должен создать единую базу данных, которая имеет базовую схему. Эта база данных будет большой (100 ГБ плюс) и будет использоваться в качестве хранилища данных. Теперь создание этой базы данных выполняется в режиме "один удар" через код С#; вытягивая данные из разных источников. Из-за большого объема данных это создание вызывает некоторые проблемы. Было решено, что вместо создания единой базы данных за один раз; до

  • Создайте несколько небольших баз данных, содержащих основные таблицы данных.
  • Объединить небольшие базы данных в одну большую базу данных.
  • Создайте схему/добавьте соответствующие ограничения.

Мой вопрос в два раза.

1. Каков наилучший способ объединения нескольких баз данных (с идентичными схемами/структурами таблиц)?

2. Есть ли лучший способ создать этот хранилище данных (чрезвычайно большая база данных)?

Спасибо за ваше время.

4b9b3361

Ответ 1

для вашего первого вопроса: вы упомянули идентичную структуру схемы и таблицы, в этом случае простое перемещение данных из одной таблицы БД (т.е. маленькой БД) в другую (т.е. большую БД). для этого необходимо обеспечить

1) не было дубликатов данных (по крайней мере в поле PK)

2) перемещать данные с одного db на другой для SQL Server

Перенос данных из одной базы данных в другую базу данных

Ответ 2

SQL-Hub (http://sql-hub.com) позволит объединить несколько баз данных с одной и той же схемой в одну базу данных. Существует бесплатная лицензия, которая позволит вам сделать это из пользовательского интерфейса, хотя вам может потребоваться заплатить за лицензию, если вы хотите запланировать автоматическое выполнение процесса. Однако, если есть очень большие объемы данных, это может оказаться немного медленным для того, чего вы хотите достичь - вы можете попробовать его, хотя.

Здесь также есть некоторые статьи , в которых рассматриваются некоторые другие варианты этих проблем.

Ответ 3

sola ответ хороший и будет работать. Вот еще одна альтернатива: не сливайся вообще. Создайте представление union-all поверх нескольких базовых таблиц, которые создает ваш импорт. Это экономит много перемещения данных. Такой вид называется секционированным представлением.