Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте! В предыдущем своем посте 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. Не знаю в какую сторону думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 10:22 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyA Эксперименты показали практически двухкратное увеличение скорости загрузки данных, для одинаковых объемов, при использовании метода insert into ..., по сравнению с dbimport. Надеюсь вы знаете что dbimport кроме непосредственно загрузки данных еще выполняет построение индексов и обновляет статистику (если они есть в скрипте импорта)? А вот insert into этого не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 11:53 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Andron Надеюсь вы знаете что dbimport кроме непосредственно загрузки данных еще выполняет построение индексов и обновляет статистику (если они есть в скрипте импорта)? А вот insert into этого не делает. Да, конечно. Меня волновало, да и продолжает волновать, скорость загрузки ИМЕННО данных. Дальнейшая обработка (процедуры, индексы и т.д.) - это второй этап. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 12:23 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Странно конечно, не должен dbimport быть настолько медленее. В скрипте импорта точно не было команд на построение индексов и обновления статистики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 12:39 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
AndronСтранно конечно, не должен dbimport быть настолько медленее. В скрипте импорта точно не было команд на построение индексов и обновления статистики?Надо смотреть в информиксе, случаи бывают разные http://groups.google.com/group/comp.databases.informix/msg/d0f32df0b151b88a?dmode=source ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 12:58 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyA Это было хорошее, теперь о плохом. По непонятной для меня причине и неизменных условиях (абсолютно одинаковые скрипты, разные таблицы) - результат работы зависел от фазы луны и направления ветра. Т.е. при том что в каждом случае сообщения в лог "inserted ..... rows" - в одних случаях записи в таблице-приемнике присутствовали, в других -нет. Оба сервера находились в режиме NoLogging. Не знаю в какую сторону думать. Неужели никто не обратил внимание на это !!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 15:53 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyAНеужели никто не обратил внимание на это !!!!!Ну я обратил. А ничего не написал потому что не понял: 1-е что вы делали и как, по сцылке я не ходил, во первых там наверняка не написано что конкрентно ВЫ делали, а во вторых мне лень, вам лень писать конретику, делать копипасты, а мы должны разбираться и догадываться что там было задумано и что получилось? 2-е не понял в чем проблема, не видел подробных логов, и т.д. и т.п. Короче: Вы написали: У меня подземный стук. Мы поржали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 16:05 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис 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 не содержит ни одного сообщения об ошибке, однако на самом деле все обстоит не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 18:29 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyA 4. dbaccess -e upload.sql upload.sql - скрипт содержащий строки вида insert into {table} select * from {db}@{server}:{table} результат выполнения этого скрипта - лог вида : inserted {N} rows не содержит ни одного сообщения об ошибке, однако на самом деле все обстоит не так. {включаю телепатию} Для формирования лога, естественно, использовалось что-то вроде Код: plaintext ... корректно ли грепался полученный лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 20:31 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
svat2 {включаю телепатию} Для формирования лога, естественно, использовалось что-то вроде Код: plaintext ... корректно ли грепался полученный лог? Если быть абсолютно точным, то upload.sql выглядел так: echo `date` >> upload.log dbaccess -e upload.sql > upload.log 2>&1 echo `date` >> upload.log количество записей в логе идентично количеству вызовов insert. на каждую запись получен ответ - inserted {N} rows. сообщений об ошибках нет, лог информикса девственно чист. Я в ступоре. Какая еще нужна информация ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 09:08 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyAсообщений об ошибках нет, лог информикса девственно чист. Я в ступоре. Какая еще нужна информация ?а dbschema пары таких табличек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 12:07 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
я бы поступил следующим образом (первое, что приходит в голову): 1) вычленил набор таблиц, в которые "не вставляется" 2) попытался проделать эту операцию интерактивно (вручную) на данных таблицах (с пом. того же eSQLeditor, к примеру) 3) в зависимости от результата: 3.1) если вставляется без ругательств - переместил бы соотв. строки из update.sql в конец/начало скрипта, чтобы выявить зависимость от связанных таблиц и попробовал еще раз 3.2) если вставляется/не вставляется с ругательствами - курил бы мануалы, много думал :). К примеру: что общего между этими таблицами (используются уникальные типы полей, их длина и т.п., м.б. другой владелец таблицы, права доступа и т.д.) ЗЫ. и, пожалуйста, пишите как советует FAQ и Журавлев: цитатами, копипастами, кусками лога. Т.е. вместо "лог девственно чист" должно быть что-то вроде Код: plaintext 1. 2. а вместо "количество записей в логе идентично количеству вызовов insert." было бы приятно знать, что действительно было выполнено корректное cравнение а-ля Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 12:10 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Журавлев Дениса dbschema пары таких табличек? Выдержка из dbschema для одной из таблиц, по которым не перенеслись данные. файл выгруженной схемы без изменений использовался для создания новой схемы (правда по частям - сначала создание таблиц, затем заливка данных, а потом создание остальных компонентов - процедур, триггеров и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 12:24 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyAсоздание таблиц, затем заливка данных, а потом создание остальных компонентов - процедур, триггеров и т.д.)Я просил 2-х таблиц DBDATE установлен для среды в которой " dbaccess -e upload.sql " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 12:36 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Журавлев ДенисЯ просил 2-х таблиц DBDATE установлен для среды в которой " dbaccess -e upload.sql " Выложил. Для обоих платформ DBDATE = DMY4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 13:17 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
SkSergeyA Выложил.Не одну таблицу с разных серверов, а две которые не залились с того в который вливали. SkSergeyAДля обоих платформ DBDATE = DMY4Т.е. вы хотели сказать что оба информикса запущены в окружениях в которых DBDATE = DMY4? Да? А dbaccess запускался в окружении в котором установлен DBDATE = DMY4 ? Или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 13:50 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Журавлев ДенисНе одну таблицу с разных серверов, а две которые не залились с того в который вливали. SkSergeyAДля обоих платформ DBDATE = DMY4Т.е. вы хотели сказать что оба информикса запущены в окружениях в которых DBDATE = DMY4? Да? А dbaccess запускался в окружении в котором установлен DBDATE = DMY4 ? Или как? Извините, не понял сразу. Выложил две таблички. Да,для обоих платформ DBDATE = DMY4 и dbaccess запускался в таком окружении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 14:48 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
Вы вручную из dbaccess запускали ваши скрипты, которые не вставляют записи ? Какие сообщения были ? В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 20:26 |
|
||
|
Промежуточная неудача
|
|||
|---|---|---|---|
|
#18+
ВыбегаллоВы вручную из dbaccess запускали ваши скрипты, которые не вставляют записи ? Какие сообщения были ? В таком вот аксепте Еще нет. Сижу в трансе. Думаю - кому верить. Прежде чем объединить все команды на загрузку данных, было проведено около десятка проб, с разным количеством таблиц и объемом закружаемых данных. Все они успешно отработали. И все они проверялись вручную из dbaccess. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 15:48 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=44&tid=1608059]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 286ms |
| total: | 473ms |

| 0 / 0 |
