Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ускорение импорта данных / 20 сообщений из 20, страница 1 из 1
03.06.2020, 14:22
    #39965671
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Нужно на сервер залить большой объем данных (sql: 17 гиг, lob: 38 гиг). Файлы данных, клиент, сервер находятся на одной физической машине. Загружаю через IBExpert. Сейчас прогнозированное время загрузки 117 часов.

Вопрос: можно ли как-то радикально увеличить скорость загрузки настройками сервера? Индексов в базе нет. Триггеры отключены.

Операция разовая.

Идею выгружать данные в разные файлы, а потом грузить несколькими клиентами знаю и сейчас над ней думаю


С уважением, Vasilisk
...
Рейтинг: 0 / 0
03.06.2020, 14:34
    #39965681
AltHasp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
_Vasilisk_,

IBeScript быстрее будет, чем IBExpert (хотя автор у них один). Если есть возможность использовать RAMDisk для временных файлов и разнести сервер и клиент на разные процы. А машина какая (CPU,RAM, hdd/ssd) ?

Удачи !
...
Рейтинг: 0 / 0
03.06.2020, 14:35
    #39965682
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
_Vasilisk_,

_Vasilisk_потом грузить несколькими клиентами
только в разные таблицы.

ssd ?
...
Рейтинг: 0 / 0
03.06.2020, 14:40
    #39965689
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
FW = off.
XNET.
Ну и просто посмотреть resmon-ом где, собственно, бутылочное горлышко.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.06.2020, 14:59
    #39965707
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Dimitry Sibiryakov
XNET
embedded, какой xnet
...
Рейтинг: 0 / 0
03.06.2020, 15:01
    #39965710
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
AltHasp
IBeScript быстрее будет, чем IBExper
Я все равно гружу функцией ibec_ExecSQLScript, так что разницы, думаю, не будет
AltHasp
RAMDisk для временных файлов
Мысль!
AltHasp
А машина какая (CPU,RAM, hdd/ssd) ?
Какой-то виртуальный сервер. 6 ядер 16 гиг. Диск ХЗ. Там все виртуализировано
kdv
только в разные таблицы.
Значит не прокатит. У меня 80% данных лежат в двух таблицах. Во второй лежит 95% блобов всей базы
Dimitry Sibiryakov
FW = off.
XNET.
Спасибо
...
Рейтинг: 0 / 0
03.06.2020, 15:08
    #39965718
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
hvladembedded, какой xnet

Так-то оно, конечно, да, но у меня теплится надежда на возможность распараллеливания
работы СУБД и клиента, парсящего файлы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.06.2020, 15:34
    #39965747
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Dimitry Sibiryakov
у меня теплится надежда на возможность распараллеливания
работы СУБД и клиента, парсящего файлы.
В каком месте она сама появится ?

Клиент вполне может попробовать в несколько потоков загружать данные.
...
Рейтинг: 0 / 0
03.06.2020, 15:35
    #39965749
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
_Vasilisk_,

ещё есть EXTERNAL TABLE, но их нужно уметь готовить, и понимать проблемы с нуллами
...
Рейтинг: 0 / 0
03.06.2020, 15:41
    #39965754
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
hvlad,

так они же вроде не умеют работать с блобами, а у ТС большая часть базы из них
...
Рейтинг: 0 / 0
03.06.2020, 16:02
    #39965773
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Симонов Денис,

да, блобы я упустил
...
Рейтинг: 0 / 0
03.06.2020, 16:09
    #39965779
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Dimitry Sibiryakov
Так-то оно, конечно, да, но у меня теплится надежда на возможность распараллеливания
работы СУБД и клиента, парсящего файлы.
По статистике IBExpert и Firebird загружают процессор поровну
hvlad
ещё есть EXTERNAL TABLE,
Мне нужно раз влить данные и забыть об этом навсегда
...
Рейтинг: 0 / 0
03.06.2020, 16:10
    #39965780
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
_Vasilisk_

Идею выгружать данные в разные файлы, а потом грузить несколькими клиентами знаю и сейчас над ней думаю


Я так делаю. База и входные данные на полтора десятичных порядков больше, чем у вас, время загрузки одним клиентом около месяца. данные раскидываются по всем таблицам, тех около 200.

Провел эксперимент с параллельными клиентами. Дедлоки случаются, но нечасто, данные сравнительно хорошо сегментированы. Опытным путем определил оптимум в 4 клиента. И да, загрузка быстрее в разы, если не в 4, то раза в 3 точно. Все клиенты и сервер на одном компьютере. Но в моей задаче довольно много работы у клиента - парсит xml файлы.
...
Рейтинг: 0 / 0
03.06.2020, 17:12
    #39965813
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
shalamyansky,

На похожей задаче в дополнение к многопотоковому парсингу/вставке за счет применения FireDAC Array DML у меня получилось дополнительно ускориться еще примерно на 40%.
...
Рейтинг: 0 / 0
03.06.2020, 17:18
    #39965818
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Vlad F,

Batch API 4.0 рулит 22080521 но только при использовании сетевых протоколов. На embedded никакого выигрыша не даёт, что ожидаемо
...
Рейтинг: 0 / 0
03.06.2020, 17:26
    #39965822
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Симонов Денис,

Четверки я на том проекте так и не дождался, однако и на тройке, причем, именно в embedded варианте, получил описанное ускорение. Так что затеваться, имхо, стоит.
...
Рейтинг: 0 / 0
03.06.2020, 18:13
    #39965847
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Симонов Денис
Batch API 4.0 рулит 22080521 но только при использовании сетевых протоколов. На embedded никакого выигрыша не даёт, что ожидаемо
Т.е. Embedded все-таки сильно лучше чем локальный XNET? На стандартном API. Или я неправильно читаю статистику?
...
Рейтинг: 0 / 0
04.06.2020, 03:54
    #39965960
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
Я бы еще входные данные поделил на кусочки, или заранее продумал что делать в случае частичного импорта.

Т.е. если на 101 часе "что-то пошло не так" и загрузка прервалась, что бы можно было грузить не опять все заново а хотя бы не все, или в идеале - только то что еще не загружено.
...
Рейтинг: 0 / 0
04.06.2020, 09:19
    #39965994
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
_Vasilisk_,

правильно. Любой дополнительный слой создаёт дополнительные издержки
...
Рейтинг: 0 / 0
04.06.2020, 10:27
    #39966012
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение импорта данных
fraks
Я бы еще входные данные поделил на кусочки, или заранее продумал что делать в случае частичного импорта.
Это я уже
Симонов Денис
правильно.
Спасибо за информацию и за статистику
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ускорение импорта данных / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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