Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

Загрузка объемных данных в рамках одной транзакции   Найти похожие ветки 

 
DiamondShark ©   (2006-07-23 09:44) [40]


> поэтому пакетная текстовая заливка (bcp) не "катит"

Не "поэтому", а потому что кто-то BOL ленится читать.

См. раздел
Performing Bulk Copy Operations

BCP для таких вещей -- самое то что надо. Данные заливаются со скоростью молнии, смазанной салом.

Если кому интересно -- стукнитесь в почту или асю...
Вышлю дельфишные интерфейсный модули для ODBC и BCP, или примерчики какие-нибудь.


 
DiamondShark ©   (2006-07-23 10:28) [41]


> Медведъ   (19.07.06 13:01) [37]

XML ну никак не предназначен для заливки больших объёмов...


 
Anatoly Podgoretsky ©   (2006-07-23 11:39) [42]

MsGuns ©   (14.07.06 16:18)  
Требуется сделать следующее:
1. Создать в БД таблицу, если ее нет, или очистить от записей, если есть
2. Создать ХП вставки в таблицу
3. С помощью этой ХП из текстового файла загрузить в таблицу данные (порядок - от сотни тысяч до миллионов)
4. ХП удалить из БД
5. Транзакцию подтвердить.
6. В случае ошибки создания (очистки) таблицы или создания ХП транзакцию откатить, оставив таблицу в прежнем состоянии

1. Создать в БД таблицу вне зависимости есть данные или нет. Это быстрее, чем удалять записи
2.
3.
4. ХП удалить из БД вне зависимости от состояния
5.
6. при откате транзакции ничего делать не надо, кроме удаления ХП
поэтому операцию удаления ХП выносим за рамки пунктов 1-6

Все это можно сделать с помощью сгенерированого скрипта, в EM и после небольшой заточки использовать его.
Заливку даннных делать с помощью BCP из ранее подготовленных данных.
Возможны варианты.


 
Anatoly Podgoretsky ©   (2006-07-23 11:43) [43]

DiamondShark ©   (23.07.06 10:28) [41]
Это точно, проверено на практике. Есть одна задача импорт данных из старой программы на основе DBF в MS SQL.
Ее можно выполнить двумя путями, через импорт с помощью XML или с помощью прямого импорта из DBF таблиц. Суммарный размер базы порядка 500 мегабайт.
Первый путь требует свыше 7 дней и гигабайты памяти, второй три часа и ничтожно мало памяти. Повальное увлечение новомодными технологиями до добра не доводит.


 
Anatoly Podgoretsky ©   (2006-07-23 11:45) [44]

AlexAlex   (20.07.06 18:36) [39]
В MS SQL есть несколько аналогов, например заливка с помощью DTS, скорость несколько десятков тысяц в секунду.


 
Медведъ   (2006-07-23 17:06) [45]

>Anatoly Podgoretsky
насчет повального увлечения  - автор вроде ничего не говорил про 500 мегабайтные dbf-таблицы, к тому же
3. С помощью этой ХП из текстового файла загрузить в таблицу данные (порядок - от сотни тысяч до миллионов)

а файл мы на сервер предварительно по фтп зальем, да ?
красота
давайте сразу про терабайты говорить, тогда вообще проще жесткий диск по почте переслать в другой город где сервер находится


 
Медведъ   (2006-07-23 17:09) [46]

и вообще я привел програмное решение, если мне просто нужен импорт я замечательно пользую DTS Wizard


 
Anatoly Podgoretsky ©   (2006-07-23 17:12) [47]

Медведъ   (23.07.06 17:06) [45]
Ты потерял нить обсуждение, речь шла про повальное увлечение XML а не DBF и про то, что XML для таких объемов не подходят.


 
Anatoly Podgoretsky ©   (2006-07-23 17:13) [48]

Медведъ   (23.07.06 17:09) [46]
Вот и мы про тоже
В MS SQL есть несколько аналогов, например заливка с помощью DTS, скорость несколько десятков тысяц в секунду.


 
Медведъ   (2006-07-23 17:23) [49]

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


 
Медведъ   (2006-07-23 17:24) [50]

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



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.042 c
3-1153126192
nkolya
2006-07-17 12:49
2006.09.24
Синхронизация двух БД


1-1155134251
Чапаев
2006-08-09 18:37
2006.09.24
Pos() RTL


15-1157395719
Колдун
2006-09-04 22:48
2006.09.24
Рисование поверх всех окон


2-1156982136
AlDun
2006-08-31 03:55
2006.09.24
Access Violation


4-1148412487
Mr tray
2006-05-23 23:28
2006.09.24
из приложения добавить языковую раскладку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский