Построить таблицу таблиц из других баз данных в Postgres - (параллельное выполнение нескольких серверов?) - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь найти лучшее решение для построения отношений с базой данных.Мне нужно что-то, чтобы создать таблицу, которая будет содержать данные, разделенные на другие таблицы из разных баз данных.Все таблицы имеют одинаковую структуру (одинаковый номер столбца, имена и типы).

В одной базе данных я бы создал родительскую таблицу с разделами.Тем не менее, объем данных слишком велик, чтобы сделать это в одной базе данных, поэтому я пытаюсь сделать разделение.Я думаю, что из документации Postgres я пытаюсь сделать «Параллельное выполнение нескольких серверов».

На данный момент единственное решение, которое я думаю реализовать, - это построить API адреса баз данных и использовать его для передачи данных по сети в основную родительскую базу данных, когда это необходимо.Я также нашел внешнее расширение Postgres под названием Citus , которое могло бы выполнить эту работу, но я не знаю, как реализовать уникальный ключ в нескольких базах данных (или его называют такие осколки, как Citus).

Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 17 декабря 2018

Citus, скорее всего, решит вашу проблему.Он позволяет использовать уникальные ключи в разных сегментах, если это столбец распределения или составной ключ и содержит столбец распределения.

Вы также можете использовать распределенную таблицу с разделами в citus.Это разделенная таблица в некотором столбце (временная метка?) И распределенная таблица хеша в другом столбце (например, то, что вы используете в существующем подходе).Распараллеливание запросов и сбор данных будут выполняться Citus для вас.

...