powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Интилигентность оптимайзера, база без хинтов - реальность?
25 сообщений из 260, страница 7 из 11
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538469
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Splain

Это особенности работы СУБД, и не более.

Из одного прикола "А давайте объявим этот баг фичей ..."

Особенности бывают удачно реализованные и неудачно.

Дискусия по поводу undo - от лукавого.

Понятно что нет таких универсальных попугаев в которых можно все объективно сравнить, но поговорить о плюсах и минусах все же можно, хотя бы с познавательной точки зрения.

В этом смысле у DB2 и Оракл просто разные сегменты рынка.

Не поняла аргумент? Что дейсвительно настолько разные?
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538506
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Violina
>"А давайте объявим этот баг фичей ..."
то же самое про select for update, чтоб заблокировать запись.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538616
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to NewYear

Неблокирующий селект не случайный побочный эффект а поставленная цель в достижении минимального наложения блокировок. И то что он не блокирует, это большое преимущество и достижение. Селект он предназначен для чтения, а не для блокирования. Просто из за его блокирующих свойств во многих СУБД разработчики быстро взяли этот эффект на вооружение. А завязывать логику программы на побочных эффектах и применять фичи не по назначению это не есть gut.
Если вы хотите заблокировать данные, вы делаете это явно select for update. Если вы их просто читаете, вы не накладываете никаких блокировок и не мешаете другим сеансам. Вот и всё.

PS
Таких примеров использования не по назначению уйма. Например в Oracle появились фичи flashback database/flashback queries - можно запрашивать базу по состоянию на момент времени в прошлом. Уже назревают попытки использовать такую фичу для хранения исторической информации.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538632
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gt.есть 5 табличек, в них 80 полей, поиск должен уметь искать по всем полям всех таблиц, запросы иногда бывают простенькие возвращающие поля 1 таблички, иногда сложные возвращающие поля всех таблиц
Вы мне предлагаете последствия неправильного дизайна разбирать?
Давайте о чём-то конкретном говорить. Про hibermate я сказал, как всё замечательно раскладывается: таблица-справочник категорий и таблица элементов.
_______________
Alex
There are three kinds of people: those who can count and those who can't
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538640
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А аргумент, вот мол чтобы у нас заблокировать запись досточно написать

select from

а у вас надо писать

select from for update

просто смешон.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538671
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Violina
>Просто из за его блокирующих свойств во многих СУБД разработчики быстро >взяли этот эффект на вооружение

это тебе так кажется. если б я реально писал те транзакции, я бы про блокировки даже и не вспомнил.

я понимаю это так: oracle, когда пишешь любую транзакцию, нужно помнить, а может данные уже изменены, а я читаю устаревшие данные.
это явно баг.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538734
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
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 :)
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538778
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может данные уже изменены, а я читаю устаревшие данные. это явно баг.

Опять двадцать пять. Вы мой предыдущий пост читали? Если вы хотите гарантировано прочитать данные, которые никто не изменит, вы явно накладываете блокировку и все. Почему вы решили что эта возможность в 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 такого быть не не может. Как я уже писала данные там консистетны на начало запроса.

А говорить о том что а вот мол я смотрю отчет, а данные уже могли измениться, вообще бессмысленно. В рабочей базе изменения идут постоянно и во многих сеансах сразу, так что понятие актуальность данных в отчете весьма туманное.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538794
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
авторэто тебе так кажется. если б я реально писал те транзакции, я бы про блокировки даже и не вспомнил.

кажется :)
но пользователи давольно быстро таким забывчивым напоминают ;)

авторВы мне предлагаете последствия неправильного дизайна разбирать?

ладно желаю удачи в оригинальных подходах, то что хотел я показал ;)
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538832
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 лучше, если они реализованы в ядре самой СУБД.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538836
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViolinaНеблокирующий селект не случайный побочный эффект а поставленная цель в достижении минимального наложения блокировок.
Нет, это как раз побочный эфект, цель любого планировщика транзакций сохранить целостность базы при выполнении серии паралельных транзакций, для чего предложена много разных механизмов самые известные из которых это блокирование и версионность ( механизм отметок времени с сохранением версий). Так вот неблокирующий селект это побочный эффект "версионной" части Oracle механизма concurency control.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538886
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Я и ёжик

цель любого планировщика транзакций сохранить целостность базы при выполнении серии паралельных транзакций

А при чем тут целостность базы? Селект не изменяет данных, почему селект должен заботиться о целостности базы? Это делается при кокурентном измении базы а не при чтении.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538899
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Я и ёжик

Так вот неблокирующий селект это побочный эффект "версионной" части Oracle механизма concurency control.

А что же тогда по вашему есть цель "версионной" части Oracle механизма concurency control?
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538905
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
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.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538911
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
2 riman: спасибо за пояснение.
Всего
--
Andrei Kriushin (Oracle8/8i/9i OCP DBA), RDTEX J.S.C.
Disclaimer: Opinions are of my own and not necessar(-il)y...
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538917
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Слишком обще. То что лучше - часть системы или 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 можно играться в приоритетами транзакций.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538924
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Violinа
>Селект не изменяет данных, почему селект должен заботиться о целостности >азы
да не селект, транзакция, транзакция изменяет данный. нельзя рассматривать сетект вне транзакции
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538937
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
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.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538956
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 или систем никто и не оспаривает.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538960
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViolinaА при чем тут целостность базы? Селект не изменяет данных, почему селект должен заботиться о целостности базы? Это делается при кокурентном измении базы а не при чтении.
Ну изменения данных обычно делается не из воздуха, а на основе произведенного чтения, нельзя чтение рассматривать вне контекста транзакции. В общем случае транзакция производит чтение, делает некий анализ, на основе которого формирует данные для записи.
Только читающая транзакция вырожденный случай, но и здесь шедулер должен позаботится о целостности полученных данных, т.е наша транзакция только читает, но она ведь не одна в базе?

ViolinaА что же тогда по вашему есть цель "версионной" части Oracle механизма concurency control?
Во первых я бы не рассматривал отдельно "версионную" сторону механизма concurency control, всё таки это единый механизм и цель любого такого механизма это поддержание целостности данных в условиях наличия конкурирующих транзакций, с подцелью обеспечения максимальной пропускной способности.
Если всё таки попытаться разделить, то версионная часть в большей степени отвечает именно за поддержание целостности, а блокировочный механизм предназначен для предотвращения конфликтов на более ранней стадии ( дешевле приостановить транзакцию, чем потом её откатывать). Кроме того блокировочный механизм служит для искуственной "сериализации транзакций" когда версионный механизм Oracle с ней не справляется ( write skew, и.т.п.).
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538969
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>И как OS будет разбираться во внутренних особенностях процессов БД
процессы БД и процессы OS это одно и то же

>А может тогда и СУБД в OS перенесем
а так и есть
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538973
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчера поставил Oracle8/8i под впечатлением топика. Ну что вам сказать? Я потрясен! Красота да и только, Как они всё это сделали? В DB2 такого точно нет. А база как выглядит....мммм. ... эт сетра.

Всё вышеперечисленное про интерфейс . Надо же иногда обстановку разряжать
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538976
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to NewYear

авторда не селект, транзакция, транзакция изменяет данный. Нельзя рассматривать сетект вне транзакции

Какие данные изменяются здесь?

Код: plaintext
1.
2.
begin transaction
select * from emp;
commit;

PS
В Oracle также есть еще уровень изоляции READ ONLY = serializable read only.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32538989
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to riman

Всё вышеперечисленное про интерфейс

Совершенно согласна. В свое время я тоже возмущалась что как можно так мало внимания и усердия выделять тому, что является ИМХО визитной карточкой продукта. Но Oracle считает это малоприоритетным. Слышала что эти явавские GUI тулзы пишут в Индии.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32539001
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это частный случай.
...
Рейтинг: 0 / 0
25 сообщений из 260, страница 7 из 11
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Интилигентность оптимайзера, база без хинтов - реальность?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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