Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
ggv
Member

Откуда:
Сообщений: 1810
что-то мне сдается, что уважаемый gybson не имеет понятия, как в нормальных услорвиях происходит доступ к промышленным системам, в том числе и по вопросу инсталляции, upgrade, и так далее.
10 мар 06, 14:33    [2435438]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
ggv
Member

Откуда:
Сообщений: 1810
К тому, что написал Viktor, добавлю - даже очень тщательно написанный код требует прохождения вывереной бизнес процедуры прежде чем попадет в производство.
Это целый регламент, который как раз и разрабатывался для исключения исключительных случаев.
10 мар 06, 14:35    [2435447]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
1024
Member

Откуда: Нижний Новгород
Сообщений: 14267
автор
Ещё хочу заметить, что MSSQL не может передавать коннект в ХП. То есть из ХП надо обратно соединятся с базой, что бы там что-то сделать


мда...
10 мар 06, 14:37    [2435456]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
1024
автор
Ещё хочу заметить, что MSSQL не может передавать коннект в ХП. То есть из ХП надо обратно соединятся с базой, что бы там что-то сделать


мда...

Я так полагаю товарищ имелл в виду ВНЕШНИЕ хп.
10 мар 06, 15:07    [2435628]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
gybson
Member

Откуда:
Сообщений: 1107
Есть набор системных внешних процедур, в которых до сих пор иногда находят баги.

А в остальном разумеется, не было еще никогда такого, чтобы баг пролез в рабочую систему, что вы.
10 мар 06, 16:06    [2436088]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
pavelvp
Member

Откуда:
Сообщений: 673
Victor Metelitsa
Для потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.
Во, блин. Думал они вообще в отдельном процессе исполняются...
10 мар 06, 16:37    [2436265]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
pavelvp
Victor Metelitsa
Для потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.
Во, блин. Думал они вообще в отдельном процессе исполняются...

Это у Оракла
10 мар 06, 18:14    [2436767]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
Когда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее.
10 мар 06, 18:22    [2436788]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Yo.!!
Guest
gardenman
Когда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее.


NOT FENCED быстрее, но может завалить весь сервер ?
а теперь они в бэкапе участвуют или и теперь это отдельно осью нужно бэкапить ?
10 мар 06, 18:28    [2436813]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Victor Metelitsa
Можно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет?

Про Оракл читаем здесь. PLSQL_OPTIMIZE_LEVEL initialization parameter. Для тех, кто в танке проводим аналогию с оптимизатором в С-компиляторе.
Про оптимизацию (точнее её отсутствие) в SQL Stored Procedures нам рассказывал в октябре прошлого года Daniel Cruikshank
в Rochester-e, MN. Он же сказал, что ХП написанная на языке третьего поколения (C, COBOL, ...) скорее всего будет работать быстрее написанной на SQL PL, так как накакой оптимизации генерированного С кода они в iSeries 5R3 не производят. У меня не было возможности проверить его слова, но он, что называется, величием опыта давит. Если ты ему не веришь - перехвати герерируемый С код и посмотри, что же там на самом деле.
10 мар 06, 18:44    [2436875]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
Victor Metelitsa
Выбегалло
Нет, типа "мы проапгрейдили AIX на QA боксе и теперь я не могу перекомпилировать процедуру и развернуть ее продакшене".

Если одна и та же DB2 (одинаковые бинарники) работает там и тут, что за проблема с компилятором? Странно мне такое слышать. Я из под Windows XP вполне могу делать программы для Windows 95.


Вы никогда не сталкивались с изменением поведения компиляторов при апгрейде ОС ? Как говорил Остап, " с таким счастьем - и на свободе".
10 мар 06, 19:23    [2437000]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
ggv
Выбегалло - ну вы хоть чушь не порите по вопросам, которые не входят в вашу компетенцию.
Statis SQL и packages как раз появились в давние времена, когда и речи не могло быть о наличии никакого компилятора на production server, это и было главным условием возникновения этих вещей. Со временем добавились SP.
И геммора небыло , правда, поскольку объектный файл не являлся составляющей базы, то использовались другие возможности (ОС) по его backup/restore и переносам.
Так пукнуть в лужу....


Гемор заключается в
а) необходимости иметь идентичный сервер на идентичной ос для компиляции процедур
б) необходимости тянуть с собой все dependancies для скомпилированной процедуры.
Вы с этим не согласны, или это для вас не гимор ? Сколько понадобится машин для тестирования миграции на новую версию ОС ?
10 мар 06, 19:32    [2437038]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Anton Demidov
Victor Metelitsa
Можно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет?

Про Оракл читаем здесь. PLSQL_OPTIMIZE_LEVEL initialization parameter. Для тех, кто в танке проводим аналогию с оптимизатором в С-компиляторе.
Про оптимизацию (точнее её отсутствие) в SQL Stored Procedures нам рассказывал в октябре прошлого года Daniel Cruikshank
в Rochester-e, MN. Он же сказал, что ХП написанная на языке третьего поколения (C, COBOL, ...) скорее всего будет работать быстрее написанной на SQL PL, так как накакой оптимизации генерированного С кода они в iSeries 5R3 не производят. У меня не было возможности проверить его слова, но он, что называется, величием опыта давит. Если ты ему не веришь - перехвати герерируемый С код и посмотри, что же там на самом деле.

Для меня это просто не имеет значения. Во-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании. Кстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться.
10 мар 06, 21:17    [2437242]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
pavelvp
Victor Metelitsa
Для потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.
Во, блин. Думал они вообще в отдельном процессе исполняются...

Когда fenced, то да. Процессы называются db2fmp.
10 мар 06, 21:26    [2437254]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Yo.!!
gardenman
Когда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее.


NOT FENCED быстрее, но может завалить весь сервер ?
а теперь они в бэкапе участвуют или и теперь это отдельно осью нужно бэкапить ?


Может завалить, да. Бекапить надо отдельно.
10 мар 06, 21:28    [2437257]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Выбегалло
Victor Metelitsa
Выбегалло
Нет, типа "мы проапгрейдили AIX на QA боксе и теперь я не могу перекомпилировать процедуру и развернуть ее продакшене".

Если одна и та же DB2 (одинаковые бинарники) работает там и тут, что за проблема с компилятором? Странно мне такое слышать. Я из под Windows XP вполне могу делать программы для Windows 95.


Вы никогда не сталкивались с изменением поведения компиляторов при апгрейде ОС ? Как говорил Остап, " с таким счастьем - и на свободе".

И с чистой совестью. Версия компилятора имеет значение, но причём тут собственно ОС (если игнорировать факт, что некоторые ОС поставляются с компиляторами)?
10 мар 06, 21:32    [2437264]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Выбегалло

Гемор заключается в
а) необходимости иметь идентичный сервер на идентичной ос для компиляции процедур
б) необходимости тянуть с собой все dependancies для скомпилированной процедуры.
Вы с этим не согласны, или это для вас не гимор ? Сколько понадобится машин для тестирования миграции на новую версию ОС ?


Да ладно пугать-то. Шла бы речь о каком-то закрученном GUI-приложении, это одно дело, но SP и UDF обычно используют очень ограниченный набор чего-то внешнего. Строковые функции да кое-что из самой DB2.
10 мар 06, 21:35    [2437268]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Victor Metelitsa
Anton Demidov
Victor Metelitsa
Можно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет?

Про Оракл читаем здесь. PLSQL_OPTIMIZE_LEVEL initialization parameter. ...

Для меня это просто не имеет значения.
Ну а зачем тогда спрашивать? Попонтоваться? Пальцы растопырить?

Victor Metelitsa
Во-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании.
спорьте о вкусе устриц, что вы никогда в жизни не пробовали. Ни Оракла, ни DB2/400 не видел, а зачем-то споришь. Ещё и генерируемый код перехватить не можешь.

Victor Metelitsa
Кстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться.
Факты, друг мой, факты где?
10 мар 06, 22:32    [2437355]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Anton Demidov
Victor Metelitsa
Anton Demidov
Victor Metelitsa
Можно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет?

Про Оракл читаем здесь. PLSQL_OPTIMIZE_LEVEL initialization parameter. ...

Для меня это просто не имеет значения.

Ну а зачем тогда спрашивать? Попонтоваться? Пальцы растопырить?

Был слабый шанс, что что-то полезное я всё-таки узнаю. Как-никак, с Oracle приходится иметь дело, а всех тонкостей не знаю. Главная причина, почему это оказалось неинтересно, была упомянута в "во-вторых". Я не верю, что тот параметр нам хоть на копейку помог бы, даже будь у нас 10g.

Но для чего вы вообще заговорили про AS/400 (она же iSeries)? Какое это могло иметь отношение к обсуждаемой теме (DB2 Express-C против - MS SQL Server 2000 )? Ведь, в отличие от DB2 for LUW, MS SQL, Oracle, Informix, Sybase, Firebird etc эта система, мягко говоря, не для всех. Попонтоваться и растопырить пальцы?


Victor Metelitsa
Во-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании.

спорьте о вкусе устриц, что вы никогда в жизни не пробовали. Ни Оракла, ни DB2/400 не видел, а зачем-то споришь. Ещё и генерируемый код перехватить не можешь.


Как это я Oracle не видел, когда я администрирую пару систем и прямо только что сообщил, что просматривал исходники на Oracle? Масса кода на PL/SQL. Правда, 8.1.7, но у одной скоро будет переезд на 9ir2? И как я могу перехватить генерируемый AS/400 код, если у нас AS/400 нет? С вами точно всё в порядке?


Victor Metelitsa
Кстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться.
Факты, друг мой, факты где?

Какие факты? Что проводятся какие-то оптимизации? Вы действительно хотите получить от меня ссылку на статью на developerworks, или на самом деле вам это неинтересно?
10 мар 06, 23:00    [2437422]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Victor Metelitsa
Был слабый шанс, что что-то полезное я всё-таки узнаю. Как-никак, с Oracle приходится иметь дело, а всех тонкостей не знаю. Главная причина, почему это оказалось неинтересно, была упомянута в "во-вторых". Я не верю, что тот параметр нам хоть на копейку помог бы, даже будь у нас 10g.
Верить не надо - надо самому проверять и тестировать. И именно на 10g - на девятке его нет.
Victor Metelitsa
Но для чего вы вообще заговорили про AS/400 (она же iSeries)?
Не я первый ушёл от основной темы топика. С другой стороны это то, что есть меня из DB2 (ну ещё DB2 7.1 for z/OS, но похоже, что я её знаю не больше, чем ты Оракл)
Victor Metelitsa
И как я могу перехватить генерируемый AS/400 код, если у нас AS/400 нет?
Я имел в виду просмотр генерируемого кода на вашей системе. И, в общем говоря, это хорошо, что у вас AS/400 нет - врагу не пожелаешь.
Victor Metelitsa
Какие факты? Что проводятся какие-то оптимизации? Вы действительно хотите получить от меня ссылку на статью на developerworks, или на самом деле вам это неинтересно?
Такие вещи указываются в документации. Я же привёл ссылку по Ораклу. Мне действительно было бы интересно и приятно увидеть, что DB2 for LUW работает в этом месте лучше iSeries. У меня тонны кода на Коболе и у меня, как у заядлого PL/SQL-щика, руки чешутся улучшить его быстродействие (за счёт лучшего использования SQL) и удобство поддержки (меньший объём кода) за счёт SQL PL, но пока ещё он очень "сырой" продукт.
11 мар 06, 00:50    [2437628]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
1. Загрузке ЦПУ далеко до 100% => Производительность привязана к IO => Как я понимаю, надо улучшать запросы.

А что написано про PLSQL_OPTIMIZE_LEVEL?
документация 10g
PL/SQL performance is improved across the board. Most improvements are automatic, with no action required from you. Global optimization of PL/SQL code is controlled by the PLSQL_OPTIMIZE_LEVEL initialization parameter. The default optimization level improves performance for a broad range of PL/SQL operations. Most users should never need to change the default optimization level.

Performance improvements include better integer performance, reuse of expression values, simplification of branching code, better performance for some library calls, and elimination of unreachable code.


Ни на копейку не поверю, что это как-то ускорит запросы. Особенно если люди принципиально отказываются использовать global temporary tables для временных данных и пользуются обычными.

2. DB2 для мэйнфреймов, DB2/400 и DB2 for LUW - это такие разные вещи, что лучше бы IBM их назвала DB2, DB3 и DB4 соответственно. Мы сейчас говорили бы об DB4 Express-C, и DB3 просто не всплыла бы в обсуждении, как и IMS (DB1?) ;-).

По моему мнению, Oracle или, скажем, MySQL, в этой теме если и не онтопик, то близко к нему, а вот AS/400 злостный оффтопик. Ведь речь идет о выборе для "обычных" людей, работающих с "обычными" x86-серверами.

3. У меня 8.1 уже нет, только 8.2, и C-код не генерируется.

4. Не могу сказать, что по той ораклиной ссылке много информации.

Я считаю, что к статьям, которые писали разработчики, можно относиться как к документации. Но прямо сейчас, к сожалению, "The IBM developerWorks Web site is currently under maintenance.".
12 мар 06, 12:42    [2439178]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0501rielau/index.html
Serge Rielau, Senior Software Developer, IBM

SQL PL tuning in the PVM

Gustavo Arocena, the architect of SQL Procedure, published SQL Procedures Performance: Hints and Tips in 2003. Since then, much has changed. Instead of cross-compiling SQL Procedures to C with embedded SQL, the DB2 V8.2 natively compiles and executes SQL Procedures using its PVM. In the process, some of the hints Arocena describes have found their way into the fledgling PVM optimizer. As you may have seen in the screenshots of the previous examples, some statements have no costs assigned to them. This is not because they are free, but because the statements either get combined with other statements in the PVM optimizer, or because the PVM can execute the SQL natively. In DB2 V8.2 PVM can, among other things, do the following:

* Perform most straight variable assignments
* Do very basic math, such as loop increments
* Combine chains of SET statements into a single VALUES INTO statement
* Rewrite CASE and IF THEN ELSE statements with embedded SET statements into CASE expressions
* Evaluate basic conditions such as “a<b”
* Pre-compute CASE condition and IF THEN ELSE conditions and jump into the right branch right away

The purpose of these optimizations is to avoid invocation of the regular SQL runtime interpreter wherever possible to shorten the code path. PVM is still young, but it in general outperforms SQL Procedures compiled prior to V8.2 primarily because of the improvements shown above.
12 мар 06, 19:34    [2439608]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Спасибо Victor, это как раз то, что меня интересовало. Похоже, что IBM движется в том же направлении, что и Оракл в вопросах развития встроенного языка программирования. Это не может не радовать.

По поводу оптимизации PLSQL: помимо указанной в приведённом отрывке оптимизации "не-SQL" кода, новый компилятор использует по возможности bulk-операции в SQL. Этому нет аналога в DB2 и DB4 (AS/400 и DB2 zOS). Не знаю насчет DB2 LUW.
Вкратце, это возможнось работы с массивами данных в SQL, например экономится время на фетчах для селектов. Можно вставить массив в таблицу ОДНОЙ операцией.

--
Антон
Per rectum ad astrum
12 мар 06, 20:12    [2439648]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Оригинальная DB2 появилась на мэйнфреймах, а вот что появилось раньше - AS/400 или DB2 на OS/2, я не в курсе (и, честно говоря, заниматься исследованиями не хочется). Когда я получил сидюк от знакомого, в его конторе AS/400 уже стояла, поэтому условно обозначил DB2/400 как DB3 и DB2 Common Server (превратившийся в DB2 for LUW) как DB4 ;-).

Что касается bulk operations, то, во-первых, в SQL PL у DB4 ( ;- ) ) нет массивов. Во-вторых, я помню "их" утверждение, что цикл FOR на DB4 оптимизируется целиком, как единое выражение, а не процедурный цикл. В-третьих, здесь я ещё не говорил, но вообще я против хранимых процедур на DB4; считаю, что её SQL достаточно богат, чтобы во многих случаях обходиться вообще без процедурного языка. За 10 лет я написал всего около десятка SP. Теперь возможности SQL ещё усилились, благодаря SELECT FROM UPDATE/INSERT/DELETE.
12 мар 06, 21:30    [2439730]     Ответить | Цитировать Сообщить модератору
 Re: DB2 Express-C против - MS SQL Server 2000 -???  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Про FOR я пока нашёл бумагу здесь: http://www.cs.ubc.ca/local/reading/proceedings/cascon96/pdf/fuh.pdf
но я читал про это не здесь, а из какого-то источника типа developerworks, т.е. это должно быть уже реализовано в DB2 for LUW.
12 мар 06, 23:38    [2439934]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить