Size: a a a

Spring Framework and more

2019 June 03

FE

Fischenko Ella in Spring Framework and more
Я пишу приложение по миграции данных из PostgreSQL в Redshift.
В PostgreSQL большое количество данных.
Для выгрузки я хочу воспользоваться курсором(https://postgrespro.ru/docs/postgrespro/10/plpgsql-cursors)
А так как приложение относительно маленькое и хочу его быстро поднять, то делаю с использованием SpringBoot
Я нашла, что в рамках Spring, что бы воспользоваться курсором нужно использовать SimpleJdbcCall
(https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/jdbc.html#jdbc-simple-jdbc-call-4).
Из документации понятно, что необходимо создать функцию , возвращающюю refcursor, но я не вижу, что бы в документации выгружали частями, не вижу работу с FETCH
Можете подсказать: Как с помощью SimpleJdbcCall,  выгружать данные частями и правильно ли я подобрала инструменты?(возможно есть еще решение)
источник

S🕶

Sander 🕶 in Spring Framework and more
Roman Perminov
Как решил?
в конфиге настроил через Qualifier, теперь везде подтягивается то что мне нужно и сделал это через Primary.
источник

i

ildar in Spring Framework and more
Fischenko Ella
Я пишу приложение по миграции данных из PostgreSQL в Redshift.
В PostgreSQL большое количество данных.
Для выгрузки я хочу воспользоваться курсором(https://postgrespro.ru/docs/postgrespro/10/plpgsql-cursors)
А так как приложение относительно маленькое и хочу его быстро поднять, то делаю с использованием SpringBoot
Я нашла, что в рамках Spring, что бы воспользоваться курсором нужно использовать SimpleJdbcCall
(https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/jdbc.html#jdbc-simple-jdbc-call-4).
Из документации понятно, что необходимо создать функцию , возвращающюю refcursor, но я не вижу, что бы в документации выгружали частями, не вижу работу с FETCH
Можете подсказать: Как с помощью SimpleJdbcCall,  выгружать данные частями и правильно ли я подобрала инструменты?(возможно есть еще решение)
для простой выборки лучше обойтись без курсора, я бы делал так https://codereview.stackexchange.com/questions/163131/jdbc-query-with-limit-and-offset
источник

L

Loljeene in Spring Framework and more
У стейтмента есть фетч сайз. А вставлять можно батчем. Насколько оно вообще надо возиться с лимитами и офсетами. Насколько много данных. Сотни гигабайт, терабайты?
источник

FE

Fischenko Ella in Spring Framework and more
Но если в БД около нескольки милионов данных то ORDER BY - это не слишком затратная операция?
источник

L

Loljeene in Spring Framework and more
Fischenko Ella
Но если в БД около нескольки милионов данных то ORDER BY - это не слишком затратная операция?
А вам зачем
источник

L

Loljeene in Spring Framework and more
Собственно
источник

L

Loljeene in Spring Framework and more
Переносите по id
источник

FE

Fischenko Ella in Spring Framework and more
извиняюсь, не милион, а милиард строк. Чуть меньше терабайта данных
источник

FE

Fischenko Ella in Spring Framework and more
Loljeene
Переносите по id
А переносить по id - это с использованием Limit и Offset?
источник

L

Loljeene in Spring Framework and more
Fischenko Ella
А переносить по id - это с использованием Limit и Offset?
У вас в таблицах праймари id есть? Почему бы не запоминать максимальный из порции
источник

L

Loljeene in Spring Framework and more
И начинать с него
источник

i

ildar in Spring Framework and more
Fischenko Ella
А переносить по id - это с использованием Limit и Offset?
источник

L

Loljeene in Spring Framework and more
Курсоры вам не помогут насколько я понимаю
источник

L

Loljeene in Spring Framework and more
Ну и вопрос есть ли партиции раз данных много
источник

L

Loljeene in Spring Framework and more
Тогда выгружать можно по партиям
источник

FE

Fischenko Ella in Spring Framework and more
Спасибо большое за помощь!)
источник

FE

Fischenko Ella in Spring Framework and more
Вы мне очень помогли
источник

SA

Shumilin Alexandr in Spring Framework and more
Fischenko Ella
Вы мне очень помогли
Абалдеть насколько тут красивые девочки есть)
источник

А

Артем Артемович Артемовский in Spring Framework and more
я так в варкрафт играл) а мeня в данжи водили)
источник