powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Промежуточная неудача
19 сообщений из 19, страница 1 из 1
Промежуточная неудача
    #35414242
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте!

В предыдущем своем посте http://sql.ru/forum/actualthread.aspx?tid=570714, я выяснял возможность влияния параметров на скорость загрузки данных.

Огромное спасибо всем откликнувшимся !!!

Еще раз внимательно изучив предложения (отдельный поклон vasilis), и воспользовавшись предоставленным временем для экспериментов (спасибо руководству), было принято решение использовать два направления.

Для мелких баз (суммарный объем ~20 G) dbexport/dbimport, для крупной (объем ~70 G) были подготовлены скрипты основанные на методике описанной http://www.sql.ru/faq/faq_topic.aspx?fid=588.

Эксперименты показали практически двухкратное увеличение скорости загрузки данных, для одинаковых объемов, при использовании метода insert into ..., по сравнению с dbimport.

Это было хорошее, теперь о плохом.
По непонятной для меня причине и неизменных условиях (абсолютно одинаковые скрипты, разные таблицы) - результат работы зависел от фазы луны и направления ветра. Т.е. при том что в каждом случае сообщения в лог "inserted ..... rows" - в одних случаях записи в таблице-приемнике присутствовали, в других -нет.
Оба сервера находились в режиме NoLogging.
Не знаю в какую сторону думать.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35414502
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyA
Эксперименты показали практически двухкратное увеличение скорости загрузки данных, для одинаковых объемов, при использовании метода insert into ..., по сравнению с dbimport.


Надеюсь вы знаете что dbimport кроме непосредственно загрузки данных еще выполняет построение индексов и обновляет статистику (если они есть в скрипте импорта)? А вот insert into этого не делает.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35414599
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andron
Надеюсь вы знаете что dbimport кроме непосредственно загрузки данных еще выполняет построение индексов и обновляет статистику (если они есть в скрипте импорта)? А вот insert into этого не делает.

Да, конечно.
Меня волновало, да и продолжает волновать, скорость загрузки ИМЕННО данных.
Дальнейшая обработка (процедуры, индексы и т.д.) - это второй этап.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35414651
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно конечно, не должен dbimport быть настолько медленее. В скрипте импорта точно не было команд на построение индексов и обновления статистики?
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35414707
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronСтранно конечно, не должен dbimport быть настолько медленее. В скрипте импорта точно не было команд на построение индексов и обновления статистики?Надо смотреть в информиксе, случаи бывают разные http://groups.google.com/group/comp.databases.informix/msg/d0f32df0b151b88a?dmode=source
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35415459
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SkSergeyA
Это было хорошее, теперь о плохом.
По непонятной для меня причине и неизменных условиях (абсолютно одинаковые скрипты, разные таблицы) - результат работы зависел от фазы луны и направления ветра. Т.е. при том что в каждом случае сообщения в лог "inserted ..... rows" - в одних случаях записи в таблице-приемнике присутствовали, в других -нет.
Оба сервера находились в режиме NoLogging.
Не знаю в какую сторону думать.


Неужели никто не обратил внимание на это !!!!!
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35415505
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAНеужели никто не обратил внимание на это !!!!!Ну я обратил. А ничего не написал потому что не понял:
1-е что вы делали и как, по сцылке я не ходил, во первых там наверняка не написано что конкрентно ВЫ делали, а во вторых мне лень, вам лень писать конретику, делать копипасты, а мы должны разбираться и догадываться что там было задумано и что получилось?
2-е не понял в чем проблема, не видел подробных логов, и т.д. и т.п.

Короче: Вы написали: У меня подземный стук. Мы поржали.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35416019
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис SkSergeyAНеужели никто не обратил внимание на это !!!!!Ну я обратил. А ничего не написал потому что не понял:
1-е что вы делали и как, по сцылке я не ходил, во первых там наверняка не написано что конкрентно ВЫ делали, а во вторых мне лень, вам лень писать конретику, делать копипасты, а мы должны разбираться и догадываться что там было задумано и что получилось?
2-е не понял в чем проблема, не видел подробных логов, и т.д. и т.п.

Короче: Вы написали: У меня подземный стук. Мы поржали.

Понял, исправляюсь.

Методика переноса данных была основана на последовательном выполнении следующих операций:

1. dbschema -d {db} > {db}.sql на Win2000AS IDS 10.00.TC7
2. Резка полученного файла на две части (1-создание таблиц, 2-создание всего остального)
3. dbaccess -e 1 часть {db}.sql на linux CentOS5.1 IDS 11.50.FC1
4. dbaccess -e upload.sql
upload.sql - скрипт содержащий строки вида
insert into {table} select * from {db}@{server}:{table}
результат выполнения этого скрипта - лог вида :
inserted {N} rows не содержит ни одного сообщения об ошибке, однако на самом деле все обстоит не так.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35416211
svat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SkSergeyA
4. dbaccess -e upload.sql
upload.sql - скрипт содержащий строки вида
insert into {table} select * from {db}@{server}:{table}
результат выполнения этого скрипта - лог вида :
inserted {N} rows не содержит ни одного сообщения об ошибке, однако на самом деле все обстоит не так.

{включаю телепатию}

Для формирования лога, естественно, использовалось что-то вроде
Код: plaintext
dbaccess -e upload.sql > upload.log  2>&1 
?
... корректно ли грепался полученный лог?
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35416590
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
svat2
{включаю телепатию}

Для формирования лога, естественно, использовалось что-то вроде
Код: plaintext
dbaccess -e upload.sql > upload.log  2>&1 
?
... корректно ли грепался полученный лог?

Если быть абсолютно точным, то upload.sql выглядел так:
echo `date` >> upload.log
dbaccess -e upload.sql > upload.log 2>&1
echo `date` >> upload.log

количество записей в логе идентично количеству вызовов insert.
на каждую запись получен ответ - inserted {N} rows.
сообщений об ошибках нет, лог информикса девственно чист.
Я в ступоре.
Какая еще нужна информация ?
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417162
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAсообщений об ошибках нет, лог информикса девственно чист.
Я в ступоре.
Какая еще нужна информация ?а dbschema пары таких табличек?
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417174
svat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я бы поступил следующим образом (первое, что приходит в голову):
1) вычленил набор таблиц, в которые "не вставляется"
2) попытался проделать эту операцию интерактивно (вручную) на данных таблицах (с пом. того же eSQLeditor, к примеру)
3) в зависимости от результата:
3.1) если вставляется без ругательств - переместил бы соотв. строки из update.sql в конец/начало скрипта, чтобы выявить зависимость от связанных таблиц и попробовал еще раз
3.2) если вставляется/не вставляется с ругательствами - курил бы мануалы, много думал :). К примеру: что общего между этими таблицами (используются уникальные типы полей, их длина и т.п., м.б. другой владелец таблицы, права доступа и т.д.)

ЗЫ. и, пожалуйста, пишите как советует FAQ и Журавлев: цитатами, копипастами, кусками лога.
Т.е. вместо "лог девственно чист" должно быть что-то вроде
Код: plaintext
1.
2.
$ grep -v "inserted.*rows" log_file.log

(бла-бла-бла-результат-вывода)

а вместо "количество записей в логе идентично количеству вызовов insert." было бы приятно знать, что действительно было выполнено корректное cравнение а-ля
Код: plaintext
1.
2.
grep "insert" update.sql |  wc -l
grep "inserted" update.log |  wc -l
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417226
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Дениса dbschema пары таких табличек?

Выдержка из dbschema для одной из таблиц, по которым не перенеслись данные.

файл выгруженной схемы без изменений использовался для создания новой схемы (правда по частям - сначала создание таблиц, затем заливка данных, а потом создание остальных компонентов - процедур, триггеров и т.д.)
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417289
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyAсоздание таблиц, затем заливка данных, а потом создание остальных компонентов - процедур, триггеров и т.д.)Я просил 2-х таблиц
DBDATE установлен для среды в которой " dbaccess -e upload.sql "
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417467
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисЯ просил 2-х таблиц
DBDATE установлен для среды в которой " dbaccess -e upload.sql "

Выложил.
Для обоих платформ DBDATE = DMY4
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417575
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkSergeyA
Выложил.Не одну таблицу с разных серверов, а две которые не залились с того в который вливали.

SkSergeyAДля обоих платформ DBDATE = DMY4Т.е. вы хотели сказать что оба информикса запущены в окружениях в которых DBDATE = DMY4? Да?

А dbaccess запускался в окружении в котором установлен DBDATE = DMY4 ? Или как?
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35417786
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисНе одну таблицу с разных серверов, а две которые не залились с того в который вливали.

SkSergeyAДля обоих платформ DBDATE = DMY4Т.е. вы хотели сказать что оба информикса запущены в окружениях в которых DBDATE = DMY4? Да?

А dbaccess запускался в окружении в котором установлен DBDATE = DMY4 ? Или как?

Извините, не понял сразу.
Выложил две таблички.

Да,для обоих платформ DBDATE = DMY4 и dbaccess запускался в таком окружении.
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35418782
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы вручную из dbaccess запускали ваши скрипты, которые не вставляют записи ?
Какие сообщения были ?

В таком вот аксепте
...
Рейтинг: 0 / 0
Промежуточная неудача
    #35420812
SkSergeyA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВыбегаллоВы вручную из dbaccess запускали ваши скрипты, которые не вставляют записи ?
Какие сообщения были ?

В таком вот аксепте

Еще нет.
Сижу в трансе.
Думаю - кому верить.
Прежде чем объединить все команды на загрузку данных, было проведено около десятка проб, с разным количеством таблиц и объемом закружаемых данных.
Все они успешно отработали. И все они проверялись вручную из dbaccess.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Промежуточная неудача
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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