Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Помогите оценить (сравнить) возможности Informix 9.4 (32bit и 64bit) с Oracle (последних версий). Обе СУБД исключительно на AIX. У меня познаний в Oracle никаких, поэтому задаю вопрос здесь, может кто ранее имел дело с Oracle, и может аргументированно сравнить эти системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 12:03 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
"Чтобы дать правильный ответ, надо знать, кто спросил..." - это мудрые китайцы говорили. Другими словами - зачем вам ответ на этот вопрос? Если вы все равно не знаете Oracle, то Informix лучше просто по определению. Вас интересует сравнение именно на AIX и 64 бита (тут у меня вообще нет никакого опыта...)? Теоретически, IBM Informix должен иметь бОльший "потенциал". Какое приложение предполагается создавать и с какой архитектурой... И так далее. Тем не менее, рискуя вызвать негодование, могу сформулировать следующее субъективное мнение. Сильные стороны Informix (на любой платформе): - DSA (многопоточная архитектура). Вы не получите по одному процессу AIX для каждого коннекта пользователя. Oracle MTS даже рядом не стоял, и, зачастую, не подходит для приложений. Субъективно это выражается в том, что Informix - "легче". Informix-у не нужен сервер приложений как способ хоть как-то поддержать сотни одновременно работающих пользователей на слабом сервере. - Informix - классический "блокировочник". Все понимают, как работает такая СУБД. Как работает Oracle понимает намного меньший процент его использующих... Даже Том Кайт (http://asktom.oracle.com) не всегда может объяснить, как работает Oracle и почему именно так (почитайте некоторые обсуждения на форуме по Oracle этого сайта) - В Informix всего меньше (сущностей, про которые надо думать администратору, параметров конфигурации, и меньше чего осваивать разработчику) - "У нас есть onstat!" - простые стандартные средства контроля сервера. Все прозрачно даже для тех, кто никогда ни одного SQL-оператора не написал... - "У нас есть ontape!" (от себя добавлю - и Onbar!) - простые и понятные стандартные средства командной строки для резервного копирования и восстановления данных - Репликация (HDR) - Informix больше любят (и лучше знают) те, кто использует. Чаще, чем использующие Oracle любят Oracle. (Это - субъективное ощущение). - В версии 9.40 сняты (проследние) архитектурные ограничения (вроде размера чанка 2 Гб, ограничений механизма репликации HDR и т.п.), которые всем мозолили глаза... Сильные стороны Oracle: - Oracle - "многоверсионник". Там нет в принципе множества проблем, которые приходится решать при многопользовательской работе на "блокировочниках". (Но есть другие...) - PL/SQL (все остальные средства разработки хранимого кода в других СУБД и близко не стоят, даже поддержка CLR в DB2 8.2, по интегрированности с SQL, красоте, эффективности и объему написанного и работающего кода) и стандартные пакеты (готовое решение есть почти для всего, что вам может понадобиться) - RMAN (если вы не поленились научиться им пользоваться) - Асинхронная репликация - PR, реклама, маркетинг, поддержка (сильные специалисты в московском представительстве, в Протвино, Кемерово и т.д.), возможность свободного доступа ко всем версиям сервера и HTTP-доступа к документации, в частности. - Наличие источников информации и знаний, а также "харизматических лидеров". Толковые книги, http://asktom.oracle.com, http://ixora.com.au, Джонатан Льюис, http://oaktable.net. Вы знаете хоть одного Informix-гуру по имени??? (Я парочку знаю...) Они занимаются публично поддержкой Informix? - И еще много аргументов со стороны Ораклоидов, которые они и без меня выдвинут... ----------------------------------------------------- Когда-то меня долго пинали (уважаемый Scott Tiger) за формальные сравнения Oracle 8.1.7 и Informix 7.31 по пунктам (которые, кстати, делались "по заказу") на этом форуме, но все же рискну дать еще ссылку: /topic/22276&pg=-1 Там много доводов приведено (и опровергнуто). Чемберлен - это я, в прошлой жизни... Такие дела. В.К. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 16:14 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
В.К."Чтобы дать правильный ответ, надо знать, кто спросил..." - это мудрые китайцы говорили. Другими словами - зачем вам ответ на этот вопрос? Если вы все равно не знаете Он хочет понять сколько лет ему придется переделывать софт (трудоемкостью ~15 чел/лет) отлично работающий на Информиксе, под Оракл. Соответсвенно Андрон хочет услышать почему ему придется переписать все хр.процедуры, все триггера, и несколько десятков тысяч SQL запросов. ЗЫЖ Руководство в очередной раз подумало (видимо задней извилиной) что пора перейти на Оракл, цена вопроса для них не имеет значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 16:33 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Я полный ноль в оракл, и двоечник по информиксу, можно вопрос? В.К.Informix - классический "блокировочник". Все понимают, как работает такая СУБД. Как работает Oracle понимает намного меньший процент его использующих... Даже Том Кайт (http://asktom.oracle.com) не всегда может объяснить, как работает Oracle и почему именно так (почитайте некоторые обсуждения на форуме по Oracle этого сайта) ........ - Oracle - "многоверсионник". Там нет в принципе множества проблем, которые приходится решать при многопользовательской работе на "блокировочниках". (Но есть другие...) Многоверсионник - значит что десять транзакции одновремменно изменят строку, и девять получат отлуп при комите? Или он версионник для "читающих" транзакций, и блокировочник для пишущих как новая субд от MS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 16:45 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Журавлев ДенисЯ полный ноль в оракл, и двоечник по информиксу, можно вопрос? Многоверсионник - значит что десять транзакции одновремменно изменят строку, и девять получат отлуп при комите? Или он версионник для "читающих" транзакций, и блокировочник для пишущих как новая субд от MS. Не надо прибедняться, особенно в отношении Informix... :) А надо читать документацию Oracle, Тома Кайта и обращаться с вопросами к господам Факеру, Scott Tiger-у и другим достойным специалистам по Oracle на соседнем форуме. Я в силу полученного образования могу представить себе квадратный трехчлен, но не десять транзакций сразу... Предположим, их всего две. "Многоверсионник" значит, что, по умолчанию, каждый оператор видит данные по состоянию на момент начала выполнения. Видит все зафиксированные на этот момент изменения, и ничего другого. Видит, несмотря на любые изменения, которые с этими же данными в этот момент происходят. Данные в согласованном виде (нужная "версия") берутся из ROLLBACK-сегментов. Оператор, изменяющий строку, устанавливает на нее блокировку. Транзакция, которая попытается изменить ту же строку второй, будет заблокирована. А вот если до того, как вторая транзакция начнет менять строку, но после того, как она ее прочитает в исходном виде (невзирая ни на что), первая транзакция ее изменит и закончится (фиксацией), вторая транзакция спокойно эту же строку изменит еще раз и пойдет дальше. А изменение, выполненное первой транзакцией, будет потеряно. А вот когда с этим феноменом начинают бороться, то, в зависимости от способа "борьбы", возможны разные варианты... Как-то так все это выглядит для моего расслабленного Informix-ом ума. В.К. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 17:45 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
В.К.Не надо прибедняться, особенно в отношении Informix... :) А надо читать документацию Oracle, Тома Кайта и обращаться с вопросами к господам Факеру, Scott Tiger-у и другим достойным специалистам по Oracle на соседнем форуме. Ну с Кайтом я бы это обсудил, но он далеко и в английском я слаб, а твой перевод еще не купил, вот и интересуюсь у тебя. В.К. Я в силу полученного образования могу представить себе квадратный трехчлен, но не десять транзакций сразу... Предположим, их всего две. "Многоверсионник" значит, что, по умолчанию, каждый оператор видит данные по состоянию на момент начала выполнения. Видит все зафиксированные на этот момент изменения, и ничего другого. Видит, несмотря на любые изменения, которые с этими же данными в этот момент происходят. Данные в согласованном виде (нужная "версия") берутся из ROLLBACK-сегментов. Оператор ВИДИТ, а изменить он может (вот в чем вопрос)? Многоверсионник (ib) - МОЖЕТ (а по комиту его откатят). В.К. Оператор, изменяющий строку, устанавливает на нее блокировку. Транзакция, которая попытается изменить ту же строку второй, будет заблокирована. А вот если до того, как вторая транзакция начнет менять строку, но после того, как она ее прочитает в исходном виде (невзирая ни на что), первая транзакция ее изменит и закончится (фиксацией), вторая транзакция спокойно эту же строку изменит еще раз и пойдет дальше. А изменение, выполненное первой транзакцией, будет потеряно. Сложно все это для моих опилок. Блокировки в Оракле все же есть. случай 1. Первая транзакция изменяет строку, но не фиксируется. Вторая транзакция пытается изменить строку и ее посылают (натыкается на блокировку первой). случай 2. Первая транзакция изменяет строку, но не фиксируется. Вторая транзакция читает строку и получает ее состояние до изменения первой (берет из ROLLBACK-сегмента). Вторая транзакция пытается изменить строку и ее посылают (натыкается на блокировку первой). Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 18:02 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
[quote] случай 1. Первая транзакция изменяет строку, но не фиксируется. Вторая транзакция пытается изменить строку и ее посылают (натыкается на блокировку первой). [/quote] Вторая транзакция висит и ждет, пока закончится первая. [quote] случай 2. Первая транзакция изменяет строку, но не фиксируется. Вторая транзакция читает строку и получает ее состояние до изменения первой (берет из ROLLBACK-сегмента). Вторая транзакция пытается изменить строку и ее посылают (натыкается на блокировку первой). [/quote] Вторая транзакция висит и ждет, пока закончится первая. Твой случай 2 не отличается от случая 1, потому что при UPDATE надо сначала найти (т.е. прочитать) строки, удовлетворяющие конструкции WHERE. Когда первая транзакция фиксируется, вторая отвисает. Но (если речь идет об UPDATE), проверяется, удовлетворяет ли ТЕПЕРЬ та строка, которую этот UPDATE прочитал раньше, критерию запроса. Если нет, значит - нет. Т.е. хитрый Oracle по умолчанию творчески интерпретирует понятие "начало выполнения оператора". Простой эксперимент это показывает (сам попробуй на двух сеансах). Об этом много писали здесь: /topic/106069 и здесь: http://ln.com.ua/~openxs/projects/oracle/ora071.html и сложно это не только для твоих опилок, но и вообще сложно для понимания. Потому что вставленных, например, первой транзакцией строк вроде бы как никто и не учитывает... Вобщем, Oracle работает как Oracle. И все ярлыки, даже "версионник", к нему не вполне применимы (беру его обратно). А КАК он работает, понимал покойный автор и, наверное, понимает Стив Адамс и еще с десяток людей. Нам же остается только наблюдать и ставить эксперименты. Это - дзен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 18:27 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Асинхронная репликация в Oracle ? В информиксе она тоже есть (Enterprise Replication) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 12:24 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Я знаю про ER в Informix, хотя никогда ее не только не использовал, но и не настраивал... Проблема в том, что при асинхронной мультимастер-репликации (когда одни и те же, по сути, данные изменяются в главном офисе и в филиале) надо как-то решать, какое изменение, в конечном итоге, принять (или как просочетать оба изменения). В Oracle, если не подходят простые решения, можно написать соответствующий код на языке PL/SQL. А что нам может предложить в этом случае Informix? (Пошел читать документацию...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 15:29 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
В.К.Я знаю про ER в Informix, хотя никогда ее не только не использовал, но и не настраивал... Проблема в том, что при асинхронной мультимастер-репликации (когда одни и те же, по сути, данные изменяются в главном офисе и в филиале) надо как-то решать, какое изменение, в конечном итоге, принять (или как просочетать оба изменения). В Oracle, если не подходят простые решения, можно написать соответствующий код на языке PL/SQL. А что нам может предложить в этом случае Informix? (Пошел читать документацию...) В общем случае informix может предложить создать синонимы на таблицы и повесить триггера на добавление(изменение). Или написать SPL процедуры и регулярно запускать. Главное чтобы режимы журналирования были одинаковы везде. смотреть в сторону create synonym...... С уважением, onstat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 17:01 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
В.К.[quot Журавлев Денис]Я полный ноль в оракл, и двоечник по информиксу, можно вопрос? Я в силу полученного образования могу представить себе квадратный трехчлен, но не десять транзакций сразу... Предположим, их всего две. Прошу прощения что встреваю малость не в тему ни Informix (которого не видал лет 10) ни Oracle (в котором ориентируюсь постольку-поскольку и который не совсем версионник или, скажем так, странный версионник). Я так, заскучал малость и заглянул по ностальгии и в будущем мозги парить с типа саморекламой не буду :-) Настоящих версионников сейчас 2 - Postgress и Firebird/InterBase (который был первым и некоторое время единственным, и с которым я и работаю уже 8 лет). На горизонте ещё маячит Yukon, концептуально почти 1:1 срисовываемый с последних с обещаемым развитием и улучшением. Так вот, версионники могут вести себя по разному в зависимости от уровня изоляции транзакции и режима разрешения блокировок. И даже от количества конкурирующих транзакций в одном из сочетаний уровень-режим ;) В.К. "Многоверсионник" значит, что, по умолчанию, каждый оператор видит данные по состоянию на момент начала выполнения. Видит все зафиксированные на этот момент изменения, и ничего другого. Видит, несмотря на любые изменения, которые с этими же данными в этот момент происходят. Данные в согласованном виде (нужная "версия") берутся из ROLLBACK-сегментов. Это описание уровня изоляции concurrency (snapshot). В уровне изоляции read_commited rec_version при последовательном чтении одних и тех же данных в одной и той же транзакции могут получаться разные результаты - если между чтениями были зафиксированы изменения этих данных, сделанные другими транзакциями. Не зафиксированные на чтение не влияют, считываются последние актульные на момент _чтения_ данные независимо от наличия незафиксированнных версий. Для снапшота - то же самое но на момент старта транзакции, то есть он не видит никаких изменений с момента своего старта, даже фиксированных. Есть уровень изоляции, эмулирующий блокировочник - read_commited no_rec_version - при попытке даже _чтения_ данных, имеющих нефиксированные версии, выдает lock conflict в режиме nowait и ждёт коммита/роллбака изменяющей транзакции в wait. В.К. Оператор, изменяющий строку, устанавливает на нее блокировку. Транзакция, которая попытается изменить ту же строку второй, будет заблокирована. А вот если до того, как вторая транзакция начнет менять строку, но после того, как она ее прочитает в исходном виде (невзирая ни на что), первая транзакция ее изменит и закончится (фиксацией), вторая транзакция спокойно эту же строку изменит еще раз и пойдет дальше. А изменение, выполненное первой транзакцией, будет потеряно. Не, не так. Блокировок как таковых нет, блокировкой изменений является а) в случае снапшота - наличие версий изменяемой записи, появившихся после его старта (поэтому снапшот никогда не может затереть чужих изменений) б) в случае read_commited - наличие нефиксированных версий в момент попытки изменения. И вот этот - может. Поэтому многие люди применяют его именно при записи в случае инкрементных апдейтов - снижается вероятность конфликтов и данные не страдают. А для абсолютных применяют снапшот. Вот по разрешению блокировок (wait/nowait) в read_commited Oracle отличается. Во всех версионниках и в этом псевдоверсионнике конфликт ловится не на коммите, а непосредственно в момент выполнения изменений. В случае nowait все ведут себя одинаково - выдают исключение. В случае wait все ждут завершения конкурирующей транзакции и вот в этот момент Oracle проводит изменения независимо от того что сделал конкурент (коммит или роллбак), FB/IB в случае read_commited rec_version wait и коммита конкурента выдаёт исключение, за Postgress зуб не дам, но насколько помню, он поступает так же. Оракловая схема способствует абсолютно бесконфликтным инкрементным апдейтам, в FB/IB конфликты возможны, к добру или к худу - трудно сказать, от задачи зависит. А вот в read_commited no_rec_version wait на изменениях FB/IB в случае двух конкурирующих транзакций ведёт себя как Oracle, а если больше - выдаёт конфликт третьей и далее :) У версионников есть ещё уровень изоляции consistency - с блокировкой указываемых при старте таблиц целиком только на запись или вообще, но им очень редко пользуются, это скорее режим аварийного обслуживания. Так что возможности очень гибкие и обширные. Ещё раз извиняюсь за рекламу в чужом огороде, прощаюсь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 21:48 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
EnterPrice replication это CDR ? Субьективное впечатление еще одно - практически все встреченные на пути Ораклоиды практически ничего не знали о самом энджине, гораздо больше о всяких билдерах и тд. Но это возможно я не с теми сталкивался. Или их у нас не водится. У меня есть приятель, который сисадмин SUNовский. Недавно он делился со мной впечатления от поддержки им бригады фирмы поставщика билинговой системы у местных телетузиков. Они там новый сервак запускали. Честно говоря я в шоке. Они дают команду серверу задауниться. Сервер кладет болт на эту команду и что-то делает. Что делает никто, в том числе и гуру из москвы вызванные к трубе, сказать не могут. Срубить его при этом категорически нельзя ибо тогда стопроцентов звиздец. Отдельно поминал копирование в горячем режиме. Например то что пока идет копирование например сервак не дай бог упадет, чревато потерей данных. Тк в этом режиме энджайн пишет изменения в какие то промежуточные области. В INFORMIXe, что HADR, что копирование никаких проблем. Надежность очень высокая. Не помню случая , чтобы крах сервера приводил к потере данных. В экспериментах что только не делали, от выдергивания питания, до kill -9 целостность данных не нарушается. Вобщем впечатление такое что на небольших размерах БД вероятно никаких проблем никогда не заметит. Но на больших судя по всему ДБА Оракловому надо гораздо больше молока выдавать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 12:59 |
|
||
|
Informix vs Oracle
|
|||
|---|---|---|---|
|
#18+
Если речь не идёт о древних версиях Oracle, тогда проблема - в бригаде :) Требую отставки Президента РФ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=32763006&tid=1609184]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 315ms |

| 0 / 0 |
