Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
ну а как поисходит изоляция транзакций? если меня интересует уровень RR, скажем. я что, так и буду работать с какой-то версией, а в это время кто-то изменит данные или прочитает неверные данные? я пишу mission-critical application, и у меня на первом месте стоит сохранность данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 13:53 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
в Oracle слишком сложно писать внешние процедуры, которые используют SQL, по сравнению с DB2, я читал доки. из-за дополнителных действий с бд. если дадите ссылку, покажу пальцем, где что именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:00 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
PL/SQL гораздо богаче дибитушного SPL. в DB2 считается нормой SQL programming using host languages. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:08 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
про некоторые фичи, скажем Oracle Advansed Queuing, мне просто смешно читать. в сравнении с WebSphere MQ. или это к теме не относится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:29 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Oracle нет на AS/400. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:30 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
а ПК и UNIX это тоска смертая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:33 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
зы. Купил книжку по Oracle 8/8i щас дочитаю её и задам вопросы, а то всё вы нас клюете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:50 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
riman, не покупай книжки, они только место занимают. я недавно переезжал, пришлось выкинуть килограмм 15 книжек. лучше уж наладонник. да еще и про оракле. у него и книжки толстые и не удобные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:59 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Дорогая Violina, убедительная просьба внимательнее читать мои сообщения и анализировать Про IO не трудно догaдаться DB2 пишет в журнал транзакций и БД, блокировки в памяти. Oracle пишет в БД, REDO, UNDO. Считаем сколько пространства занимает ITL на странице. Cмотрим в документацию по Oracle и видим (28 + 24*кол-во заинтересованных транзакций) байта У меня осталась старая конфигурация с одной из прeвыдущих работ 28 + 24 *4 = 124 байта. Размер блока 124/2048*100=6% 6% IO в системе идет на поддержание механизмов блокировки Oracle. Посчетайте для своей и скажите нам от то что получилось у вас. Смотрим на практически одинаковые машины в тесте tcp-c места 1,5,6 и внимательно анализуируем конфигурации и показанную производительность С другой стороны вы не доказали что ожидание на блокировке и Lock Escalation это более ресурсоемко чем порождение новой страницы в памяти и запись ее в UNDO TableSpace что помимо IO требует еще и дополнительной памяти P.S. Вышесказанное есть моя личная точка зрения и не может служить официальным заявлением компании IBM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:13 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторPL/SQL гораздо богаче дибитушного SPL. в DB2 считается нормой SQL programming using host languages. естественно, т.к. других вариантов нет. то что внешние процедуры зло уже поняли все производители субд, и IBM тоже, но добавить свой язык в 2 субд сразу нереально. то же самое с версионной моделью, уже коню ясно что это большая фича, весь опенсоурс это версионики, MS добавили версионность, IBM бы и рада - но опять же в 2 субд ... и на счет мэйнфрейма - кому этот пережиток прошлого нужен ? чтоб водружать туда Linux как это предлагает IBM ? за такие деньги ?? я понимаю еслиб он еще мог показать хоть какой-то результат на TPC, а так это для тех кто подсел и не может с 60х годов свое ПО переписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:15 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Хе, а я шел - шел, смотрю старичок книжки продает, смотрю Оракл (новенькая ещё, Виолину вспомнил... эт сетра короче). Да и дешево совсем - 3 бакса. Пусть стоит, под моник поставлю или ещё куда зы. Наладонник это хорошо, только денег нема, пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:15 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторСмотрим на практически одинаковые машины в тесте tcp-c места 1,5,6 и внимательно анализуируем конфигурации и показанную производительность и делаем вывод - что дб2 сколько IO не наращивай - результата не будет, поэтому все рекорды последних лет IBMу приходится делать на оракле, т.к. если туда поставить достаточно контролеров то можно попробывать обогнать конкурента по железу. как только дб2 на новыз процах скинут с 1 места IBM запустит на них оракл и все встанет на свои места, так было всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:20 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to NewYear авторну а как поисходит изоляция транзакций? если меня интересует уровень RR, скажем. я что, так и буду работать с какой-то версией, а в это время кто-то изменит данные или прочитает неверные данные? я пишу mission-critical application, и у меня на первом месте стоит сохранность данных. В Oracle 2 уроня изоляции READ COMMITED и SERIALIZABLE Код: plaintext 1. 2. 3. 4. 5. То что вы хотите достигается уровнем SERIALIZABLE. я что, так и буду работать с какой-то версией, а в это время кто-то изменит данные Oracle в этом отношении не полный версионник. То есть такие сюрпризы из-за одновременного изменяющего доступа в одной и той же строке не откладываются до коммита а проявляются немендленно. См. здесь Oracle9i - read uncommitted ViolinaИнтересно так же поведение при возникновении блокировок, когда наша транзакция пытается изменить строку, уже изменненую в другой транзакции после начала нашей. В нашей транзакции возникнет ожидание, до тех пор пока другая транзакция не будет завершена - коммитом или ролбэком. При ролбэке в нашей транзакции все пройдет так, как быдто бы другой транзакции и не было. При коммите произойдет следующее. Если уровень изоляции нашей транзакции READ COMMITTED, то изменение будет успешным. Мы как бы смогли увидить новые данные и изменить их. В случае если уровень изоляции нашей транзакции SERIALIZABLE, мы получим отлуп ORA-08177: can\'t serialize access for this transaction Если вы не хотите, чтобы юзер ждал окончания транзакции другого юзера. Можно делать предварительно select * from update nowait и информировать его сразу что ресурс заблокирован. или прочитает неверные данные В Oracle dirty read отсутсвует, так что неверные данные он не прочитает. В Oracle запросы согласованы на момент его начала и выполняются в режиме serializable. Так же исклчены такие ситуации, описанные ниже для MS SQL Oracle9i - read uncommitted vc123Under the default READ COMMITTED IL, SQL Server does not leave behind any locks -- as soon as the row is read, the lock is removed. This can lead to well-known anomalies with inconsistent aggregates or incorrect bank transfers (I believe at least one of them is described in the Kyte book). The problems of course can easily be fixed programmatically. Moving up to a higher isolation level, REPEATABLE READ, may and does create deadlocks in the situations where RC IL leads to inconsistencies. NewYearв Oracle слишком сложно писать внешние процедуры, которые используют SQL, по сравнению с DB2, я читал доки. из-за дополнителных действий с бд. если дадите ссылку, покажу пальцем, где что именно. Возможно. Но ... Принципы разработки под Oracle я уже приводила - если можно, сделай это с помощью одного оператора SQL - если это невозможно, сделай это в PL/SQL - если это невозможно в PL/SQL, сделай это с помощью Java - если это невозможно с помощью Java, сделай внешнюю процедуру на С - если и это невозможно, надо серъезно подумать зачем это вообще нужно Внешние процедуры в Oracle пишут когда нужны очень массивные вычисления с данными, с которыми лучше справятся например модули написанные на С чем PL/SQL программы. Писать внешние процедуры чтобы использовать SQL имхо не логичный подход. Этовсе равно что ездить в Мюнхен из Питера чтобы купить пиво "Балтика". Oracle Advansed Queuing, мне просто смешно читать. В сравнении с WebSphere MQ. или это к теме не относится? Относится, мне интересно узнать про фичи DB2 из первых рук. Так что не стесняйтесь, рассказывайте:) С утверждением согласна, Oracle Advansed Queuing не так сильно развито, до его появления вообще был проблематично с решениями задач, решать которые призвано Oracle Advansed Queuing. В Oracle есть еще поддержка pipes, что эффективно позволяет решить множество задач, в DB2 наверняка тоже есть. а ПК и UNIX это тоска смертая. В смысле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:21 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to riman Да, ваши аргументы меня убедили:) Завтра начинаю учить DB2. Вы не там книжки смотрите. Стоимость хороших книжек по Oracle 700-1000 рублей, за границей 30-60 Евро. А вот книжек по DB2 трудно найти, нет спроса нет предложения, не так уж сильно распостранена эта СУБД. PS Только без обид, каков наезд таков отет:) to Nikolay Про lock escalation я значит не так выразилась, извиняюсь. Я имела в виду что дополнительное IO меньшее "зло" чем lock escalation, ИМХО. 28 + 24 *4 = 124 байта. Размер блока 124/2048*100=6% Размер блока и INITTRANS/MAXTRANS можно менять. При резком скачке заитересованных транзакций, Oracle может занимать место из свободного места блока, предназначенно для данных. Если хочеться сэкономить место, например для редко изменяемых справочников, можно INITTRANS в 1 выставить и pctfree в 0, стандартный прием. Так что вместо 6% можно написать и 2% и 10%. А на мой встречный вопрос/аргумент по поводу IO и записи UNDO в журнал будет реакция? Правильно мое предположение или нет? Если нет то аргументы ... Violina Ведь если есть только redo журнал, то просто необходимо больше данных писать в него (+ UNDO данные, которые в Оракл пишуться в сегменты отката). И окончания записи всех этих данных при комите нужно обязательно дождаться. ... Ведь раз UNDO тоже пишется в REDO журнал , оно тоже должно гарантировано быть записано на диск на случай сбоя , чтобы откатить незакомиченные данные на момент сбоя. В Oracle этого делать не нужно, redo журналы для отката как такового не используются , но например измения в rollback segments также защищены redo журналом , так что они (измения в rbs) тоже могут быть записаны Ораклом тогда, когда он сочтет нужным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:44 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina. Какая разница где покупать? Хорошая книжка может и не в таких местах лежать. А кстати это хорошая книжка по Ораклу или нет: Использование Oracle8/8i Специальное издание. Издательство "Вильямс" Москва-Санкт Петербург - Киев. 1999г. Автор Вильям Дж. Пейдж. Купил то я её только в целях ознакомления. [quot Violina]...аргументы меня убедили:)[quot] Кажется вы меня опять путаете с кем-то :), хотя.. давайте переходите... на тёмную сторону силы :) [quot Violina]...книжек нет..[quot] У меня столько книжек по DB2 - большая сов. энциклопедия. Кто ищет тот и обрящет. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:01 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Gt. при чем мейфрейм? покажи пальцем, где я сказал про мейнфрейм. SP - может и зло. не знаю. я их не использую, как правило. >естественно, т.к. других вариантов нет. то что внешние процедуры зло уже >поняли все производители субд, и IBM тоже, но добавить свой язык в 2 субд >сразу нереально. зачем добавлять еще язык, если и так можно писать на чем угодно? "других вариантов нет, кроме как писать на чем угодно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:05 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to riman А кстати это хорошая книжка по Ораклу или нет: Использование Oracle8/8i Специальное издание. НЕТ!!! Но я по ней учить Оракл начинала за отсутствием чего то лучшего в то время. На самом деле действительно хороших книг по Oracle очень мало, так что выручает только документация. Кто ищет тот и обрящет. :) Это да. Кстати у меня тоже есть одна. Завтра скажу название (на ПТ чтобы здесь не засорять) а вы мне скажете хорошая ли она. По Оракл хорошие книги Oracle для профессионалов, Том Кайт Oracle проектирование баз данных, Дейв Энсор Oracle PL/SQL для профессионалов, С. Фейерштейн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:08 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to NewYear зачем добавлять еще язык, если и так можно писать на чем угодно? "других вариантов нет, кроме как писать на чем угодно" Когда есть втроенный платформонезависимый язык все же приятней. Знаете такую несколько шуточную притчу про программное обеспечение - а именно гибкость versus простота использования. Крайние варианты - постовлять клиентам программу где есть только кнопка "сделать". Нажимая ее юзер получает желаемые результаты - поставлять клиентам ... компайлер!, мотивируя компайлер это такая мощная гибкая штука, с пом. нее вы сможетесделать все что захотите, только вам придется поппотеть На этой шкале Oracle лежит ближе к варианту "кнопка" а DB2 к варианту "компайлер":) А написать свой язык для DB2 сейчас действительно нереально. Oracle проделал большой путь в PL/SQL - наработки, объединение PL/SQL и SQL энджин итп. Такое не сделаешь за год и это потребует больших затрат девелоперских ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:17 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina >ORA-08177: can't serialize access for this transaction Ну, значит я получу отлуп :) Не уверен, что этот вариант лучше, чем блокировка. посуди сама -- если 2 транзакции делают UPDATE одной строки с SERIALIZABLE, одна из них обязательно получит отлуп. а вот так что будет :) insert into test values ('A' , ... ); insert into test values ('B' , ... ); транзакция A select * from test where id = 'A' into :A update test set data = :A where ID = 'B' транзакция B select * from test where id = 'B' into :B update test set data = :B where ID = 'А' MQ это не фича db2 а другой продукт, просто Oracle AQ на нее похоже. есть что-то похожее у Microsoft, называется MSMQ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:32 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. The above is a very-well known (to any Oracle developer) example of so-called write skew anomaly under SNAPSHOT isolation. ( Despite the 'SERIALIZABLE' name, what Oracle really has is correctly called SNAPSHOT isolation ). The anomaly is trivially fixed by a judicious use of 'select for update'. The so-called locking scheduler, of which DB2 is an example along with Sybase/SQL Server/et cetera, does not have this anomaly thanks to locking the relevant rows. However, any locking scheduler has a much nastier anomaly that allows incorrect aggegates (sum/avg/etc) in the Read Committed isolation for which there is no good cure at all. VC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:22 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
NewYear - as for me, IBM MUST supply MQSeries with DB2. MQ solves many problems, and which Violina mentioned also. I'd say - MQ usage is a keyword of a system design.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:27 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
ViolinaС утверждением согласна, Oracle Advansed Queuing не так сильно развито, до его появления вообще был проблематично с решениями задач, решать которые призвано Oracle Advansed Queuing. В Oracle есть еще поддержка pipes, что эффективно позволяет решить множество задач, в DB2 наверняка тоже есть Эх, Виолина, Виолина. Ну кто же так легко с голословными утверждениями соглашается? Я имею опыт работы с MQ и могу сказать, что у MQ нет по сравнению с AQ, так это интегированности транзакций очередей и транзакций БД. Было, вон на одном предприятии: поставили MQ, приехало сообщение, что фура с скоропортящимися продуктами на таможне стоит. Програмка, перетаскивающая сообщения в БД - бац и свалилась. Технический итог: сообщение извлечено из очереди, а в базу не записано. Фактически, сообщение потерялось... Финансовый итог: фура простояла на таможенном посту 3 дня. Продукты протухли. С AQ такой фокус не прошёл бы: транзакция, однако. К тому же восстановление очередей AQ при сбое ПО идёт вместе с БД. Про недоделанность AQ тоже не соглашусь. JMS они имплементируют. В чём проигрывает AQ - это в потенциальной скорости (около 1000 сообщений/секунду). По сути, скорость ограничевается скоростью выполнения DML операций в БД. 2Gt. Про hibermate напишу как освобожусь. Вы пока объясните мне, зачем нужно иметь там по 80 полей в таблице? _______________ Alex There are three kinds of people: those who can count and those who can't ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:28 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
/topic/87266 эх, stdio, ручки ваши кривые... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:40 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторВы пока объясните мне, зачем нужно иметь там по 80 полей в таблице? 80 в 5 таблицах, по 16 полей в каждой, да в принципе не важно сколько, важно, что незачем посылать запрос где хитро сплетаются 5 таблиц когда достаточно "select name from table1 where name like ..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:45 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
2Violina: Давайте не использовать слово IMHO и "мне кажется" только осязаемые измеримые аргументы. Violina Ведь если есть только redo журнал, то просто необходимо больше данных писать в него (+ UNDO данные, которые в Оракл пишуться в сегменты отката). И окончания записи всех этих данных при комите нужно обязательно дождаться. DB2 нет _UNDO_ данных почему DB2 должна писать больше в transaction log непонятно ??? Если вам интересно как DB2 пишет в журнал часть теории можно почитать здесь http://]http://www.osp.ru/os/2004/03/066.htm www.acm.org за деньги, ну и конечно документацию по DB2. Violina Ведь раз UNDO тоже пишется в REDO журнал, оно тоже должно гарантировано быть записано на диск на случай сбоя, чтобы откатить незакомиченные данные на момент сбоя. В Oracle этого делать не нужно, redo журналы для отката как такового не используются, но например измения в rollback segments также защищены redo журналом, так что они (измения в rbs) тоже могут быть записаны Ораклом тогда, когда он сочтет нужным. Еще раз забудте про UNDO здесь его пока нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=32536890&tid=1603768]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 456ms |

| 0 / 0 |
