Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 что выбрать ? SQLServer или DB2 или что то еще ?  [new]
начинающий_002
Guest
Заранее спасибо за совет !

есть три таблицы, в две инсертим, из третий читаем.

вставляем в

Insert1;

Insert2;

селектим из

Select1(работает не очень часто 10 - 15 в секунду, но все равно упоминаю.);

скорость вставки, примерно за 7 сек вставляет около 10.700 записей

статементs такие:

utx.begin();
Statement stmt = conn.createStatement();

в цикле загоняю от 10 до 50 инсертов в batch (хотелось бы больше),
типа:
stmt.addBatch( динамически создаем инсерт статемент );

"insert into Insert1 values(,,,,,,)";
"insert into Insert2 values(,,,,,,,)"

что бы отослать их всех одним скопом на сервак для выполнения:
int[] counts = stmt.executeBatch();
stmt.close();
utx.commit();


Вопросы:
есть ли способ ускорить вставку новых записей в
MS SQLServer или надо взять др. DB типа DB2 или Oracle или еще какую ?.
Есть ли способ при создании DB (буфера, пулы, и тд.), повлиять на скорость
работы DB ?



Наблюдение,
прога работает с SQLServer 2000 - 64, который стоит на очень быстрой машине
примерно с такой же скоростью как и с DB2 ESE, которая стоит на
слабой машине и устанавливалась с дефаултовыми значениями для буферов и таблиц.
В данных, вроде нет чего-то страшного(см. ниже).
Потоки данных не пересекаются ни под каким видом.


CREATE TABLE dbo.Insert1
(Id INT NOT NULL,
Cust INT NOT NULL,
Insert2Id INT NOT NULL,
Fl1 Real NOT NULL,
Fl2 Real NOT NULL,
Time BIGINT NOT NULL);

ALTER TABLE dbo.Insert1
ADD CONSTRAINT PK_id PRIMARY KEY (Id);

CREATE TABLE dbo.Insert2
(Id INT NOT NULL,
Source INT NOT NULL,
PairId INT NOT NULL,
fl1 Real NOT NULL,
fl2 Real NOT NULL,
TimeIn BIGINT NOT NULL);

ALTER TABLE dbo.Insert2
ADD CONSTRAINT PK_id PRIMARY KEY (Id);
14 дек 06, 20:19    [3538787]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

начинающий_002 wrote:
> есть ли способ ускорить вставку новых записей в
> MS SQLServer или надо взять др. DB типа DB2 или Oracle или еще какую ?.
да, пожалуй стоит взять другую БД... "нофсякей"....
Или взять БОЛ и почитать про BCP, что-ли... а то гонять по сетке тексты
(ну, это мелочь), а потом заставлять сервак парсить эту ересь....
накладно будет.

> Есть ли способ при создании DB (буфера, пулы, и тд.), повлиять на скорость
> работы DB ?
Дык, может усё-таки трабла не в серваке, а в аппликухе, написанно судя
по всему на c#? (кстате - телепаты в отпуске).

зы поправьте приложение - а там посмотрим...

Posted via ActualForum NNTP Server 1.3

15 дек 06, 19:32    [3544468]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8894
начинающий_002
Вопросы:
есть ли способ ускорить вставку новых записей ...

Как сказано выше - это зависит от многих причин...

Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более высокую скорость вставки в native format на быстрой машине в быстрой сети...
15 дек 06, 21:41    [3544798]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Sergey Ch wrote:
> начинающий_002
> Вопросы:
> есть ли способ ускорить вставку новых записей ...
>
> Как сказано выше - это зависит от многих причин...
>
> Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более
> высокую скорость вставки в native format на быстрой машине в быстрой сети...
.... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный
бинарный файл даст еще больший прирост... :-)

зы ничего личного.

Posted via ActualForum NNTP Server 1.3

18 дек 06, 13:08    [3549651]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Начинающий_002
Guest
Софтинушка написана на java.
спасибо.
19 дек 06, 20:42    [3557240]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Начинающий_002 wrote:
> Софтинушка написана на java.
"Боже! Одно лицо!" :-)
Всё равно посмотрите в сторону bulk copy - в жабе вроде как должны быть
интерфейсы.
Или попробуйте вызывать процедуру вставки с прибинденными параметрами
(вроде бы должно быть возможно).
Если такое таки да, возможно - можно рассмотреть вариант, когда одна
процедура принимает, скажем 10 наборов параметров - дабы за один
round-trip к серверу вставить 10 записей.

> спасибо.
та не за что, собссно....
зы по результатам - расскажите, плиз, что вышло. Не то чтобы очень
сильно, но - для общего развития - интересно. А там - вдруг пригодится
знание...

Posted via ActualForum NNTP Server 1.3

19 дек 06, 21:28    [3557314]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Erik
Member [заблокирован]

Откуда:
Сообщений: 47
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.
20 дек 06, 13:34    [3559824]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Funny_Falcon
Member

Откуда:
Сообщений: 447
Как это не странно звучит от меня ;-) но может MySQL :-)
21 дек 06, 10:47    [3564086]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Funny_Falcon wrote:
> Как это не странно звучит от меня ;-) но может MySQL :-)
Да, мускл - это зверь.... Без балды....
Некоторые фичи - в головном мозге не укладываются, можно только вытянуть
вдоль спинного....

Posted via ActualForum NNTP Server 1.3

21 дек 06, 12:07    [3564743]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Начинающий_002
Guest
Народ !
спасибо огромное всем,
Уточняю, :-).
Софтинушка под WAS 6.0.2
через JDBC инсертит записи в DB( MSSQL Server) по приходу из внешенго источника.
за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
Попробовал stored procedure на TSQL,
работает как зверь-20.000 записей вставляет в 1 сек в среднем.
Но это тепличные условия.:-). Нет WAS нет JDBC.
Сетка берет не много до 5%+-,
парсинг простого inserta делается в один проход, оптимизировать особо не чего :-(.
Очень надеюсь что MS сделал его правильно.

В реальности у меня IBM && MS работают вместе и тормоз может быть где-то на стыке.
Может кто уже попадал в такую ситуацию ?
25 дек 06, 19:29    [3580037]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
MX -- ALEX
Guest
Erik
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.


Cache 5.2
вставка 1 000 000 записей за секунду или меньше
25 дек 06, 22:14    [3580269]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
Начинающий_002
за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
1250 записей в секунду выглядит маловато.
Что значит bulk insertion(Batch)? Это именно bulk insert, т.е. используется IRowSetFastLoad? или используется команда bulk insert? Или это просто несколько инсертов в одном батче (и тогда это не имеет никакого отношения к bulk insert)?
26 дек 06, 11:36    [3581891]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
andsm
Начинающий_002
за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
1250 записей в секунду выглядит маловато.
Что значит bulk insertion(Batch)? Это именно bulk insert, т.е. используется IRowSetFastLoad? или используется команда bulk insert? Или это просто несколько инсертов в одном батче (и тогда это не имеет никакого отношения к bulk insert)?
Конечно, это не bulk insert, тем более, что написано "через JDBC"

bulk insert в MSSQL должен быстро вставлять. И в других БД тоже есть средства быстрой загрузки.
26 дек 06, 12:20    [3582282]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Flare
Member

Откуда:
Сообщений: 711
locky
.... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный
бинарный файл даст еще больший прирост... :-)
уел... уел...
26 дек 06, 13:07    [3582625]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
akurgan
Member

Откуда:
Сообщений: 13
utx.begin();

PreparedStatement stmt = conn.prepareStatement("insert into table_name values (:a1, :a2, :a3)");

for(..){
stmt.setString("a1", str1);
stmt.setString("a2", str2);
stmt.setString("a2", str2);
stmt.addBatch();
}

stmt.executeBatch();

stmt.close();

utx.commit();
26 дек 06, 17:15    [3584679]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
akurgan
Member

Откуда:
Сообщений: 13
Правда драйвер JDBC должен поддерживать batch updates иначе никакого прироста производительности не получить.
26 дек 06, 17:19    [3584703]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
MX -- ALEX
Erik
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.


Cache 5.2
вставка 1 000 000 записей за секунду или меньше

> /dev/nulll
Вставка 10 000 000 записей за секунду или меньше
26 дек 06, 17:36    [3584818]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
hvlad
Member

Откуда:
Сообщений: 11553
DocAl
MX -- ALEX
Erik
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.


Cache 5.2
вставка 1 000 000 записей за секунду или меньше

> /dev/nulll
Вставка 10 000 000 записей за секунду или меньше
А удаление - ваще мухой летает. Быстрее чем команду на консоль отправляешь
26 дек 06, 17:50    [3584898]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
locky

Funny_Falcon wrote:
> Как это не странно звучит от меня ;-) но может MySQL :-)
Да, мускл - это зверь.... Без балды....
Некоторые фичи - в головном мозге не укладываются, можно только вытянуть
вдоль спинного....
Posted via ActualForum NNTP Server 1.3
Например?)
29 дек 06, 16:34    [3598572]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
MX -- ALEX

Cache 5.2
вставка 1 000 000 записей за секунду или меньше



Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ?
3 янв 07, 09:56    [3603696]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
MX -- ALEX
Guest
Lepsik
MX -- ALEX

Cache 5.2
вставка 1 000 000 записей за секунду или меньше



Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ?


сцылку вставит
3 янв 07, 10:17    [3603730]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
начинающий_002
Guest
Народ !

ну попытаюсь выдать резюме.

Софтинушка работает как зверь, если с SQLServer работать через VB или C#(TSQL).
C Java(ой) быстро работать не хочет.

Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE).

Всем большое спасибо !
10 янв 07, 21:08    [3623904]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
c127
Guest
начинающий_002

Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE).

А что, руководство хочет остановиться сразу на обеих?
11 янв 07, 01:53    [3624349]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать ? SQLServer или DB2 или что то еще ?  [new]
начинающий_002
Guest
Тема закрыта.
Всем огромное спасибо.
12 янв 07, 17:40    [3634468]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить