Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Db2 Как много общего с Oracle  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1798
Добрый день,коллеги...
Хочу не сравнить ,а наоборот выделить общее.
Говорят,что Db2, сильно совместима по синтаксису с oracle..
SQL,PL/SQL многие системные пакеты типа dbms_pipe и т.д.
Рассматриваю возможность расширения КИС в частности к DB2 express(Добовльно много один даёт против того же oracle xe)
И возможное её использование в некоторых случаях вместо oracle.
(Понимаю,что db2 ,блокировочник,а не как oracle версионник)
КИС не наворченная по сложности sql и pl/sql.
(Есть ли аналогия апекса?)
Просьба высказываться каких пакетных функций не хватает.
Я видел сравнение pl/sql на сайте ibm ,но хотелось бы у практикующих уточнить.
13 окт 15, 08:57    [18270642]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
irbis_al,

Вот, можете поанализировать, что есть и чего не хватает: http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.apdv.plsql.doc/doc/c0053607.html. Да, у Oracle моря стандартных пакетов, в DB2 перенесено чуть-чуть. Не все возможности PL/SQL поддерживаются.

Полагаю ещё, что опытный ораклист будет от многого плеваться, потому что это пойдёт против его привычек, надо будет прилагать усилия и терпение. Только большое желание халявы может быть стимулом.

Кроме того, хотя очень многий SQL-ный и PL/SQL-ный код, по-видимому, пойдёт без переделок, PL/SQL-ный, возможно, будет сильно медленнее.

Мой опыт переноса невелик, я выдрал из HammerDB - пакет-заполнялку таблиц для TPC-C. Запустилось без переделок... но... мда... Впрочем, я мог что-то не учесть, и я ещё не раз вернусь к этой теме. Пока что...

Начать с того, что в коде интенсивное использование типа number - почти единственный ораклячий цифровой тип, и он во многих случаях будет мапиться на DB2-шный decfloat или decimal, операции с которыми (почему-то) не очень быстры. Желательно по возможности явно использовать integer-типы, иногда double (double не для денег, разумеется, а для тестов вроде HammerDB, где используется random), а decfloat/decimal только там, где записываются деньги.

При этом замена числовых типов (в коде из HammerDB) помогла только частично.

Вот после переписывания на DB2-шный синтаксис функция, которую я переписал, наоборот, стала выполняться много быстрее, чем в Oracle (благодаря тому, что стал возможен inline).

Но правка и переписывания - это именно то, что хотелось бы избежать? (Но, боюсь, переход куда-то ещё будет ещё сложнее).

С другой стороны, тот пресловутый пакет - это типичный продукт типичного ораклиста-клиппериста, который мыслит процедурами, а не операциями над множествами. По-хорошему, там могло быть просто несколько insert'ов с минимумом или вообще отсутствием PL/SQL-кода.
13 окт 15, 10:57    [18271246]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1798
Victor Metelitsa,

Благодарю,за ссылку..буду смотреть...и уже вижу,что есть "непокрытие" из того что пользую.
Только большое желание халявы может быть стимулом.

тут дело не в халяве,а в технической безопасности и дифференцировании зависимостей.
Когда винду начало колбасить(выпустили висту и пошло поехало)..я сделал большой рефакторинг на кросплатформенную КИС,чтобы не зависеть от мракобесия менеджера микрософт.(Сейчас основная Ось,это линукс...)

А сейчас заметил...оракле., блин уже не такой надёжный..
чем больше он поднимает версию...тем больше за ним "подтирать" приходится....Наработка на сбой...стала намного хуже...
конечно вырос функционал...но я 80% фич этого функционала не использую...а надёжность нужна.
13 окт 15, 11:37    [18271529]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
irbis_al
Добрый день,коллеги...
Хочу не сравнить ,а наоборот выделить общее.
Говорят,что Db2, сильно совместима по синтаксису с oracle..


Как альтернативу можно предложить PostgreSQL.
Как минимум они делают многое "как Oracle".
13 окт 15, 14:41    [18272864]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1798
mad_nazgul
irbis_al
Добрый день,коллеги...
Хочу не сравнить ,а наоборот выделить общее.
Говорят,что Db2, сильно совместима по синтаксису с oracle..


Как альтернативу можно предложить PostgreSQL.
Как минимум они делают многое "как Oracle".


Да я тоже смотрел в сторону PostgreSQL...
(И мне об более импонирует...хотя бы потому,что тоже версионник)
Но на мой взгляд там переделывать больше.
Если бы разработчики PostgreSQL. работали бы над общим синтаксисом с оракле(как это делает IBM)
я думаю они бы получили хорошие дивиденды.
13 окт 15, 14:58    [18272975]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
irbis_al
Да я тоже смотрел в сторону PostgreSQL...
(И мне об более импонирует...хотя бы потому,что тоже версионник)
Но на мой взгляд там переделывать больше.


Возможно. Я с DB2 работал мало, с Oracle и того меньше.
И их не сравнивал.
Но если был выбор, то всегда выбираю PostgreSQL, с ним проблем меньше (как минимум у меня). :-)

irbis_al
Если бы разработчики PostgreSQL. работали бы над общим синтаксисом с оракле(как это делает IBM)
я думаю они бы получили хорошие дивиденды.


Ну у PostgreSQL немного другая идеология.
Они не стремятся быть как Oracle, они хотят быть "идеологически выдержанными".
14 окт 15, 06:34    [18275593]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
mad_nazgul
Возможно. Я с DB2 работал мало, с Oracle и того меньше.
И их не сравнивал.
Но если был выбор, то всегда выбираю PostgreSQL, с ним проблем меньше (как минимум у меня). :-)

Я мельком посмотрел на pg и удивился их претензиям на наличие cost based optimizer - таким претензиям, что они даже против хинтов. Для OLTP-нагрузки оно, может, даже и сойдёт, а для OLAP/DWH как-то под большим сомнением. Авторы TPC-H-подобного бенчмарка HammerDB тоже сильно сомневаются.

А ещё на DB2 меня сильно разбаловал index advisor (ныне design advisor), который в комплекте даже бесплатной Express-C. Перейти на что-то без него - это ой-ой-ой какая проблема.
14 окт 15, 11:35    [18276724]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
kva6513
Member

Откуда:
Сообщений: 433
Victor Metelitsa
удивился их претензиям на наличие cost based optimizer

Ничего-то в этом мире не меняется... :) Этот их как-бы optimizer был одной из основных причин ухода с PostgreSQL на Oracle еще во времена версии Pg где-то в районе 7.3. Просто надоела ситуация, когда запрос объединяющий 3-5 таблиц имеет все шансы не закончится вообще никогда, если его не порезать на последовательность запросов, сохраняющих промежуточные результаты во временных таблицах. Впрочем, и после такой "магии" производительность "оставляла желать"... :(
14 окт 15, 12:05    [18276932]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Я ничего не исследовал, просто почитал популярную книжку и посмотрел, как там задаётся стоимость чтения диска.

Для диска нормально задавать два параметра - OVERHEAD (грубо говоря, время, когда головки перемещаются к нужному сектору) и TRANSFERRATE (когда перемещение состоялось и идёт передача - скорость передачи в каких-то единицах). Это очень важно при подсчёте разницы между полным сканированием таблицы или индекса и случайным доступом. Это есть у DB2 и Oracle в тех или иных формах.

У PG в настройках я увидел всего один параметр. Да, кстати, про мощность CPU там что-нибудь есть?

А у HammerDB PG не справился с их версией TPC-H. Учитывая, что это широко известный (в узких кругах) бенчмарк, это о чём-то говорит.

Короче, всё под большим вопросом, требует расследования - у меня сейчас нет большой мотивации этим заниматься.
14 окт 15, 12:25    [18277044]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Index advisor - какой-то запрос тормозит? скормил его advisor'у, тот насоветовал индексов, скорость повысилась в дикое количество раз.

Теперь зовётся design advisor, потому что может советовать MDC и MQT.

Аналог у Oracle стоит безумных бабок (первым делом, надо EE прикупать, а к ней две опции).
14 окт 15, 12:30    [18277080]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3795
Victor Metelitsa

У PG в настройках я увидел всего один параметр.

плохо искал
seq_page_cost (floating point)
random_page_cost (floating point)
14 окт 15, 12:31    [18277088]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3795
Victor Metelitsa
Я мельком посмотрел на pg и удивился их претензиям на наличие cost based optimizer - таким претензиям, что они даже против хинтов. Для OLTP-нагрузки оно, может, даже и сойдёт, а для OLAP/DWH как-то под большим сомнением.

для dwh сам постгрес плохо подходит. Как и оракл впрочим. Нужна нормальная mpp субд.
А на mpp я вам скажу даже постгресовский CBO в принципе сносно справляется.
14 окт 15, 12:34    [18277108]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3795
irbis_al
mad_nazgul
пропущено...


Как альтернативу можно предложить PostgreSQL.
Как минимум они делают многое "как Oracle".


Да я тоже смотрел в сторону PostgreSQL...
(И мне об более импонирует...хотя бы потому,что тоже версионник)

дб2 давно уже тоже версионник
14 окт 15, 12:38    [18277135]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Ivan Durak
Victor Metelitsa
У PG в настройках я увидел всего один параметр.

плохо искал
seq_page_cost (floating point)
random_page_cost (floating point)

Спасибо, а про мощь CPU?
14 окт 15, 13:08    [18277310]     Ответить | Цитировать Сообщить модератору
 Re: Db2 Как много общего с Oracle  [new]
Victor Metelitsa
Member

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

PostgreSQL Up and Running (second edition)
Another setting that influences the planner is the random_page_cost (RPC) ratio, which
is the relative cost of the disk in retrieving a record using a sequential read versus using random access. Generally, the faster (and more expensive) the physical disk, the lower the ratio. The default value for RPC is 4, which works well for most mechanical hard drives on the market today. The use of solid-state drives (SSDs), high-end storage area networks (SANs), or cloud storage makes it worth tweaking this value.


и ссылка на http://www.databasesoup.com/2012/05/random-page-cost-revisited.html

поэтому я ошибочно запомнил про один параметр (а всё равно второй "обычно равен единице"). Но всё равно видно, что люди себя измерением миллисекунд не утруждают, хотя pg-шный explain их из чего-то высасывает; всё это подозрительно.
14 окт 15, 20:20    [18279882]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить