Infobright/MySQL зареждане на данни във файл

Изпитвам блокиране, когато използвам множество едновременни команди LOAD DATA INFILE. Ето предисторията:

Разработих базиран на Java ETL инструмент, който зарежда плоски файлове в бази данни на Infobright (Infobright е колонна база данни, базирана на MySQL). В края на обработката зареждането се изпълнява с помощта на команда LOAD DATA INFILE. Този процес може да обработва зареждане в множество таблици и всяко зареждане се извършва паралелно, като се използва отделна връзка (от съображения за производителност).

Също така съм написал bash скрипт, който изпълнява този инструмент паралелно за множество файлове (за да спестя време на обработващата част, тъй като командите LOAD така или иначе ще бъдат сериализирани от DB сървъра). Това означава, че мога да имам множество команди LOAD DATA за една и съща целева таблица (от различни процеси).

Това, което очаквах, беше, че командата LOAD DATA ще бъде изпълнена по сериен начин, но в крайна сметка ще завърши. Въпреки това изпитвам задънена улица. Ако изпълня "show processlist", мога да видя, че всичките ми команди LOAD DATA са в състояние "System locked".

Някой имал ли е подобен проблем преди и намирал ли е решение?

Подробности: Използвам Infobright Enterprise Edition v3.5.2. Това е базирано на
MySQL 5.1.40. Моето ETL приложение използва Java 1.5.0_08 и Mysql
Connector Java v5.1.12. ОС: Centos 5.6 64 бита (Linux 2.6.18-238.12.1.el5)


person Filip    schedule 09.04.2012    source източник
comment
СЪЩО ТАКА бих предложил да използвате най-новото издание на Infobright 4.0.6 поради някои огромни подобрения, направени в командите LOAD DATA с по-добра нишка, както и добавяне на проверка на грешки на ниво ред за поддръжка.   -  person Craig Trombly    schedule 23.04.2012


Отговори (1)


Моля, уверете се, че имате достатъчно памет на вашата система, за да стартирате ETL процеса и скрипта. От външно разследване с вас беше установено, че работите на машина само с 1 GB RAM ([1002M/498M, 1/0,00]), което е много малко. Опитайте да тествате на обикновена машина от настолен клас (>4G RAM), както и на машина от производствен клас (>32G RAM).

person user1329252    schedule 12.04.2012
comment
Моля, не включвайте подписи в публикациите си. - person Aaron; 12.04.2012