Централизуйте аналогичные данные из баз данных в удаленных местоположениях B через L в базу данных в расположении A - PullRequest
2 голосов
/ 30 марта 2012

Я постараюсь рассказать как можно больше подробностей, относящихся к сценарию.

Расположение (я) от B до L ="УДАЛЕННЫЕ" базы данных. Каждая удаленная база данных имеет только 1 таблицу, и схема таблицы во всех местоположениях идентична. Каждую ночь в полночь каждая удаленная база данных очищает все записи из своей 1 таблицы и вставляет новые отсканированные данные, соответствующие ее местоположению. Таблица в каждой удаленной базе данных будет иметь более 2 миллионов строк.

Таблица в каждой удаленной базе данных выглядит следующим образом:

field_a   |   field_b   |   field_c
_______________________________________
asdfasd   |   asdfasd   |   asdfasd
asdfasf   |   asdfasf   |   asdfasf
asdfasg   |   asdfasg   |   asdfasg

Местоположение A = База данных "ЦЕНТРАЛЬНАЯ". Будет иметь 1 таблицу с аналогичной схемой для таблицы во всех удаленных расположениях, за исключением дополнительного поля, в котором будет храниться имя местоположения. Эта таблица, которая централизует данные из всех удаленных местоположений, будет содержать более 25 миллионов строк.

Таким образом, теоретически таблица в местоположении A (центральная база данных) должна выглядеть следующим образом:

location_name   |   field_a   |   field_b   |   field_c
_____________________________________________________________
Location_A      |   asdfasd   |   asdfasd   |   asdfasd
Location_A      |   asdfasf   |   asdfasf   |   asdfasf
Location_A      |   asdfasd   |   asdfasd   |   asdfasd
........
........
Location_B      |   asdfasf   |   asdfasf   |   asdfasf
Location_B      |   asdfasd   |   asdfasd   |   asdfasd
Location_B      |   asdfasf   |   asdfasf   |   asdfasf
........
........
Location_C      |   asdfasd   |   asdfasd   |   asdfasd
Location_C      |   asdfasf   |   asdfasf   |   asdfasf
Location_C      |   asdfasd   |   asdfasd   |   asdfasd
........
........
Location_D      |   asdfasf   |   asdfasf   |   asdfasf
Location_D      |   asdfasd   |   asdfasd   |   asdfasd
Location_D      |   asdfasf   |   asdfasf   |   asdfasf
........
........
and so on for all locations......

Вопросы для экспертов StackOverflow:

  • Какое программное обеспечение базы данных вы бы порекомендовали? MySQL? MongoDB?
  • Как бы вы это настроили? Репликация, активированные вставки / обновления и т. Д.

1 Ответ

1 голос
/ 02 апреля 2012

На самом деле нет никакого готового способа сделать это с mongodb.Люди делают это, но обычно для этого пишут свои собственные задачи репликации.Что вы можете сделать, это запустить набор реплик (для избыточности данных) в качестве удаленных баз данных, а затем написать несколько задач для запроса удаленных баз данных и вставки / переноса в центральную базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...