powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / DB2 UDB 8.2 vs. Oracle 9i
23 сообщений из 48, страница 2 из 2
DB2 UDB 8.2 vs. Oracle 9i
    #32775202
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775234
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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)
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775236
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
почитал не врубился

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 ... но как это спасает от краха всего сервера когда эта процедура сожрет всю память ?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775251
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Максимум что произойдет - грохнется коннект клиента (FENCED NOT THREADSAFE) или ХП вернет ошибку (FENCED THREADSAFE)

одновременно запостили :)
зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775269
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сомнительное достоинсто хотя и доступно в 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
Почитаете сами?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775279
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
2EugeneS
вопросы оптимизации мы уже достаточно подробно обсудили, давайте что-нибудь новое

http://www.sql.ru/forum/actualthread.aspx?tid=94928
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775286
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!>зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ?

Ну, если "всю" - память, то это не "небольшой" ) Думаю если небольшой, то сессия закончится раньше, чем все грохнется.

Мой любимый анекдот:
Программер пишет код на ассемблере:
m1: ...
...
jump m1;
jump m1;

Его спрашивают - почему 2 джампа?
Ответ: а вруг первый не сработает?....
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775308
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
gardenman Yo!>зачем грохаться - в C коде же нет ошибок, просто небольшой мемори лик, т.е. этот агент скушает всю доступную память и ни FENCED ни THREADSAFE ему это не помешают, правильно ?

Ну, если "всю" - память, то это не "небольшой" ) Думаю если небольшой, то сессия закончится раньше, чем все грохнется.



в смысле сесия закончится раньше ? если это конекшен пулинг то она никогда не закончится, если нет то в лучшем случае в конце рабочего дня. ну а за 8-10 часов потехоньку сожрать память имхо не проблема ...

может агент как-то принудительно чистит память после выполнения процедуры?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775337
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Yo
может агент как-то принудительно чистит память после выполнения процедуры?[/quot]
Вроде для threadsafe всякий раз будет запускаться своя нить. Нить выполнилась - ресурсы связанные с ней освободились. Объекты у threadsafe - все в стеке.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775383
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
gardenman
Вроде для threadsafe всякий раз будет запускаться своя нить. Нить выполнилась - ресурсы связанные с ней освободились. Объекты у threadsafe - все в стеке.

а ну да ... догично :) итак до 8.2 это был ежинственный вариант писать сп, а в этом году вышел 8.2 и там уже как у всех есть своя VM для сторед процедур ?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775412
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Yoа ну да ... догично :) итак до 8.2 это был ежинственный вариант писать сп, а в этом году вышел 8.2 и там уже как у всех есть своя VM для сторед процедур ?[/quot]
Ну до 8.2 было так или как в Оракле с NATIVE.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32775438
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SNC Alexander Mozhaev

В промышленной эксплуатации примерно такого размера и количеством пользователей. OLTP и аналитика.

В 8.2 нормальные сторед процедуры - ничего подключать и вызывать дополнительно не надо.

DB2 - целое семейство продуктов для управления данными а не только одна субд

Оракл тоже не просто субд, особенно в ЕЕ реализации. остается открытым вопрос с блокировками в дб2 - насколько это тормозно по сравнению с версионностью. через какой механизм работать с базами из под дельфи? Какие сильные стороны есть вообще у дб2? Если все как у всех тогда зачем его выбирать, изучать, когда есть известный оракл.

Работаю с DB2 из delphi.
Да как и сдругими субд - все что нужно есть, см. встроенные возможности delphi
Есть сторонние библиотеки для работы через нативный интерфейс, он по описанию на odbc похож
Как напишешь так и будет.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32776482
SNC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNC
Гость
Тогда еще один вопрос - если в серверах все так одинаково, то по каким параметрам выбирается один и отвергается другой?
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32776804
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
в серверах все не так уж одинаково, почитай ссылки что я дал + найди идентичные на ibm.com
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32776834
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SNCТогда еще один вопрос - если в серверах все так одинаково, то по каким параметрам выбирается один и отвергается другой?

Деньги, политика.
Политика, деньги.

:-)
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32777030
SNC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SNC
Гость
Alexander MozhaevДеньги, политика.
Политика, деньги.

:-)
Ясно. Особенности национальной автоматизации. а после того как сервер навязан каждый начинает хвалить то на чем работает.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32777566
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На вскидку по поводу:
[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
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32777609
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
автор
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

согласен, поэтому чел должен выбрать приоритетные для себя позиции и посмотреть у кого они круче ...
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32780700
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanОтличия естественно есть.
Например у Оракла может оптимизировать план запроса для выборки первой записи. У DB2 это несколько шире - OPTIMIZE FOR n ROWS.


В Оракл это тоже есть через хинты.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32781715
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
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
поддерживать.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32782852
EugeneS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор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.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32783035
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Index-Organazed Table - MDC чем-то похожи. Но МDC больше похоже на Таблицу с кластерным индексом. Только кластеризация не по одному столбцу а по нескольким.
...
Рейтинг: 0 / 0
DB2 UDB 8.2 vs. Oracle 9i
    #32783516
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://info.star.spb.ru/Oracle/Oracle9i_doc/appdev.901/a88876/adg07iot.htm
Особой (или принципиальной) разницы между Index-Organized таблицами Оракла и кластерными таблицами в других базах (Sybase,MS SQL, DB2) - не вижу.
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / DB2 UDB 8.2 vs. Oracle 9i
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]