1. Denis211990 10.06.19 19:15 Сейчас в теме

Загрузка больших объемов данных с транзакцией

Например, имеется такая задача.


Требуется организовать загрузку большого массива данных, записи\перезаписи. При этом должна быть возможность откатить изменения, и контролировать целостность.

1. Большой массив данных - больше миллиона строк (100 колонок)
2. Многопоточная обработка прочитанных данных
3. Требуется возможность возврата, в случае не полностью записанных\перезаписанных данных
4. Возможность применения блокировок


Как возможно организовать многопоточную загрузку огромного массива данных в транзакции?
Ответы
Избранное Подписка Сортировка: Древо
5. Sashares 17 11.06.19 12:34 Сейчас в теме
(1)
Как возможно организовать многопоточную загрузку огромного массива данных в транзакции?

Многопоточную в одной транзакции - никак.
2. aka Любитель XML 10.06.19 19:45 Сейчас в теме
Также как и везде. Грузите порциями, используя обычные транзакции в коде
Denis211990; +1 Ответить
3. Oldsad 11.06.19 02:55 Сейчас в теме
сейчас миллионом строк никого не напугать, особенно если они хранятся в удобном для быстрого считывания формате
на быстродействие больше скажется не многопоточность,а отделение загрузки от последующей обработки данных
обычная транзакция в коде решит проблему целостности и предоставит возможность отката
6. Denis211990 11.06.19 12:37 Сейчас в теме
(3) транзакция при записи и перезаписи 1 миллиона объектов может вылететь
7. Sashares 17 11.06.19 12:49 Сейчас в теме
(6)Сначала вам нужно определиться, либо 1 транзакция, либо многопоточность.
Если многопоточность - то советовали выше - партиями загружать, каждая партия в своей транзакции.
Но соответственно, при ошибке откатится только транзакция с партией.
9. Oldsad 13.06.19 03:04 Сейчас в теме
(6)
на моей практике транзакции ни разу не "вылетали"
миллионы объектов не записывал, но несколько десятков-сотен тысяч были случаи
единственная причина по которой транзакция может "вылететь" - нехватка памяти
еще раз скажу - отделите мух от котлет, т.е. собственно загрузку от постобработки
Denis211990; +1 Ответить
4. herfis 281 11.06.19 12:31 Сейчас в теме
Что такое "многопоточная обработка прочитанных данных"? Запись в базу идет в нескольких потоках?
Что требуется откатывать? Весь миллион строк, если проблемы с последней строкой возникли?
Что такое "возможность применения блокировок"? Чтобы что?
8. vynosmozga 5 11.06.19 12:55 Сейчас в теме
Есть еще версионирование.
Denis211990; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Бобров
зарплата от 100 000 руб. до 150 000 руб.
Временный (на проект)

Студент (стажер) 1С
Нижний Новгород
зарплата от 25 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб.
Полный день