@pgsql

Страница 992 из 1062
Yukari
19.09.2018
12:15:52
Нарежьте схем, насоздавайте тс и файлов, переносите постепенно.

Это не быстро, муторно конечно, но относительно норм. Есть окно недоступности?

Yaroslav
19.09.2018
12:17:21
Нарежьте схем, насоздавайте тс и файлов, переносите постепенно.
А как Вы советуете переносить-то? Просили же в другую БД, нет?

Vitaly
19.09.2018
12:17:55
А как Вы их разделяете? Но, в любом случае, если хотите "распиливать" базу, Вас ждёт dump/restore (ну или логическая репликация, если уж заморочиться). :(
А если так? (чтоб без бэкапа): взять директорию с данными tablespace, перенести на другой сервер. Дальше как-то (интересно как) перенести метаданные, касающиеся перенесённого tablespace и объектов (таблиц, индексов) в нём лежащих

Google
Alexander
19.09.2018
12:17:56
задача следующая: есть БД, с которой работают микросервисы. Данные каждого микросервиса лежат в отдельном tablespace. Возникла задача "распилить" единую БД по принципу "один микросервис — одна БД". Как это сделать?
1. Создаёте целевые базы данных со всеми необходимыми таблицами (только структура)(pg_dump/restore). 2. Настраиваете логическую репликацию таблиц из ресурсной БД в целевую (pglogical).

Mike Chuguniy
19.09.2018
12:20:23
а без репликации?
Только дамп/ресторе с простоем проектов на время этого безобразия. Физически перетащить файлы БД - никак от слова совсем.

Zamira
19.09.2018
12:20:24
задача следующая: есть БД, с которой работают микросервисы. Данные каждого микросервиса лежат в отдельном tablespace. Возникла задача "распилить" единую БД по принципу "один микросервис — одна БД". Как это сделать?
Прошу прощения за оффтоп. А микросервисы одним и тем же пользователем подключаются или разными? Я такое часто видела на оракл. На каждый микросервис отдельная схема (схема в терминологии оракла)

Alexander
19.09.2018
12:20:29
а без репликации?
Yaroslav выше рассказал - pg_dump/restore

Zamira
19.09.2018
12:21:27
А в pg есть понятие схем?

Mike Chuguniy
19.09.2018
12:21:43
А в pg есть понятие схем?
А куда оно делось?! о_О

Yaroslav
19.09.2018
12:21:48
+1 Ага, проходили уже.
(Подумав) Ну ещё можно попробовать FDW, кстати.

Google
Zamira
19.09.2018
12:22:23
А куда оно делось?! о_О
У оракла есть понятие схемы, которое подразумевает учетку и все принадлежащие ей объекты - индексы, процедурки, триггеры

Mike Chuguniy
19.09.2018
12:22:25
(Подумав) Ну ещё можно попробовать FDW, кстати.
Это для сильных духом и упоротых по самые помидоры по части рукоблудия и красноглазия. :)

Zamira
19.09.2018
12:22:31
Я про такую схему

Alexander
19.09.2018
12:22:42
(Подумав) Ну ещё можно попробовать FDW, кстати.
Сложно синхронизировать обновляющиеся данные. Нет?

Yaroslav
19.09.2018
12:23:15
А в pg есть понятие схем?
Схема — это из стандарта SQL, мне помнится. Мы тут на него молимся, так что у нас есть. ;)

Vitaly
19.09.2018
12:23:17
Только дамп/ресторе с простоем проектов на время этого безобразия. Физически перетащить файлы БД - никак от слова совсем.
т.е. без бэкапа или репликакции совсем-совсем никак?? А переносом файлов tablespace ничего не добиться? Это было бы наиболее быстрым и эффективным способом, согласитесь...

Mike Chuguniy
19.09.2018
12:23:32
Всё остальное - также своё: объекты, права доступа, ну и вот это фсйо

Zamira
19.09.2018
12:25:03
Просто после этого я ни раз н сталкивалась с такой организацией данных что бы одной схеме дали какие-то доступы на объекты других схем. Думала это вышло из моды ?, а нет это в микросервисной архтектуре опять процветает

Yukari
19.09.2018
12:25:28
А как Вы советуете переносить-то? Просили же в другую БД, нет?
Алгоритм такой: Готовим новую бд, все новые клиенты сливают данные в нее в свои тс и схемы. Создаем схемы и тс для существующих Заливаем данные через линк из старой бд в новую, где они отложены в свои тс (рекомендую завести отдельные тс для индексов) С окном недоступности переключаем клиентов. Профит

Mike Chuguniy
19.09.2018
12:25:35
А логическая репликация - это дамп/рестор на схему без данных. * глумливо* Нет в мире счастья, а в жизни совершенства

Alexander
19.09.2018
12:25:40
Vitaly
19.09.2018
12:25:48
Yaroslav
19.09.2018
12:28:02
а что такое FDW, сорри незнаком с аббревиатурой?
Foreign Data Wrapper https://www.postgresql.org/docs/current/static/ddl-foreign-data.html

Yukari
19.09.2018
12:28:34
Заюзай уже вертику

Google
Yukari
19.09.2018
12:28:40
Тер бесплатно дают

Terminator
19.09.2018
12:31:40
@artem_plekhanov будет жить. Поприветствуем!

Alexander
19.09.2018
12:31:42
Ну я вот уже советовал FDW... но это для "сильных духом", да. Зато, потенциально, простой меньше...
Либо так - https://www.depesz.com/2016/11/08/major-version-upgrading-with-minimal-downtime/ Простой ещё меньше.

Леонид
19.09.2018
12:32:56
что-то нетак

с самим постгре

Vitaly
19.09.2018
12:33:27
Это для сильных духом и упоротых по самые помидоры по части рукоблудия и красноглазия. :)
А почему? Вроде, на первый взгляд, в FDW не видно ничего такого страшного...

Леонид
19.09.2018
12:33:30
буду сейчас это гуглировать

Yukari
19.09.2018
12:34:30
А почему? Вроде, на первый взгляд, в FDW не видно ничего такого страшного...
Лучше потренироваться на тестовой среде. Подвох кроется в случае, если что то пойдет не так

Леонид
19.09.2018
12:34:52
unsupported frontend protocol 0.0: server supports 2.0 to 3.0

вообще неясно, что оно хочет

Yaroslav
19.09.2018
12:35:19
А почему? Вроде, на первый взгляд, в FDW не видно ничего такого страшного...
Так непосредственно мигрировать таблицы Вы собираетесь? Если да, то как? ;) (Я подозреваю, что на основании FDW можно "сварить" что-то подобное по эффекту pg_logical, но зачем?)

Zamira
19.09.2018
12:36:17
Еще один оффтоп. В сфере DBA бывают удаленные вакансии для джуниоров? Это вообще популярно? ? Я тут уже скучаю по большим хранилищам

Vitaly
19.09.2018
12:36:57
Так непосредственно мигрировать таблицы Вы собираетесь? Если да, то как? ;) (Я подозреваю, что на основании FDW можно "сварить" что-то подобное по эффекту pg_logical, но зачем?)
ну, я, в общем, понял. Меня интересовало, в первую очередь, можно ли решить задачу переносом файлов с небольшим хаком

Yaroslav
19.09.2018
12:42:09
ну, я, в общем, понял. Меня интересовало, в первую очередь, можно ли решить задачу переносом файлов с небольшим хаком
А вот мы Вам тут насоветовали... а цель-то у Вас какая? Какие преимущества Вы рассчитываете получить?

Vitaly
19.09.2018
12:43:39
А вот мы Вам тут насоветовали... а цель-то у Вас какая? Какие преимущества Вы рассчитываете получить?
ну, это на перспективу. Какой-то микросервис просядет по производительности из-за БД — я его БД перенесу на другой сервер. Типа того.

Zamira
19.09.2018
12:44:52
По моему проще искать узкие места и их решать. Я бы не решилась так дробить базу ?

Google
Yaroslav
19.09.2018
12:45:20
ну, это на перспективу. Какой-то микросервис просядет по производительности из-за БД — я его БД перенесу на другой сервер. Типа того.
Хмм... был бы это отдельный PostgreSQL-кластер (с одной базой) для каждого клиента, всё было бы куда проще. Но у Вас их слишком много, наверное. :(

Yaroslav
19.09.2018
12:47:16
ну, это на перспективу. Какой-то микросервис просядет по производительности из-за БД — я его БД перенесу на другой сервер. Типа того.
А какая версия PostgreSQL, кстати? В 10-ке Вам, может быть, хватит и встроенной логической репликации.

Yaroslav
19.09.2018
12:48:08
Десятка, да
Тогда Вам стоит на неё посмотреть, скорее всего.

Vitaly
19.09.2018
12:48:35
Yaroslav
19.09.2018
12:51:07
unsupported frontend protocol 0.0: server supports 2.0 to 3.0
Это сильно похоже на кривого клиента (или проблемы с сетью). (Насколько я помню, версия протокола передаётся в startup packet при установлении соединения.)

Mike Chuguniy
19.09.2018
13:09:41
По моему проще искать узкие места и их решать. Я бы не решилась так дробить базу ?
А вот Авито подробили свои базы и проекты на микросервисы. Запросто может возникнуть ситуация, когда никакие ухищрения не помогут, потому что данных не много, а чудовищно много.

А почему? Вроде, на первый взгляд, в FDW не видно ничего такого страшного...
Вот именно, что на первый взгляд. А ковырять начинаешь, и понеслась...

Это редкость. Удаленщикам не разработчикам не очень много плптят
Да и разработчикам не вот уж. Чутка получше, чем по конкретному региону, но не более того.

Еще один оффтоп. В сфере DBA бывают удаленные вакансии для джуниоров? Это вообще популярно? ? Я тут уже скучаю по большим хранилищам
В эксплуатации вообще, и не только у ДБА, и не только у джунов, в России - это редкость редкостная, что аж плакать хочется. Вынь и положь манагерам чучелко эксплуатирующее в офисе. Повбывав бы!

Mike Chuguniy
19.09.2018
13:21:18
Хм... Погорячился, виноват, исправляться не буду, ибо что выросло, то выросло. :) Помимо объёмов данных, есть ещё количество одновременных подключений. И логика работы. Когда данные слабо связаны и легко и непринуждённо разносятся по различным инстансам, то для увеличения отзывчивости БД, почему бы их не разнести? (я таки про количество клиентов не рекомендую забывать).

Let Eat
19.09.2018
14:47:13
Когда случается автотранзакция (в случае когда запрос без BEGIN COMMIT) у нее какой уровень изоляции?

Yan
19.09.2018
14:52:31
Microsoft SQL Server, PostgreSQL и Oracle - read commited

по умолчанию

Terminator
19.09.2018
14:54:14
@bessonovevgen будет жить. Поприветствуем!

Google
Yaroslav
19.09.2018
14:54:29
Microsoft SQL Server, PostgreSQL и Oracle - read commited
А Вы, к слову, не знаете (просто любопытно), в Oracle это настраивается?

Yukari
19.09.2018
14:59:52
По крайней мере хинт можно сделать

Yaroslav
19.09.2018
15:02:30
По крайней мере хинт можно сделать
И всё? Более-менее "глобальной" настройки нет?

Yukari
19.09.2018
15:19:23
В оракл вроде есть, но не помню точно. Обычно для оракла юзаю хиниы

Погуглировать попробуйте

Yaroslav
19.09.2018
15:26:13
Да ну, мне просто было любопытно — может, кто сходу знает. ;)

Terminator
19.09.2018
17:40:10
Vitalii Hrozynskii будет жить. Поприветствуем!

Страница 992 из 1062