Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to Splain Это особенности работы СУБД, и не более. Из одного прикола "А давайте объявим этот баг фичей ..." Особенности бывают удачно реализованные и неудачно. Дискусия по поводу undo - от лукавого. Понятно что нет таких универсальных попугаев в которых можно все объективно сравнить, но поговорить о плюсах и минусах все же можно, хотя бы с познавательной точки зрения. В этом смысле у DB2 и Оракл просто разные сегменты рынка. Не поняла аргумент? Что дейсвительно настолько разные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:08 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina >"А давайте объявим этот баг фичей ..." то же самое про select for update, чтоб заблокировать запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:17 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to NewYear Неблокирующий селект не случайный побочный эффект а поставленная цель в достижении минимального наложения блокировок. И то что он не блокирует, это большое преимущество и достижение. Селект он предназначен для чтения, а не для блокирования. Просто из за его блокирующих свойств во многих СУБД разработчики быстро взяли этот эффект на вооружение. А завязывать логику программы на побочных эффектах и применять фичи не по назначению это не есть gut. Если вы хотите заблокировать данные, вы делаете это явно select for update. Если вы их просто читаете, вы не накладываете никаких блокировок и не мешаете другим сеансам. Вот и всё. PS Таких примеров использования не по назначению уйма. Например в Oracle появились фичи flashback database/flashback queries - можно запрашивать базу по состоянию на момент времени в прошлом. Уже назревают попытки использовать такую фичу для хранения исторической информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:42 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Gt.есть 5 табличек, в них 80 полей, поиск должен уметь искать по всем полям всех таблиц, запросы иногда бывают простенькие возвращающие поля 1 таблички, иногда сложные возвращающие поля всех таблиц Вы мне предлагаете последствия неправильного дизайна разбирать? Давайте о чём-то конкретном говорить. Про hibermate я сказал, как всё замечательно раскладывается: таблица-справочник категорий и таблица элементов. _______________ Alex There are three kinds of people: those who can count and those who can't ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:45 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
А аргумент, вот мол чтобы у нас заблокировать запись досточно написать select from а у вас надо писать select from for update просто смешон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:48 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina >Просто из за его блокирующих свойств во многих СУБД разработчики быстро >взяли этот эффект на вооружение это тебе так кажется. если б я реально писал те транзакции, я бы про блокировки даже и не вспомнил. я понимаю это так: oracle, когда пишешь любую транзакцию, нужно помнить, а может данные уже изменены, а я читаю устаревшие данные. это явно баг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 12:59 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina: "В Oracle это встроенная фича. С пом. profiles можно ограничить" - exactly. Oracle way is "All in one". IBM way is "A set of tools/utilities", if to say in short. Anyhow - to get understanding and to be able to use better to read DB2 concept, and about governor, and about MQSeries, and it definitelly won't be enough. That "встроенная фича" is just different, and works in a different way, than something 'similar' from IBM software. "Хотелсь бы увидеть пример задачи/проблемы, которую можно эффективно решить используя named pools и которую было бы сложно или невозможно решить в модели Oracle" - wow! DO you really want to find a business tasks which could be implemented in one, and could not be in other??? Good luck. And thank you very much for the perfect explanation what is a resource manager and what is a summary table and how to use them :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 13:23 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
а может данные уже изменены, а я читаю устаревшие данные. это явно баг. Опять двадцать пять. Вы мой предыдущий пост читали? Если вы хотите гарантировано прочитать данные, которые никто не изменит, вы явно накладываете блокировку и все. Почему вы решили что эта возможность в Oracle отсутвует. А вот в других СУБД прочитать данные без блокировкок нельзя, кроме как не разрешив dirty read. Еще раз Неблокирующий селект не случайный побочный эффект а поставленная цель в достижении минимального наложения блокировок. Селект он предназначен для чтения, а не для блокирования. а может данные уже изменены, а я читаю устаревшие данные. это явно баг. Вообще то это азы теории транзакций и уровней изоляции данных при конкурентном доступе и это достаточно общая проблематика. При конкуренном доступе понятие устаревшие данные весьма размытое. При изоляции dirty read проблема устаревших данных отсутвует, но присутсвуют другие проблемы:). Non repetable read/Phantom Read позволяет видеть вам закомиченные данные после начала вашей транзакции - в Oracle это тоже. Serializable более высокий уровень изоляции, он существует и может использоваться если этого потребует логика приложения. Но используется он редко. Не понимаю почему вы зацепились за уровень с самой высокой изоляцией для аргументации по вашему мнению "бага". Это просто свойство уровня "repretable read/no phantom read". Можно попробовать направить в комитет по стандартам SQL bug report, что уровни repretable read/no phantom read это "баги" и их нужно исправить:) если б я реально писал те транзакции, я бы про блокировки даже и не вспомнил. Первое что должен сделать разработчик начав писать под другую СУБД, это ознакомиться с поддерживаемыми уровнями изоляции и механизмом блокировок. Если бы я так поступала, я бы тоже начав писать под DB2 спокойно без опасений использовала бы селекты не боясь заблокировать что либо. Последтсвия были бы еще более катострофические. Что действительно БАГ имхо, это неконсистентные результаты запроса в уровне изоляции READ COMMITTED, котоый вам очень наглядно описал vc123 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 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. Например пернесенные средтва со счета на счет во время суммирования могут быть подсчитаны дважды. В Oracle такого быть не не может. Как я уже писала данные там консистетны на начало запроса. А говорить о том что а вот мол я смотрю отчет, а данные уже могли измениться, вообще бессмысленно. В рабочей базе изменения идут постоянно и во многих сеансах сразу, так что понятие актуальность данных в отчете весьма туманное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 13:41 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторэто тебе так кажется. если б я реально писал те транзакции, я бы про блокировки даже и не вспомнил. кажется :) но пользователи давольно быстро таким забывчивым напоминают ;) авторВы мне предлагаете последствия неправильного дизайна разбирать? ладно желаю удачи в оригинальных подходах, то что хотел я показал ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 13:45 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to gvv And thank you very much for the perfect explanation what is a resource manager and what is a summary table and how to use them :) То что я вам рассказываю про аналогичные фичи, это не попытка уличить или обвинить вас в незнании их, я просто привожу пример что подобные фичи тоже есть. Этим я просто хотела сказать что перечисленное это стандартные распостраненные механизмы а не уникальные фичи MQ. Так что прошу не принимать это привратно. wow! DO you really want to find a business tasks which could be implemented in one, and could not be in other??? Good luck. Похожего ответа я от вас и ожидала - просто передергивания. Я спросила конкретную вещь. Вы сказали что memory management в Oracle poor и что named buffers намногое эффективнее? Ведь на основе чего то вы сделали такое заключение? Какие задачи они (named buffers) вам позволили бы решить намного эффективнее. Иначе на чем основывается ваше утверждение? gvv"В Oracle это встроенная фича. С пом. profiles можно ограничить" - exactly. Oracle way is "All in one". IBM way is "A set of tools/utilities", if to say in short. Ранее gvvNewYear - as for me, IBM MUST supply MQSeries with DB2. Слишком обще. То что лучше - часть системы или external tool - зависит от конкретного случая. ИМХО, в случае profiles and resource manager лучше, если они реализованы в ядре самой СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:01 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
ViolinaНеблокирующий селект не случайный побочный эффект а поставленная цель в достижении минимального наложения блокировок. Нет, это как раз побочный эфект, цель любого планировщика транзакций сохранить целостность базы при выполнении серии паралельных транзакций, для чего предложена много разных механизмов самые известные из которых это блокирование и версионность ( механизм отметок времени с сохранением версий). Так вот неблокирующий селект это побочный эффект "версионной" части Oracle механизма concurency control. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:02 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to Я и ёжик цель любого планировщика транзакций сохранить целостность базы при выполнении серии паралельных транзакций А при чем тут целостность базы? Селект не изменяет данных, почему селект должен заботиться о целостности базы? Это делается при кокурентном измении базы а не при чтении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:17 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to Я и ёжик Так вот неблокирующий селект это побочный эффект "версионной" части Oracle механизма concurency control. А что же тогда по вашему есть цель "версионной" части Oracle механизма concurency control? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:21 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina: " не уникальные фичи MQ" - I did not tell about MQ features. I did not tell about any unique features at all. I just told that a set of IBM software allows ot make a system. Even if you think it is strange how a system could work where reader block writer. "Я спросила конкретную вещь." - sorry - from you point of view. From my it's absolutely abstract. And I'm not going even to try to answer on such question. "Ведь на основе чего то вы сделали такое заключение? Какие задачи они (named buffers) вам позволили бы решить намного эффективнее. Иначе на чем основывается ваше утверждение?" if I remember correctly, I said imho. I hop you know what it does mean. As for me, named bufferpools is much flexible. I agree for you it could be not the same. "Слишком обще. То что лучше - часть системы или external tool - зависит от конкретного случая. ИМХО, в случае profiles and resource manager лучше, если они реализованы в ядре самой СУБД." - exactly. It depends. Agreed. But as for me (again as for me) having MQSeries as a separate product allows me to use it _without_ DB2. What I did. That's the difference betwen having all in one, and a set of tools. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:24 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Привет 2 riman: спасибо за пояснение. Всего -- Andrei Kriushin (Oracle8/8i/9i OCP DBA), RDTEX J.S.C. Disclaimer: Opinions are of my own and not necessar(-il)y... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:27 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
>Слишком обще. То что лучше - часть системы или external tool - зависит от >конкретного случая. ИМХО, в случае profiles and resource manager лучше, >если они реализованы в ядре самой СУБД. не уверен. лучше, когда они реализованы в OS, как в OS/400. там вот так: любой файл я могу зажрналить, потол тогда любая IO операцию с файлом выполнять under commitment control. таким образом, когда выполняется транзакция, я в нее вовлекается любой ресурс, все, что пишется в файл. я могу omit не нужные объекты из транзакции. commit и rollback здесь - команды OS, а sql commit то же самое, что OS commit. выполнять транзакции можно в конкретной subsustem, и job queue. в subsustem можно выделить системные ресурсы, в job q можно играться в приоритетами транзакций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:28 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violinа >Селект не изменяет данных, почему селект должен заботиться о целостности >азы да не селект, транзакция, транзакция изменяет данный. нельзя рассматривать сетект вне транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:30 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Example - we used to pass messages to the remote servers, and the result was changed ip filters and routing table on the remote server with returned confirmation (because sometime a route, for example, could not be added) - the example of independent MQSeries usage. The messages came asynchronously and fast. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:35 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to gvv if I remember correctly, I said imho. I hop you know what it does mean. Конечно знаю. И я задала конкретный вопрс. Почему ваше мнение таково? I agree for you it could be not the same. Сейчас я не могу высказать объективное мнение, у меня нет конкретных аргументов что Oracle memory management справится с этим лучше. У вас оно (мнение) есть. Значит есть аргументы, почему named pools лучше. Что плохого в желании узнать его причины? But as for me (again as for me) having MQSeries as a separate product allows me to use it _without_ DB2. Согласна и об этом уже писала ранее. to NewYear не уверен. лучше, когда они реализованы в OS, как в OS/400. И как OS будет разбираться во внутренних особенностях процессов БД, особенно если shared server configuration (несколько сессий обслуживаются одним процессом) при распределении ресурсов? commit и rollback здесь - команды OS, а sql commit то же самое, что OS commit. А может тогда и СУБД в OS перенесем:) То что вы описываете - журналируемая файловая система и конфигурация. Полезность таких OS или систем никто и не оспаривает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:44 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
ViolinaА при чем тут целостность базы? Селект не изменяет данных, почему селект должен заботиться о целостности базы? Это делается при кокурентном измении базы а не при чтении. Ну изменения данных обычно делается не из воздуха, а на основе произведенного чтения, нельзя чтение рассматривать вне контекста транзакции. В общем случае транзакция производит чтение, делает некий анализ, на основе которого формирует данные для записи. Только читающая транзакция вырожденный случай, но и здесь шедулер должен позаботится о целостности полученных данных, т.е наша транзакция только читает, но она ведь не одна в базе? ViolinaА что же тогда по вашему есть цель "версионной" части Oracle механизма concurency control? Во первых я бы не рассматривал отдельно "версионную" сторону механизма concurency control, всё таки это единый механизм и цель любого такого механизма это поддержание целостности данных в условиях наличия конкурирующих транзакций, с подцелью обеспечения максимальной пропускной способности. Если всё таки попытаться разделить, то версионная часть в большей степени отвечает именно за поддержание целостности, а блокировочный механизм предназначен для предотвращения конфликтов на более ранней стадии ( дешевле приостановить транзакцию, чем потом её откатывать). Кроме того блокировочный механизм служит для искуственной "сериализации транзакций" когда версионный механизм Oracle с ней не справляется ( write skew, и.т.п.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:44 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
>И как OS будет разбираться во внутренних особенностях процессов БД процессы БД и процессы OS это одно и то же >А может тогда и СУБД в OS перенесем а так и есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:47 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Вчера поставил Oracle8/8i под впечатлением топика. Ну что вам сказать? Я потрясен! Красота да и только, Как они всё это сделали? В DB2 такого точно нет. А база как выглядит....мммм. ... эт сетра. Всё вышеперечисленное про интерфейс . Надо же иногда обстановку разряжать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:48 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to NewYear авторда не селект, транзакция, транзакция изменяет данный. Нельзя рассматривать сетект вне транзакции Какие данные изменяются здесь? Код: plaintext 1. 2. PS В Oracle также есть еще уровень изоляции READ ONLY = serializable read only. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:48 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to riman Всё вышеперечисленное про интерфейс Совершенно согласна. В свое время я тоже возмущалась что как можно так мало внимания и усердия выделять тому, что является ИМХО визитной карточкой продукта. Но Oracle считает это малоприоритетным. Слышала что эти явавские GUI тулзы пишут в Индии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=32538778&tid=1603768]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 464ms |

| 0 / 0 |
