Назад | Перейти на главную страницу

Подтолкнуть подчиненную базу данных к главной базе данных?

Скажем, у меня большая база данных globalclients который очень-очень большой.

Теперь я делю эту большую базу данных на 100 под-баз данных, как:

chinaclients
japanclients
koreaclients
indiaclients
brazilclients
etc.

Каждый работает в соответствующей стране.

Теперь я хочу провести некоторый анализ по всем базам данных. Я хочу сначала объединить их все в основную базу данных: некоторые таблицы объединяются полностью, а некоторые таблицы объединяются перед объединением:

customer_contact:   merged entirely
product_sales:      `select sum(sales), ... group by month` before merging

Есть ли у вас предложения? Какие английские термины относятся к этой технике? "синхронизировать" или что-то еще?

Будет отличным бонусом, если я смогу загрузить только разницу из под-базы данных.

Я не знаю, смогу ли я сделать это на уровне базы данных или нет, «синхронизация» распределенных баз данных в Java была бы сложной задачей. есть ли поддержка PostgreSQL-8.4?

Вы можете использовать PL / Proxy для настройки внешнего интерфейса, а затем написать несколько функций, которые будут выполнять запросы, которые вам нужны. Однако это могло быть довольно сложно. Вам следует тщательно спланировать эту архитектуру.

SQL-запросы могут выполняться в нескольких таблицах следующим образом:

SELECT SUM(sales) FROM table1, table2 GROUP BY month

Вы также можете использовать UNION для последовательного извлечения данных из нескольких запросов:

SELECT SUM(sales) FROM table1  GROUP BY month UNION SELECT SUM(sales) FROM table2  GROUP BY month

Я не знаю о postgresql, но вы могли бы создать таблицу VIEW, которая дает вам доступ ко всем таблицам в объединенном формате для выполнения более простых запросов.