powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Repeatoble read без транзакции.
4 сообщений из 4, страница 1 из 1
Repeatoble read без транзакции.
    #40058175
DoubleDouchebag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть переливка в виде скрипта на питоне которая на начальном этапе работает так:

В источник на транзакцию, читающую данные из PostgreSQL ставится уровень изоляции repeatable read чтобы читаемые данные были "зафиксированы" на момент начала читающей транзакции.
Это нужно т.к. прочитать за раз нужно данные из нескольких таблиц, а данные в них часто меняются и связаны друг с другом по всякому. Если читать в разных транзакциях то пока один объект прочитаешь в других уже данные новее будут и связи другие и т.д.

Эту переливку нужно реализовать на ETL инструменте который читать данные из нескольких объектов в одной транзакции не умеет.

Вопросы:
1) Можно ли создать условия в PostgreSQL такие как в repeatoble read для нескольких таблиц одновременно. Только без явного открытия транзакции?
Типа команды lock (но она опять же в явно открытой транзакции только работает).
2) Может у кого то был опыт чтения версий данных таблиц на какой то момент времени фиксированный. Направьте где глубже узнать про это.
3) Принципиально другой подход?

Решение в виде базы реплики и остановки репликации на время понятно, но интересно есть ли что полегче.
...
Рейтинг: 0 / 0
Repeatoble read без транзакции.
    #40058184
yob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yob
Гость
DoubleDouchebag
Добрый день!
Есть переливка в виде скрипта на питоне которая на начальном этапе работает так:

В источник на транзакцию, читающую данные из PostgreSQL ставится уровень изоляции repeatable read чтобы читаемые данные были "зафиксированы" на момент начала читающей транзакции.
Это нужно т.к. прочитать за раз нужно данные из нескольких таблиц, а данные в них часто меняются и связаны друг с другом по всякому. Если читать в разных транзакциях то пока один объект прочитаешь в других уже данные новее будут и связи другие и т.д.

Эту переливку нужно реализовать на ETL инструменте который читать данные из нескольких объектов в одной транзакции не умеет.

Вопросы:
1) Можно ли создать условия в PostgreSQL такие как в repeatoble read для нескольких таблиц одновременно. Только без явного открытия транзакции?
Типа команды lock (но она опять же в явно открытой транзакции только работает).
2) Может у кого то был опыт чтения версий данных таблиц на какой то момент времени фиксированный. Направьте где глубже узнать про это.
3) Принципиально другой подход?

Решение в виде базы реплики и остановки репликации на время понятно, но интересно есть ли что полегче.

1) Уровень изоляции выставляется на уровне всего сервера. Транзакция все равно откроется, исходя из вводных.
2) вариаций может масса - запомнили последнюю бизнес дату на таргете, считали ее, программно ввели нужную дату отсечку, смотря на которую работаем со всеми тремя источниками в виде параметра/процедурно/функционально. Либо считываем parent source / major источник - так же запоминаем и идем в остальные.
Хорошенечко изучите ваше ETL средство
3) непонятно что вы делаете до конца, чтобы подход советовать
...
Рейтинг: 0 / 0
Repeatoble read без транзакции.
    #40058196
DoubleDouchebag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yob,

>>3) непонятно что вы делаете до конца, чтобы подход советовать
Нужно просто переделать логику загрузки скриптом на ETL информатики.
...
Рейтинг: 0 / 0
Repeatoble read без транзакции.
    #40058427
yob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yob
Гость
DoubleDouchebag
yob,

>>3) непонятно что вы делаете до конца, чтобы подход советовать
Нужно просто переделать логику загрузки скриптом на ETL информатики.

ответ выше
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Repeatoble read без транзакции.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]