Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
gardenmanОтличия естественно есть. Например DB2 хранит NULL значения в индексах, а Оракл -нет. [quot автор]Например у Оракла может оптимизировать план запроса для выборки первой записи. У DB2 это несколько шире - OPTIMIZE FOR n ROWS. Выдержка. Oracle9i Database Reference Release 2 (9.2) Part Number A96536-02 OPTIMIZER_MODE first_rows_n The optimizer uses a cost-based approach, regardless of the presence of statistics, and optimizes with a goal of best response time to return the first n rows (where n = 1, 10, 100, 1000). first_rows The optimizer uses a mix of costs and heuristics to find a best plan for fast delivery of the first few rows. Так что не в тему. авторУ Оракла есть хинты для явного указания индексов по которым строить запрос, а у DB2 - 10 уровней оптимизации и такая конструкция как SELECTIVITY. Что лучше - однозначно не ответить. Что подразумевается под уровнями оптимизации? авторВ DB2 есть нечто подобное - INDEX EXTENSION. Но оно используется со структурными типами и трудоемко в реализации. Тоже присутствует, но это как правило , для написание своего способа индексирования. авторОпять же в ДБ2 лично мне нравится возможность написания ХП на чистом С++. Сомнительное достоинсто хотя и доступно в Oracle. Кроме того есть возможность компилить XП не в P-COD PL/SQL а в NATIVE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:21 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
FENCED or NOT FENCED - выполнять в адресном пространстве ядра СУБД или нет This clause specifies whether the stored procedure is considered "safe" to run in the database manager operating environment's process or address space (NOT FENCED), or not (FENCED). If a stored procedure is registered as FENCED, the database manager protects its internal resources (for example, data buffers) from access by the procedure. All procedures have the option of running as FENCED or NOT FENCED. In general, a procedure running as FENCED will not perform as well as a similar one running as NOT FENCED. CAUTION: Use of NOT FENCED for procedures that have not been adequately checked out can compromise the integrity of DB2. DB2 takes some precautions against many of the common types of inadvertent failures that could occur, but cannot guarantee complete integrity when NOT FENCED stored procedures are used. Either SYSADM authority, DBADM authority, or a special authority (CREATE_NOT_FENCED) is required to register a stored procedure as NOT FENCED. Only FENCED can be specified for a stored procedure with LANGUAGE OLE or NOT THREADSAFE. 7 LANGUAGE CLR stored procedures cannot be created when 7 specifying the NOT FENCED clause (SQLSTATE 42601). THREADSAFE or NOT THREADSAFE - запускать отдельно нитью или нет Specifies whether the procedure is considered safe to run in the same process as other routines (THREADSAFE), or not (NOT THREADSAFE). If the procedure is defined with LANGUAGE other than OLE: If the procedure is defined as THREADSAFE, the database manager can invoke the procedure in the same process as other routines. In general, to be threadsafe, a procedure should not use any global or static data areas. Most programming references include a discussion of writing threadsafe routines. Both FENCED and NOT FENCED procedures can be THREADSAFE. If the procedure is defined as NOT THREADSAFE, the database manager will never invoke the procedure in the same process as another routine. For FENCED procedures, THREADSAFE is the default if the LANGUAGE is JAVA 7 or CLR . For all other languages, NOT THREADSAFE is the default. If the procedure is defined with LANGUAGE OLE, THREADSAFE may not be specified В сущности так - если NOT FENCED - процедура работает в адресном пространстве агента, а не ядра. А если - THREADSAFE - до аген запустит еще и дополнительную нить и не будет использовать глобальные и статические данные своего процесса. Максимум что произойдет - грохнется коннект клиента (FENCED NOT THREADSAFE) или ХП вернет ошибку (FENCED THREADSAFE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:33 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
почитал не врубился FENCED or NOT FENCED This clause specifies whether the stored procedure is considered "safe" to run in the database manager operating environment's process or address space (NOT FENCED), or not (FENCED). хорошо помечаем процедуру как FENCED, она теперь будет "safe" to run in the database manager operating environment's process ... но как это спасает от краха всего сервера когда эта процедура сожрет всю память ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:33 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
>Максимум что произойдет - грохнется коннект клиента (FENCED NOT THREADSAFE) или ХП вернет ошибку (FENCED THREADSAFE) одновременно запостили :) зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:38 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
>Сомнительное достоинсто хотя и доступно в Oracle. >Кроме того есть возможность компилить XП не в P-COD PL/SQL а в NATIVE. Никто с этим не спорит. Но попробуйте в этом коде поюзать STL или какие-нибудь низкоуровневые функции операционной системы ) >OPTIMIZER_MODE first_rows_n - чтож, это не ставит ДБ2 ни ниже ни выше Оракла. Так и запишем - в этом месте они одинаковы. >Что подразумевается под уровнями оптимизации? http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001007.htm Почитаете сами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:44 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
2EugeneS вопросы оптимизации мы уже достаточно подробно обсудили, давайте что-нибудь новое http://www.sql.ru/forum/actualthread.aspx?tid=94928 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:47 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
Yo!>зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ? Ну, если "всю" - память, то это не "небольшой" ) Думаю если небольшой, то сессия закончится раньше, чем все грохнется. Мой любимый анекдот: Программер пишет код на ассемблере: m1: ... ... jump m1; jump m1; Его спрашивают - почему 2 джампа? Ответ: а вруг первый не сработает?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:49 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
gardenman Yo!>зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ? Ну, если "всю" - память, то это не "небольшой" ) Думаю если небольшой, то сессия закончится раньше, чем все грохнется. в смысле сесия закончится раньше ? если это конекшен пулинг то она никогда не закончится, если нет то в лучшем случае в конце рабочего дня. ну а за 8-10 часов потехоньку сожрать память имхо не проблема ... может агент как-то принудительно чистит память после выполнения процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:56 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
[quot Yo может агент как-то принудительно чистит память после выполнения процедуры?[/quot] Вроде для threadsafe всякий раз будет запускаться своя нить. Нить выполнилась - ресурсы связанные с ней освободились. Объекты у threadsafe - все в стеке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 13:04 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
gardenman Вроде для threadsafe всякий раз будет запускаться своя нить. Нить выполнилась - ресурсы связанные с ней освободились. Объекты у threadsafe - все в стеке. а ну да ... догично :) итак до 8.2 это был ежинственный вариант писать сп, а в этом году вышел 8.2 и там уже как у всех есть своя VM для сторед процедур ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 13:23 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
[quot Yoа ну да ... догично :) итак до 8.2 это был ежинственный вариант писать сп, а в этом году вышел 8.2 и там уже как у всех есть своя VM для сторед процедур ?[/quot] Ну до 8.2 было так или как в Оракле с NATIVE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 13:34 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
SNC Alexander Mozhaev В промышленной эксплуатации примерно такого размера и количеством пользователей. OLTP и аналитика. В 8.2 нормальные сторед процедуры - ничего подключать и вызывать дополнительно не надо. DB2 - целое семейство продуктов для управления данными а не только одна субд Оракл тоже не просто субд, особенно в ЕЕ реализации. остается открытым вопрос с блокировками в дб2 - насколько это тормозно по сравнению с версионностью. через какой механизм работать с базами из под дельфи? Какие сильные стороны есть вообще у дб2? Если все как у всех тогда зачем его выбирать, изучать, когда есть известный оракл. Работаю с DB2 из delphi. Да как и сдругими субд - все что нужно есть, см. встроенные возможности delphi Есть сторонние библиотеки для работы через нативный интерфейс, он по описанию на odbc похож Как напишешь так и будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 13:46 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
Тогда еще один вопрос - если в серверах все так одинаково, то по каким параметрам выбирается один и отвергается другой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 04:30 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
в серверах все не так уж одинаково, почитай ссылки что я дал + найди идентичные на ibm.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 10:23 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
SNCТогда еще один вопрос - если в серверах все так одинаково, то по каким параметрам выбирается один и отвергается другой? Деньги, политика. Политика, деньги. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 10:33 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
Alexander MozhaevДеньги, политика. Политика, деньги. :-) Ясно. Особенности национальной автоматизации. а после того как сервер навязан каждый начинает хвалить то на чем работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 11:25 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
На вскидку по поводу: [quot Yo!]Technical Comparison of Oracle9i Database vs. IBM DB2 UDB V8.1: Focus on Performance http://www.oracle.com/technology/deploy/performance/pdf/CWP_9IVSDB2_PERF.PDF Indexing capabilities Oracle: Wide variety of indexing schemes DB2: Only B-Tree and dynamic bitmap indexes Конечно это не совсем индексы, но в Оракле этого пока нет: http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/c0009070.htm?resultof=%22%4d%44%43%22%20%22%6d%64%63%22%20 Additional data warehousing capabilities Oracle: MERGE Multi-table INSERT DB2: Not supported Not supported http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0010873.htm Intelligent advisories Oracle: Index, Summary, Memory, MTTR DB2: Index advisory only http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/c0005144.htm По другим "наездам" тоже можно покапаться и что-нить найти. Вывод: где-то Оракл впереди, где-то Db2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:13 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
автор Indexing capabilities Oracle: Wide variety of indexing schemes DB2: Only B-Tree and dynamic bitmap indexes Конечно это не совсем индексы, но в Оракле этого пока нет: http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/c0009070.htm?resultof=%22%4d%44%43%22%20%22%6d%64%63%22%20 на картинках очень смахивает на оракловые вложеные таблицы ... авторВывод: где-то Оракл впереди, где-то Db2 согласен, поэтому чел должен выбрать приоритетные для себя позиции и посмотреть у кого они круче ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 14:30 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
gardenmanОтличия естественно есть. Например у Оракла может оптимизировать план запроса для выборки первой записи. У DB2 это несколько шире - OPTIMIZE FOR n ROWS. В Оракл это тоже есть через хинты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2004, 23:01 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
автор Additional data warehousing capabilities Oracle: MERGE Multi-table INSERT DB2: Not supported Not supported http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0010873.htm Merge Поддерживается начиная с 8.1.4. автор Intelligent advisories Oracle: Index, Summary, Memory, MTTR DB2: Index advisory only http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/c0005144.htm Ну как минимум до 8.2 было все кроме Summary. А в 8.2 все это совмещенное Indexes, MQT (Materialized views), Indexes on MQT, MDC, Partitioning. То есть все оценивается сразу вместе, а не по раздельности. автор По другим "наездам" тоже можно покапаться и что-нить найти. Вывод: где-то Оракл впереди, где-то Db2 Никто не сомневается. После выхода 8.2 Oracle тоже решил активно .Net поддерживать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 10:40 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
авторIdexing capabilities Oracle: Wide variety of indexing schemes DB2: Only B-Tree and dynamic bitmap indexes Конечно это не совсем индексы, но в Оракле этого пока нет: http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/c0009070.htm?resultof=%22%4d%44%43%22%20%22%6d%64%63%22%20 В Oracle это называется IOT ( Index-Organazed Table ) и присутствует с версии 8i. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 17:26 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
Index-Organazed Table - MDC чем-то похожи. Но МDC больше похоже на Таблицу с кластерным индексом. Только кластеризация не по одному столбцу а по нескольким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 19:09 |
|
||
|
DB2 UDB 8.2 vs. Oracle 9i
|
|||
|---|---|---|---|
|
#18+
http://info.star.spb.ru/Oracle/Oracle9i_doc/appdev.901/a88876/adg07iot.htm Особой (или принципиальной) разницы между Index-Organized таблицами Оракла и кластерными таблицами в других базах (Sybase,MS SQL, DB2) - не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2004, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32782852&tid=1554011]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 398ms |

| 0 / 0 |
