powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
287 сообщений из 287, показаны все 12 страниц
MySQL и Firebird для Web
    #36769750
Фотография Mexanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично для меня преимущество птицы обусловлено такими своеобразными аргументами:
1. Читал в книгах, что он лучше MySQL по многим показателям и обладает более высокой масштабируемостью для многопользовательских условий.
2. Я пишу на делфи, использую фибы, а для MySQL надо чёто искать из компонентов доступа.
3. Имею некий опыт работы с птицей, а ПО MySQL надо читать доку и изучать его с нуля.
4. Учитывая вышеизложеное, мне легче написать CGI на делфи в связке с Firebird.

А теперь аргументы против:
а) Легко ли будет найти хостера с файербёрдом?
б) Это поперёк планеты всей, так как основная масса пишет веб приложения на перлах или рнр в связке с MySQL.

Грызть или не грызть MySQL, перл или рнр, вот в чём вопрос?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36769758
Vinny the POOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грызть, причём - очень усиленно. Делать ВЕБ на делфи+CGI - ну это... Я даже не знаю.... Даже не 19 век, в эпоху ВЕБ1.0 этим страдали только редкостные извращенцы. Копрофилией я бы это назвал, вот! К любимой птице из того же пыхпыха (да и вообще любого вменяемого ЯП) достучаться можно вообще без проблем. СУБД очень неплохая, хотя в ВЕБ более привычны мускуль и Постгрес.
Мой совет: хочешь в ВЕБ - усиленно грызи Пыхпых, Питон, Руби (посмотри всё, что больше прийдется по душе). А про делфи вообще забудь. От него УЖЕ попахивает.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36769940
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vinny the POOHА про делфи вообще забудь. От него УЖЕ попахивает.
Эти слова слышу уже лет 6 или больше ... А люди продолжают делать успешные
приложения на Delphi. Может слова не соответствуют действительности ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36769967
Vinny the POOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev, его и раньше-то в-основном в странах СНГ использовали. А не померло оно до сих пор лишь благодаря нашим конченным "универам". Но и это не мешает ему попахивать...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36769975
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vinny the POOHего и раньше-то в-основном в странах СНГ использовали.
Да нет ... В Европе, Азии и Южной Америке полно пользователей.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770015
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mexanik
а) Легко ли будет найти хостера с файербёрдом?

хостера с fb ты может и найдешь. но у него к тому же должна быть винда, чтобы delphi cgi исполнялись. вот такую комбинацию поискать - настоящий вызов для извращенцев.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770359
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mexanik
Грызть или не грызть MySQL, перл или рнр, вот в чём вопрос?
Грызть. В качестве СУБД: MySQL(Блокнотик такой, с быстрой выборкой и без С в ACID'е) или PostgreSQL (Отбросьте от Оракла навороты, оставьте непосредственно СУБД и получите Пг. Правда с 1000 + 1 ньюансом и не всегда в + ораклу).
В качестве ЯП для Веба: Perl (сам пишу), PHP(писал, перешел на Перл), Руби(Не работал), С#(Вообще смотрел, но мало), Java (JEE вроде очень быстрая, но вообще не смотрел).

Да, если C#, то СУБД MSSQL - 99%. Или учи, в том числе, mono.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770387
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneДа, если C#, то СУБД MSSQL - 99%. Или учи, в том числе, mono.
муйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.
Я допускаю, что "проблемы" могут быть лишь в качестве драйверов .Net для конкретного сервера, но например у FB с этим проблем нет, драйвер вполне нормальный. у Оракла, вроде, тоже.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770557
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvмуйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770563
Vinny the POOH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstonekdvмуйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.

Так всё правильно. .net для сайтов выбирают фирмочки, у которых вся инфраструктура M$, соответственно база CRM/ERP/торговой системы или ещё чего на M$$QL, и к этому всему надо прикрутить или публичный ВЕБ-сайт или что-то для внутреннего пользования. Ни один вменяемый ВЕБ-девелопер для сайта-стартапа дотнет не выберет, т.к. Dорого&Gлупо.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770924
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vinny the POOH
Так всё правильно. .net для сайтов выбирают фирмочки, у которых вся инфраструктура M$, соответственно база CRM/ERP/торговой системы или ещё чего на M$$QL, и к этому всему надо прикрутить или публичный ВЕБ-сайт или что-то для внутреннего пользования. Ни один вменяемый ВЕБ-девелопер для сайта-стартапа дотнет не выберет, т.к. Dорого&Gлупо.

Мы говорим про интернет или интранет?
Если интернет, то PHP/PERL/Ruby/... + MySQL/... редко Java.
Если интранет, то чаще ASP .NET + MS SQL/Oracle реже Java.

Здесь вопрос задач - если свой сайтик в инете сделать, то инструменты одни, если корпоративную систему в интранете - другие, для серьезного проекта в инете - третьи.

P.S. необязательно в каждый пост вставлять слова о том, какое плохое М$. Это выглядит "Gлупо".
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770940
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mexanik,

Главное понять, для чего это всё нужно.

На Delphi + FB в части клепания сайтов денег не заработаешь, однозначно.
На PHP + MySQL будет большая конкуренция "студентов", зато .
На ASP .NET + MS SQL не будет большого объема халтуры (хотя найти можно, в том числе и по шарепоинту) за то
За Java денег хорошо платят, особенно если от сайтостроительства отойти:)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36770941
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstonekdvмуйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.
+1024
лучше гызть C#,.NET,ASP,MSSQL
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771276
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как уже написали, в PHP есть доступ к FB, если так охота юзать FB.
Сам пишу на Дельфях десктопные приложения, но для вебы реально прошлый век.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771351
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte... но для вебы реально прошлый век.
...просто ты не умеешь ее готовить.
из (R)екламы
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771363
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часть сообщения потерялась...
AlexPhilMexanik,

Главное понять, для чего это всё нужно.

На Delphi + FB в части клепания сайтов денег не заработаешь, однозначно.
На PHP + MySQL будет большая конкуренция "студентов", зато халтуры много .
На ASP .NET + MS SQL не будет большого объема халтуры (хотя найти можно, в том числе и по шарепоинту) за то можно фуллтайм спокойно работать .
За Java денег хорошо платят, особенно если от сайтостроительства отойти:)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771379
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPhilМы говорим про интернет или интранет?
А в чем прЫнципильная разница?

AlexPhilЕсли интернет, то PHP/PERL/Ruby/... + MySQL/... редко Java.
Это если сваять гавносайтики на халявном хостинге, за 10$.

Более чем менее серьезный проект на этой связке обречен на очень большие прондлемы.
Пример: http://forum.searchengines.ru/
Вечно заморочки с БД и никакая маштабируемость не спасает.
Дашь елементарная операция - постинг новогй мессаги часто лагает.

Тот же СКРУЛЬ - совсем другая платформа.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771384
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneMegabyte... но для вебы реально прошлый век.
...просто ты не умеешь ее готовить.
из (R)екламы

Так её ещё и готовить надо (вместо простого использования) ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771407
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mexanik, суть твоего вопроса мимо в том, что круг задач четко не определен.

1. Если лабать говносайтики - ПлоХоПлюнька безальтернативный вариант.
2. Если мультихостин, покупной - тоже безальтернативно, ПыХПых.
3. Если проект суриозный и можно серьезно говорить о выделенном сервере, то вариант FB ни в чем не уступает M$.
А даже выигрывает на уровне начальных вложений.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771413
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZrenByТак её ещё и готовить надо (вместо простого использования) ???
Если тебе только мышкой тыркать, то извини дружище.
Ставь какую-нить ЦМС-ку не парься...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771448
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneAlexPhilМы говорим про интернет или интранет?
А в чем прЫнципильная разница?

Есть понятие "корпоративных стандартов" - банально везде стоит MS/Oracle/DB2 (нужное подчеркнуть) и никто не будет заморачиваться с внедрением/поддержкой FB/MySQL/... ради одного разработчика. Разработка на другой технологии (отличной от той, на которой пишут офисные приложения) приводит к тому, что нужно расширять штат, нанимать человека со знанием ПхП, например, ... а зачем - если есть уже разработчик на .NET? И т.п.

Несколько иные требования к безопасности (интеграция с AD, например) и функционалу (интеграция с ERP/WorkFlow/SharePoint).
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771463
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne3. Если проект суриозный и можно серьезно говорить о выделенном сервере, то вариант FB ни в чем не уступает M$.
А даже выигрывает на уровне начальных вложений.
А есть "суриозные" проекты на FB для интернета? Всегда считал, что использовать FB оправдано как-раз в небольших десктопных разработках.
На MS SQL есть, знаю. На MySQL очень много, слон тоже встечается. Даже Информикс как-то встречался (molotok.ru) и Lotus (hh.ru), к счастью оба от этого отказались.
А вот FB зачем для сайтов использовать?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771485
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPhilА есть "суриозные" проекты на FB для интернета? Всегда считал, что использовать FB оправдано как-раз в небольших десктопных разработках.
"суриозные" проекты на ФБ обычно в интернете не светятся, ибо ни к чему. Так что про "небольшие десктопные разработки" это серьезное заблуждение.
В общем, так сложилось, и хостингов с ФБ действительно мало. Впрочем, у того же Di_line, насколько я знаю, как раз вполне себе серьезный проект на ФБ и "для интернета".
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771528
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ общем, так сложилось, и хостингов с ФБ действительно мало.

В режиме "один сервер на всех" она работать не может, а виртуализация внедрилась в
сознание хостеров относительно недавно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771535
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv"суриозные" проекты на ФБ обычно в интернете не светятся, ибо ни к чему. Так что про "небольшие десктопные разработки" это серьезное заблуждение.
В общем, так сложилось, и хостингов с ФБ действительно мало. Впрочем, у того же Di_line, насколько я знаю, как раз вполне себе серьезный проект на ФБ и "для интернета".
Почему не светятся, не совсем понял? Вам не нужны референсы об успешных внедрениях?
Какую примерно долю от рынка СУБД для интернет проектов он занимает?

Не хочу ничего плохого сказать про FB ибо его не знаю, но пока системы видел всего несколько систем на нём, все небольшие и десктопные. Глубоко уважаю ваш труд в части разработки собственной СУБД, но плохо себе представляю серьезный интернет проект, где СУБД является FB.

Про "заблуждение" согласен. Возможно я просто не в курсе, вот и прошу пояснить.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771651
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPhilПочему не светятся, не совсем понял? Вам не нужны референсы об успешных внедрениях?
здесь есть 2 момента.
1. например, я знаю много туристических агенств, которые используют Firebird или InterBase, и у которых, понятно, интерфейс в web. И я знаю еще больше контор, у которых системы не выставлены в интернет, но имеют тоже неплохую нагрузку.
2. я не имею права делать референс, если компания не разрешает это делать официально. Обычно коммерческие компании относятся к референсам с подозрением. Мы имеем референсы только тогда, когда внедренец решения договорился с клиентом. Или когда клиент пришел к нам, мы ему оказали саппорт, и он остался доволен.
Поэтому я могу ссылаться только на то, что разрешено. Например:
http://www.ibase.ru/devinfo/fb1tb.htm

Сколько еще таких контор - мне неведомо. Разработчики подобных систем, независимо от СУБД, обычно ни на каких форумах не светятся и в саппорт не обращаются. Это факт. Выколупывать такие конторы приходится поштучно. Но они есть, и их много. Это тоже факт.

AlexPhilно пока системы видел всего несколько систем на нём, все небольшие и десктопные. Глубоко уважаю ваш труд в части разработки собственной СУБД, но плохо себе представляю серьезный интернет проект, где СУБД является FB.
Вопрос - что значит "серьезный интернет проект"? Или "серьезный не-интернет проект"? Чем интернет-проект хуже или лучше не-интернет-проекта?

Я прекрасно понимаю чем именно MySQL заслужил популярность в web-разработках. И я понимаю, почему системы на Firebird не стремятся влезть в эту же нишу - они как раз уже давно влезли туда, где MySQL в не-веб-системах проиграл.
Спросите пользователей промышленных систем на FB, с ~100-400 пользователей, и базами в 10-50 гиг, есть-ли у них мысли о переходе на MySQL, и они покрутят пальцами у виска.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771808
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпочему системы на Firebird не стремятся влезть в эту же нишу - они как раз уже давно влезли туда, где MySQL в не-веб-системах проиграл.
kdv, имхо, очепятка.
Читать следует как:
авторвлезли туда, где MySQL в веб-системах проиграл.

А светить что и как сделано на комерческих ресурсах могут только дураки, если сознательно, и лохи по непониманию.
Мне, к примеру, скриптидисы надоели.
Долбются и долбояютца, как... по словарю ПыхПышных скриптов, получая ессно 404.
Флаг им в руки и перо в зад.
Благо пломать им много чего есть. ;-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36771996
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv И я понимаю, почему системы на Firebird не стремятся влезть в эту же нишу - они как раз уже давно влезли туда, где MySQL в не-веб-системах проиграл.
Спросите пользователей промышленных систем на FB, с ~100-400 пользователей, и базами в 10-50 гиг, есть-ли у них мысли о переходе на MySQL, и они покрутят пальцами у виска.
Спасибо за подробный ответ.

Абсолютно согласен, что нет смысла влезать с FB в нишу разработки для веб. И топикстартеру можно посоветовать то же самое.

Честно говоря, я бы тоже "покрутил пальцем у виска", если бы мне предложили перевести промышленные системы с Oracle/MS SQL на MySQL, более того я бы не стал переходить и на PG/FB, да и с оракла на МС (и обратно) не стал бы. Не вижу в этом выгоды, а вот рисков очень много.

Для новых проектов (уровня банков, другие рынки плохо знаю) выбор не богатый: Oracle, MS, изредка DB2, остальное (типа Progress, SyBase) экзотика.
FB встречал один раз (в Анелике). Порадовало что драйвер для .NET работает. Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36772003
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPhil
Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.

Чисто ради справедливости следовало бы посчитать и количество sa без пароля и
system/change_on_install...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36772178
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
AlexPhil
Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.

Чисто ради справедливости следовало бы посчитать и количество sa без пароля и
system/change_on_install...


change_on_install на sys-е, вообще-то ... был
нонече исталятор очень настойчиво требует поменять
и потом, к чему сия статистика?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36772683
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneMegabyte... но для вебы реально прошлый век.
...просто ты не умеешь ее готовить.
из (R)екламы
Вы хотите сказать, что использование CGI-приложения, написанного на Дельфе,
вместо PHPшного скрипта, будет оправдано?!
Оно ж медленнее будет работать.

Можно пример, если не трудно?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36772710
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegabyteВы хотите сказать, что использование CGI-приложения, написанного на Дельфе,
вместо PHPшного скрипта, будет оправдано?!
Оно ж медленнее будет работать.

Хм... CGI-шка, написанная на Дельфе, лехким движением руки конвертируется в ISAPI DLL-ку.
Это два.
Пыхпышный скрипт, мягко говоря, есть куча мала. Где програмный код свален с HTML в одну кучу с добавкой CSS. Тем самым интерперетатору больше парсить.
Плюс к сему текст самих SQL-запросов к Мускулу превышает всякие разумные пределы.
Варианты в 2к знаков текст SQL - не предел.
Что тошь не в + быстродействию Веб-сервера в целом.

Стиль же програманья в Дельфе не стимулирует к таким извратам.
Так же как и разделения HTML и програмного кода. Что облегчает (ускоряет) процессы разработки, редизайна и прочие.
Это раз.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36772938
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)и потом, к чему сия статистика?

Чтобы слова АлексоФила не воспринимались как "у Firebird всё плохо с безопасностью в
отличии от..."
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773024
AlexPhil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Чтобы слова АлексоФила...

За что же меня так:)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773093
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)и потом, к чему сия статистика?

Чтобы слова АлексоФила не воспринимались как "у Firebird всё плохо с безопасностью в
отличии от..."


Вам случайно в глаз ничего не попало (ну там осколок Зеркала или еще что)?
Где здесь:

автор
FB встречал один раз (в Анелике). Порадовало что драйвер для .NET работает. Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.


Вы нашли следующее:

автор
у Firebird всё плохо с безопасностью в
отличии от...

???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773118
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Вы нашли
Я - нигде не нашёл. Но есть туча "личностей", способных и не на такое.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773190
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Вы нашли
Я - нигде не нашёл. Но есть туча "личностей", способных и не на такое.


Вы например ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773229
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Вы например ???

Например - Ё!
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773276
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Вы например ???

Например - Ё!


Странно, что он не воспользовался случаем, правда?
Может Вы и на него напраслину возводите???

P.S. Перед AlexPhil извинились бы что-ли. Не за что моральную травму получил :)
P.P.S. Кстати, про коверканье ников было что-то в правилах форума
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773301
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Странно, что он не воспользовался случаем, правда?

Ничего странного. Время отпусков.

PS: Перед AlexPhil извиняюсь.
PPS: Является ли транслитерация ников их коверканием - вопрос не для этого раздела.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773429
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukВы например ???
я бы предложил откатить иронизирование. Можно подумать что абсолютно все админы MS SQL такие умные и сертифицированные, что немедленно меняют пароль sa?
Если Вам не нравится Дмитрий Сибиряков, то это также не исключает изложенного выше предположения, которое, уверяю, имеет под собой основания.

p.s. по роду работы мне встречается больше идиотов-админов за рубежом, чем в России. Впрочем, может быть мне так только кажется, потому что я подсознательно ожидал от зарубежных админов более высокой квалификации. Это так, просто замечание вслух.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773481
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGlukВы например ???
я бы предложил откатить иронизирование. Можно подумать что абсолютно все админы MS SQL такие умные и сертифицированные, что немедленно меняют пароль sa?
Если Вам не нравится Дмитрий Сибиряков, то это также не исключает изложенного выше предположения, которое, уверяю, имеет под собой основания.

p.s. по роду работы мне встречается больше идиотов-админов за рубежом, чем в России. Впрочем, может быть мне так только кажется, потому что я подсознательно ожидал от зарубежных админов более высокой квалификации. Это так, просто замечание вслух.

Поясняю: Локальные идиотизмы админов MS SQL (к которым я не отношусь), равно как FB, Oracle и любой другой СУБД, не имеют отношения к достоинствам или недостаткам этих СУБД (что бы там не думал по этому поводу обиженный на Oracle Dimitry Sibiryakov)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36773772
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версионность и ХП - 2 самых мошных орудия FB, кои очень актуальны и эффективны именно применительно к Web-проектам.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774077
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Di_LIneВерсионность и ХП - 2 самых мошных орудия FB, кои очень актуальны и эффективны именно применительно к Web-проектам.

ага, мощный веб с таким ограничением будет:
/topic/764108&pg=11#8906825

не говоря уже об эффективности SC архитектуры у FB.

я бы лучше фокспро выбрал, даже он в вебе лучше отмасштабируется
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774098
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!ага, мощный веб с таким ограничением будет:
не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774104
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvне надо чушь молоть. А оно не может иначе. Устройство такое.
Опять влезло, куда не понимает, и выЁживается
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774117
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ага, мощный веб с таким ограничением будет:
/topic/764108&pg=11#8906825

Гы! Yo.!, нипасорься, а займись арихметикай:
127 паралельных запросов в секунду - это скока суточная нагрузка в ползателях?
Это раз.
Скока йайцев процов для сего реально нужно?
Это два.
Тры... Еще будет. :-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774123
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.

значительная часть веба это пхп+mysql без какого-либо пулинга, вы товарищ на солнышке головку то прикрывайте. у оракла если я правильно помню есть инсталяции на 40 000 одновременных конектов в режиме dedicated и за 200 000 конектов в режиме MTS.

пул аж на 127 коннектов, о да это серьезный веб, форум колхоза "Рассвет" точно вытянет если не пападет на слешдот в новости о самом глупом выборе субд
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774145
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!вы товарищ на солнышке головку то прикрывайте. у оракла если я правильно помню есть инсталяции на 40 000 одновременных конектов в режиме dedicated и за 200 000 конектов в режиме MTS.
муйня. Вы посчитайте-ка, сколько реально трафик может быть на гигабитной сетке, и какой трафик должны создавать 200к коннектов. Не иначе как кроме в цирке такое может быть.
Практики у Вас нет никакой, гражданин Yo!. Данные хоть какие правдоподобные приведите, штоль.

я допускаю, что 40к коннектов могут быть при запросах select 1 from dual. Но что-нибудь более реальное - это бред сивой кобылы. Подчеркиваю - на гигабитной сетке. Экзотические и нереальные для обычных кастомеров условия меня не интересуют.
Мы все и так знаем, что больше всего данных на расстояние можно перевезти в грузовике с HDD. И?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774150
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
более того, про эти 40 тыщ можно песни петь я не знаю кому. Любой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра. Так что про цирк я не зря упомянул. Можно, конечно, натянуть шатер Шапито, и махать шашкой про 40 тыщ, только Вы бы сами сперва попробовали любой программой это сделать. Ну а потом уже докладывали бы, как это удалось еще кому-то.
То есть, я не спорю, что за 40к одновременно открытых сокетов в ОС людЯм надо памятник поставить. Просто, это сродни победе в гонке F1. Ни Вы, ни я, ни миллионы других людей этого не смогут. Смогут единицы. Они герои? Да, безусловно. Но по улицам, как бы, F1 не видать.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774157
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!о да это серьезный веб, форум колхоза "Рассвет" точно вытянет если не пападет на слешдот в новости о самом глупом выборе субд
Ну, вота значитцо как дело было...
Как-то Гугля сбрендил и вдул робот в фазенду "Жарптыц" 2 тыщи запросов с хвостиком в секунду.
Ну... Птыц встрепенулся и выплюнул все робота. Типа 504 ответ от веб-сервера Гугля так и не получил.
Все остальное - гольное тиаритизирование.
Бо сие факт наблюдаемый и в логах Апачи зафиксированный.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774545
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!пул аж на 127 коннектов, о да это серьезный веб
127 это не коннектов всего, кстати. Влад же написал, что это за ограничение и как оно работает.
Кстати, я помню что в ~2000 году на anekdot.ru (одном из наиболее популярных ресурсов тогда) было около 3 обращений в секунду.
В том же тесте терабайтной БД скорость ШТУЧНОЙ вставки записей 24 тысячи в секунду. Так что не надо тыкать в 127. Вы опять услышали звон, но нифига не поняли.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774691
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, предлагаю считать Yo! пришпиленным аргументами и фактами.
И без конкретных личных фактов, а не сцылок на чужие посты, считать трепологом.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774788
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvYo!ага, мощный веб с таким ограничением будет:
не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.
Нет такого предела. О тупизне разработчиков расскажите вот этим парням: http://www.interactiveone.com/
Они, ясное дело, тупее вас, раз не используют пул коннектов (и даже оракловый shared server).
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774826
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvЛюбой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра. Так что про цирк я не зря упомянул. Можно, конечно, натянуть шатер Шапито, и махать шашкой про 40 тыщ, только Вы бы сами сперва попробовали любой программой это сделать. Ну а потом уже докладывали бы, как это удалось еще кому-то.

эх деревня. зря ты упомянул. ты действительно никогда не сталкивался с серверными линуксами ?

обычный RHEL5:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?php
echo "starting script";
$i= 0 ;
$db = array();
while($i<= 1000 ) {
        $i++;
        echo "making connection $i \n";
        $db[$i] = oci_new_connect ('login', 'paswd', 'localhost/mydb');
}
// var_dump($db);
sleep( 120 );

$i= 0 ;
while($i<= 1000 ) {
        $i++;
        echo "closing connection $i \n";
        oci_close($db[$i]);
}
?>

запускаем, у нас 2 минуты, смотрим
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> select count(*) from v$session ;

  COUNT(*)
----------
      1039

SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
[oracle@msk root] free -m
             total       used       free     shared    buffers     cached
Mem:         16051      15958         93          0        221       8360
-/+ buffers/cache:       7377       8674
Swap:        31996        109      31887

сюрприз да ? стандартное ядро и 1000 коннекций без проблем.
в режиме MTS даже на винде люди 20 000 коннекций в десктоп с 2 Гб RAM запихивают

авторIn test environment, we were able to support more than 20,000 connections to a 2 GB Database Server

http://www.oracle.com/technology/tech/windows/wp/2009/UKOUG2009_Oracle_DB_Performance_on_Windows.ppt
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774876
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!сюрприз да ? стандартное ядро и 1000 коннекций без проблем.

1000 коннектов это ерунда. Ты 10 тысяч покажи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774891
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvболее того, про эти 40 тыщ можно песни петь я не знаю кому. Любой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра.
Причем тут линуксы? На них свет клином не сошелся. Оракл под HP-UX или Solaris вообще без проблем обслуживает больше тысячи соединений (у меня сейчас больше 900 только в Оракле). Это вообще курам на смех, это уже норма практически, такие системы даже большими назвать нельзя.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774909
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneMegabyteВы хотите сказать, что использование CGI-приложения, написанного на Дельфе,
вместо PHPшного скрипта, будет оправдано?!
Оно ж медленнее будет работать.

1) Хм... CGI-шка, написанная на Дельфе, лехким движением руки конвертируется в ISAPI DLL-ку.
Это два.
2) Пыхпышный скрипт, мягко говоря, есть куча мала. Где програмный код свален с HTML в одну кучу с добавкой CSS. Тем самым интерперетатору больше парсить.
3) Плюс к сему текст самих SQL-запросов к Мускулу превышает всякие разумные пределы.
Варианты в 2к знаков текст SQL - не предел.
Что тошь не в + быстродействию Веб-сервера в целом.

4) Стиль же програманья в Дельфе не стимулирует к таким извратам.
Так же как и разделения HTML и програмного кода. Что облегчает (ускоряет) процессы разработки, редизайна и прочие.
Это раз.
1) ISAPI DLL будет работать на линухе, который стоит на большинстве хостингов?
2) Это проблемы конкретного быдлокодера. Нормальные программеры разделяют HTML, CSS и функционал даже в PHP!
4) Согласитесь, это уже вопрос не быстродействия, а скорее привычки и культуры прогаммирования. :) Сам приучен к строгому стилю Дельфи и стараюсь так же писать в PHP.
3) Да, до сих пор большинство разработчиков пишут прямой SQL-код(вместо вызовов ХП и функций) в теле PHP-скрипта. Сам считаю это извратом, только причем здесь PHP? Даже MySQL непричем. Просто на большинстве хостингов нет нормального менеджера СУБД для поддержки серверного кода. Самый популярный PHPMyAdmin знать не знает ни про какие ХП, функции и триггеры(или я отстал от жизни, есть версия, которая знает?).
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36774937
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte
1) ISAPI DLL будет работать на линухе, который стоит на большинстве хостингов?

Кажись я выше грил, что речь идет о суриозном проекте, а не комигзоколхозе 10$ за 100 доменов и 10000 сатегов на одном флаконе...

Megabyte
Даже MySQL непричем.
А чего мускулистам дали теперь и нормальные ХП-шки?...

Megabyte
Просто на большинстве хостингов нет нормального менеджера СУБД для поддержки серверного кода.
Это проблемы мускулистов...
Что есть афигенный минус Мюслику(от слова "мюсли", а не "мысли") с точки зрения разработчика ПО.

Megabyte и триггеры.
Чёт мне грит тригеров (аналогичных FB) там как не было, так и нет.
Или я отстал от жизни, есть версия, которая умеет?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775001
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex(у меня сейчас больше 900 только в Оракле).

Пока Ё не проснулся:
Код: plaintext
1.
2.
3.
4.
SQL> select count(*) from mon$attachments;

        COUNT
============
          3970 

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775066
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Пока Ё не проснулся:
Код: plaintext
1.
2.
3.
4.
SQL> select count(*) from mon$attachments;

        COUNT
============
          3970 

ядро долго пересобирал ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775090
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ядро долго пересобирал ?

О чём ты? Это на винде из коробки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775114
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!сюрприз да ? стандартное ядро и 1000 коннекций без проблем.
ок, не спорю, значит мои данные устарели, хотя лет 5-6 назад это было правдой. Но 1000 нынешних коннектов это не 40 тысяч и не 200 тысяч.

ApexЭто вообще курам на смех, это уже норма практически, такие системы даже большими назвать нельзя.
про 1000 или про 40 тысяч?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775117
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne[quot Megabyte]
1) А чего мускулистам дали теперь и нормальные ХП-шки?...

2) Это проблемы мускулистов...
Что есть афигенный минус Мюслику(от слова "мюсли", а не "мысли") с точки зрения разработчика ПО.

3) Чёт мне грит тригеров (аналогичных FB) там как не было, так и нет.
Или я отстал от жизни, есть версия, которая умеет?
1) Эмм, ну я не в курсе, что вы имеете ввиду под "нормальными ХП", в 5й версии появились.
2) Кто спорит, но уж точно не проблемы PHP. :)
3) Я не знаю, сам не пользовал(не так много чего прогал под вебу на PHP+MySQL), но яндекс говорит, что триггеры есть.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775136
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte2) Кто спорит, но уж точно не проблемы PHP. :)


3) Я не знаю, сам не пользовал(не так много чего прогал под вебу на PHP+MySQL), но яндекс говорит, что триггеры есть.[/quot]
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775142
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сории...
Дупль2


Megabyte
2) Кто спорит, но уж точно не проблемы PHP. :)
это проблема Мюслика.
- Адназначна.

Megabyte
1) Эмм, ну я не в курсе, что вы имеете ввиду под "нормальными ХП", в 5й версии появились.
...
3) но яндекс говорит, что триггеры есть.
От тлин как!
Глядишь так FB догонит по функционалу...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775161
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
- Вона Трындекс набрал плошоплюшников с мюскулистами и результ...
Капча - 500 еггор.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775201
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneГлядишь так FB догонит по функционалу...

Когда нибудь. В перспективе. Когда я последний раз смотрел на описание этих триггеров, то
в них было запрещено обращаться к другим таблицам. Т.е. триггера вроде как есть, но
сделать в них что-то большее чем field=1 - облом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775235
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
ок, не спорю, значит мои данные устарели, хотя лет 5-6 назад это было правдой.

тебя ткнуть в RHEL4 ? у меня есть ...

ЗЫ. 5-6 лет назад половина топ10 из tpc-c была зафиксирована ОДНОМ гигабитном свиче
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775258
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТ.е. триггера вроде как есть, но...
... как всегда - одно название. Так же как и ихние транзюкции.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775972
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

А чем транзакции-то не угодили? Вполне себе нормальные транзакции. Даже распределённые есть, вроде (но сам не проверял).
Да и версионность не хужее фаербёрда.

Вот триггера и ХП -- те да, для галочки.

Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775985
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Привет, ДокаОлл! :-)

DocAlА чем транзакции-то не угодили? Вполне себе нормальные транзакции.

Да и версионность не хужее фаербёрда.

Вот триггера и ХП -- те да, для галочки.

Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.[/quot]
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775988
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА чем транзакции-то не угодили? Вполне себе нормальные транзакции.
Небось опять ток в одном каком-нить двишке... ;-)


DocAl
Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.
- Аргументируй! (С)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36775994
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с транзакциями у mysql/innodb много лучше. во первых там нет гемора со сборкой мусора т.к. есть нормальный UNDO, во вторых там нормальный для версионника READ COMMITED, в отличие от ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776025
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!с транзакциями у mysql/innodb ...... а в остальных - оных ва-аще нету.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776045
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Di_LIneYo.!с транзакциями у mysql/innodb ...... а в остальных - оных ва-аще нету.
и это здорово ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776063
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

Ну слушай, мы же это уже обсуждали... Я говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД, в классическом режиме не шарится кеш, в а суперсервере -- нет SMP. Мне отвечали, что всё это ерунда, потому что... потому что ерунда, в общем.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776065
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneYo.!с транзакциями у mysql/innodb ...... а в остальных - оных ва-аще нету.А у фаербёрда и остальных-то нет, о чём говорить?)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776105
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlЯ говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД
не, ребят, я точно скоро начну про Оракл похожую чушь декларировать. Только не на этом форуме, а на каких-нибудь более скромных местах, где одни новички. Вести, так-сказать, подрывную деятельность.

Казалось бы - не работаешь с ФБ, ну чего тебя дерёт-то? Но нет.... мусолят одно и то же годами. Или найдут какую-нибудь фразу, поймут ее по своему, абсолютно неправильно - и давай точить.

p.s.Какой, блин, кэш ФС на веб-сервере, при чем тут веб-сервер, и т.д.?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776106
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlНу слушай, мы же это уже обсуждали...
А чё они опять....

DocAl Я говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД,
А кто лучше мАгет?
Али разработчики Мускула или ФаерБерда лучше, чем разработчики ОСей, знают что и как?
А как тогда всяки-разные файло-системы под комигзы?
Типа и в этом разработчики СУБД тошь должны вся и всех отслеживать. ;-)

DocAl в классическом режиме не шарится кеш
А пачиму он дАлжон шарится?
Вона, Интел, тошь с шарингом кеша в процах мается.
Даже взгляд на структуру процов грит о сложности вопроса.

DocAl в а суперсервере -- нет SMP.
А пАчиму в супере он дАлжон быть? ;-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776130
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
не, ребят, я точно скоро начну про Оракл похожую чушь декларировать. Только не на этом форуме, а на каких-нибудь более скромных местах, где одни новички. Вести, так-сказать, подрывную деятельность.

и действительно, что за фигня, что за дурацкое место, как только начинаю нести несусветную чушь тут же приходит Yo! тыкает носом в авно

ЗЫ. только одна просьба, когда пойдешь, забери весь свой цирк вместе с шатром, пожааалуйста ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776168
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!и действительно, что за фигня, что за дурацкое место, как только начинаю нести несусветную чушь тут же приходит Yo! тыкает носом в авно
в говно обычно тыкают носом Yo!, когда он начинает нести несусветную чушь о том, в чем ничего не понимает.

Yo!ЗЫ. только одна просьба, когда пойдешь, забери весь свой цирк вместе с шатром, пожааалуйста ...
нет уж. Ваш шапито с 40к и 200к коннектов на двузвенке оставьте себе.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776213
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, с тобой неинтересно общаться. Аргументировать свою позицию ты не хочешь, а давить авторитетом -- много ума не надо.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776373
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Di_LIneГлядишь так FB догонит по функционалу...

Когда нибудь. В перспективе. Когда я последний раз смотрел на описание этих триггеров, то
в них было запрещено обращаться к другим таблицам. Т.е. триггера вроде как есть, но
сделать в них что-то большее чем field=1 - облом.


О да :) я совсем забыл
IB/FB научился делать insert into tab ... select * from tab
или все еще уходит в астрал???

update tab set a = b + 1, b = a * 2

update tab set b = a * 2, a = b + 1

уже начали давать одинаковые результаты?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776400
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)IB/FB научился делать insert into tab ... select * from tab
или все еще уходит в астрал???
update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1

От тлин как!
Видимо мюскля хвастается, что арихметику щитать умеет.
А гороскопы еще строить не научился?
А интегралы и матрицы? Вот жеж еще поле не паханное.

Бо это сей конструкций - рудимент файлманагера.
Но ни как не клиент-серверной архитектуры.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776417
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1

Так, для опщего развития...
- А какие значения будут внесены в поля?
По old.a и old.b или по new.a и new.b?
Ии как тогда гасится рекурсия?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776428
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneGluk (Kazan)
update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1

Так, для опщего развития...
- А какие значения будут внесены в поля?
По old.a и old.b или по new.a и new.b?
Ии как тогда гасится рекурсия?
Firebird же козыряет своей версионностью, вот бы её тут и применить?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776462
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlFirebird же козыряет своей версионностью, вот бы её тут и применить?
Тут и козырять, вопчем, нечем и незачем...
Так как еще стоит заглянуть в тригер на UPDATE:
- Мошь чё еще там наваято...
Но раз муюслик настоко... однофазный, на пролетарский штык, то...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776469
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
update tab set a = b + 1, b = a * 2

update tab set b = a * 2, a = b + 1

уже начали давать одинаковые результаты?А что ФБ не умеет такого делать? о_О
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776477
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока мюсля рекурсию
автор
... и впихивал, и всовывал,
хрипел, с натуги сплёвывал,
и желтый клык высовывал...
вся табля так и стоит, блокированная насмерть?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776478
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)уже начали давать одинаковые результаты?
огорчу тебя - таки начали :-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776480
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitrGluk (Kazan)уже начали давать одинаковые результаты?
огорчу тебя - таки начали :-)Щас еще какую-нибудь мульку вспомнит пятилетней давности
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776486
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr[quot Gluk (Kazan)]огорчу тебя - таки начали :-)
Ну вот... Им жеж терь и покуражится нечем будет.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776516
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
О да :) я совсем забыл
IB/FB научился делать insert into tab ... select * from tab
или все еще уходит в астрал???

update tab set a = b + 1, b = a * 2

update tab set b = a * 2, a = b + 1

уже начали давать одинаковые результаты?
неа, баг со стабильностью курсора так не поправлен, просто замаскировали пару частных случаев в update
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776527
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776576
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitr
причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?
при том insert into и update частные случаи бредятины из одной проблемы - стабильность курсора.
update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776585
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlDi_LIneGluk (Kazan)
update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1

Так, для опщего развития...
- А какие значения будут внесены в поля?
По old.a и old.b или по new.a и new.b?
Ии как тогда гасится рекурсия?
Firebird же козыряет своей версионностью, вот бы её тут и применить?

+1

Значит от детских болезней не избавились ?
И продолжают учить не ковырять в носу, ой же ей
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776588
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrGluk (Kazan)уже начали давать одинаковые результаты?
огорчу тебя - таки начали :-)

Ну слава яйцам :)
нашли таки куда версионность применить
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776624
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...Это вгде и в каком году?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776628
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ну слава яйцам :)
нашли таки куда версионность применить

Теперь очередь Оракула применять версионность к мутирующим таблицам.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776638
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
eBaseЭто вгде и в каком году?
Firebird 2.0
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776640
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!dimitr
причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?
при том insert into и update частные случаи бредятины из одной проблемы - стабильность курсора.
update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...
И причем тут Web? MySQL тоже много чего не умеет, но это ей не мешает.

Вот то, что провайдера для указанной комбинации (FB+Delphi) будет дорого найти, это проблема...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776648
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!eBaseЭто вгде и в каком году?
Firebird 2.0Ну если быть любителем старины то можно и в 1.0 поковыряться, может там еще осталось что-то интересное что можно по-закидывать ка...ми
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776668
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

про "частные случаи одной проблемы" - ты свечку держал, когда оно фиксилось? Или дальше поверхностной схожести симптомов копать выше твоего достоинства?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776678
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)нашли таки куда версионность применить
ну хоть ты до уровня Ё не опускайся :-) Причем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776715
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Ну слава яйцам :)
нашли таки куда версионность применить

Теперь очередь Оракула применять версионность к мутирующим таблицам.


Там не все также просто :)
Аналогия не очень уместна

Но вообще согласен, раздражает
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776719
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrGluk (Kazan)нашли таки куда версионность применить
ну хоть ты до уровня Ё не опускайся :-) Причем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)

версионность это больше про астрал при insert из select-а той-же таблицы :)
где там :new и :old???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776757
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Аналогия не очень уместна

Абсолютно уместна. Из триггера Oracle нельзя читать или изменить таблицу для которой этот
триггер вызван. Нельзя видеть старые данные (для чего и предназначена версионность). Т.е.
версионность у Оракула несколько кастрирована.

А вот когда в триггере будет можно читать таблицу, настанет очередь стабильности курсора,
чтобы обеспечить чтение данных в состоянии только на начало запроса, вызвавшего
срабатывание триггера.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776773
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)версионность это больше про астрал при insert из select-а той-же таблицы :)И опять пальцем в небо
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776808
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAIkdv, с тобой неинтересно общаться. Аргументировать свою позицию ты не хочешь, а давить авторитетом -- много ума не надо.
где я давлю авторитетом? Это вы наоборот давите не-авторитетом, долбя одно и то же как заведенные.

Gluk (Kazan)update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1
уже начали давать одинаковые результаты?

2.5. Ты счастлив? :-)

Yo!сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...
феерично. Послушайте, Yo!, я вот периодически вижу как Вы по Ораклу людям отвечаете, вроде бы вменяемый и грамотный человек. Но начиная говорить про FB Вы превращаетесь в какого-то злобного идиота.
Вроде с одной стороны про стабильность курсора - да, и то, если бы я это ясно не показал в свое время здесь на форуме, то Вы бы и не догадались (кроме insert into select from, что общеизвестно). Но дальше Вы начинаете мешать в кучу совершенно разные вещи, утверждая РАЗРАБОТЧИКАМ (не мне) Firebird что это все одно и то же.
Когда до Вас наконец дойдет, о чем можно спорить с разработчиками продукта, а о чем - нельзя?

От позора Вас спасает только то, что слишком мало людей знают внутренности FB для опровержения Вашего бреда. А в отношении тех, кто этих внутренностей не знает, Вы фактически являетесь ВРЕДИТЕЛЕМ, потому что дезинформируете их. Впрочем, Вы и сами дезинформированы (сами собой), хотя я до сих пор не уверен, специально все это делается или "по доброте душевной".
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776861
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Аналогия не очень уместна

Абсолютно уместна. Из триггера Oracle нельзя читать или изменить таблицу для которой этот
триггер вызван. Нельзя видеть старые данные (для чего и предназначена версионность). Т.е.
версионность у Оракула несколько кастрирована.

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


Я вообще-то где-то говорил про триггеры???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776874
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Gluk (Kazan)update tab set a = b + 1, b = a * 2
update tab set b = a * 2, a = b + 1
уже начали давать одинаковые результаты?

2.5. Ты счастлив? :-)


При любых начальных значениях ??? o O
Вауууу
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776877
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGluk (Kazan)версионность это больше про астрал при insert из select-а той-же таблицы :)И опять пальцем в небо

Мысль расшифруешь?
Или это просто рефлекторно-коллективное забрасывание какашками???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776893
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitrПричем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)
блокировочный мсскл 2000 OLD вычислял прочесывая лог транзакций, мсскл 2005 для этой же цели юзает версионный механизм (не важно включен ли он)

2kdv

а ты действительно не помнишь кто тебе разжевывал этот баг в 2005 году ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776903
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)hvladGluk (Kazan)версионность это больше про астрал при insert из select-а той-же таблицы :)И опять пальцем в небо

Мысль расшифруешь?Сначала расскажи мне, каким боком версионность может влиять на insert into t select * from t, а я уже дополню\опровергну\расскажу как на самом деле.

Gluk (Kazan)Или это просто рефлекторно-коллективное забрасывание какашками???Не увлекаюсь
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776965
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСначала расскажи мне, каким боком версионность может влиять на insert into t select * from t, а я уже дополню\опровергну\расскажу как на самом деле.


А я и не говорил, что она влияет :)
Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и делает)
Как он это делает, объяснять надеюсь не надо ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776973
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Я вообще-то где-то говорил про триггеры???

Ты появился в теме после заявления, что триггеры в MySQL - чисто для галочки. Для
склеротичных:

Gluk (Kazan)Dimitry SibiryakovТ.е. триггера вроде как есть, но сделать в них
что-то большее чем field=1 - облом.
О да :) я совсем забыл

Так о чём же ты тут говорил? О неграх, которых линчуют?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776980
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!а ты действительно не помнишь кто тебе разжевывал этот баг в 2005 году ?
спаси и сохрани! Неужели я в 2005 году, за 10 лет работы с InterBase и 5 лет работы с Firebird не знал о "нестабильности курсора"? И только великий Yo!, автор многих статей по версионности IB/FB, наставил меня на путь истинный?

Так что насчет "разжевывания" - это вряд ли. А вот обсуждение (вообще) вполне могло быть, включая вопросы к терминологии.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36776983
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и
делает)
Как он это делает, объяснять надеюсь не надо ???

На что я ответил, что версионность можно применить для решения проблемы с мутациями (что
собственно Firebird и делает)
Как она это делает, объяснять надеюсь не надо ???
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777011
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)hvladСначала расскажи мне, каким боком версионность может влиять на insert into t select * from t, а я уже дополню\опровергну\расскажу как на самом деле.


А я и не говорил, что она влияет :)См. выделенное

Gluk (Kazan)Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и делает)
Как он это делает, объяснять надеюсь не надо ???А объясни убогому, может америку откроем.

PS Решение этой проблемы в разработке, оно обкатывается. И конкретно для insert версионность не нужна. Вот для update\delete - да, помогает.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777031
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Я вообще-то где-то говорил про триггеры???

Ты появился в теме после заявления, что триггеры в MySQL - чисто для галочки. Для
склеротичных:

Gluk (Kazan)Dimitry SibiryakovТ.е. триггера вроде как есть, но сделать в них
что-то большее чем field=1 - облом.
О да :) я совсем забыл

Так о чём же ты тут говорил? О неграх, которых линчуют?..


я спрашивал как дела с update-ом и insert-ом
мне сказали намана - вроде все довольны ??? или нет ?

Если задел религиозные чувства, прошу прощения
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777040
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)
Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и
делает)
Как он это делает, объяснять надеюсь не надо ???

На что я ответил, что версионность можно применить для решения проблемы с мутациями (что
собственно Firebird и делает)
Как она это делает, объяснять надеюсь не надо ???


Надо :) Но если ломает, не обязательно
Поскольку в моем случае, любопытство на тему как сделать всех счастливыми, применив версионность в триггерах против мутаций, мне дюже интересно (я всегда стараюсь слушать, что умные люди говорят), но в какие-то исправления в Oracle вылиться не может
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777047
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)я спрашивал как дела с update-ом и insert-ом
мне сказали намана - вроде все довольны ??? или нет ?

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

А вот знают ли разработчики MySQL способы обхода запрета на DML в триггерах - вопрос пока
без ответа.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777053
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Gluk (Kazan)Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и делает)
Как он это делает, объяснять надеюсь не надо ???А объясни убогому, может америку откроем.

PS Решение этой проблемы в разработке, оно обкатывается. И конкретно для insert версионность не нужна. Вот для update\delete - да, помогает.

А чоб не объяснить Особенно если юродствовать перестанешь.
Применяется просто. В момент начала SQL-запроса, фиксируется SCN и все данные для выполнения этого запроса берутся из блоков согласованными на момент этого SCN. insert (и update тоже) просто не видят то что они наизменяли физически. Есть правда толстый нюанс с миниоткатами, но кто-ж сказал, что надо делать именно как в Oracle???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777055
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
На что я ответил, что версионность можно применить для решения проблемы с мутациями (что
собственно Firebird и делает)
Как она это делает, объяснять надеюсь не надо ???


надо, надо. давай, жуть как хочется услышать как же ФБ борется с мутациями. попкорн приготовлен.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777057
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)я спрашивал как дела с update-ом и insert-ом
мне сказали намана - вроде все довольны ??? или нет ?

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

А вот знают ли разработчики MySQL способы обхода запрета на DML в триггерах - вопрос пока
без ответа.


ну яж так и говорю - все довольны
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777082
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Надо :)

А чоб не объяснить Особенно если юродствовать перестанешь.
Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для
выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным
номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной
транзакции. Есть правда толстый нюанс с видимостью изменений, произведённых в той же
транзакции, но кто-ж сказал, что надо делать именно как в Firebird???
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777093
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Надо :)

А чоб не объяснить Особенно если юродствовать перестанешь.
Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для
выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным
номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной
транзакции. Есть правда толстый нюанс с видимостью изменений, произведённых в той же
транзакции, но кто-ж сказал, что надо делать именно как в Firebird???


Если не возражаешь, я послушаю, что скажет hvlad
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777125
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
А чоб не объяснить Особенно если юродствовать перестанешь.
Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для
выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным
номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной
транзакции.

ого, точно что ли ? вот это да. я потрясен. у меня нет слов. единственно уважаемый не могли бы вы пояснить в чем собственно отличие такого поведения от любой другой версионной субд ?

Dimitry Sibiryakov
Есть правда толстый нюанс с видимостью изменений, произведённых в той же
транзакции, но кто-ж сказал, что надо делать именно как в Firebird???

ну-ну, и в чем же заключается защита от произведенных изменений ? как решена проблема мутаций ? ты главное не пропадай !
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777143
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!в чем собственно отличие такого поведения от любой другой версионной субд ?

В отсутствии запрета на чтение таблиц из триггеров.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777170
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
В отсутствии запрета на чтение таблиц из триггеров.


я потрясен и у меня просто открылись глаза. ведь firebird действительно решил проблему мутировавших данных! он просто читатет мутировавшие данные и в этом и есть решение !!
спасибо дорогой, у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили не нужных проверок, жить эксепшенами мешают, а ведь можно так просто решить проблему - просото читать муйню тихо молча, никого не раздражая. как же я не понимал такую простую истину
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777178
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)hvlad
Gluk (Kazan)Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и делает)
Как он это делает, объяснять надеюсь не надо ???А объясни убогому, может америку откроем.

PS Решение этой проблемы в разработке, оно обкатывается. И конкретно для insert версионность не нужна. Вот для update\delete - да, помогает.

А чоб не объяснить Особенно если юродствовать перестанешь.Я и не начинал :)

Gluk (Kazan)Применяется просто. В момент начала SQL-запроса, фиксируется SCN и все данные для выполнения этого запроса берутся из блоков согласованными на момент этого SCN. insert (и update тоже) просто не видят то что они наизменяли физически. Многовато-же блоков приходится ему запоминать...

Gluk (Kazan)Есть правда толстый нюанс с миниоткатами, но кто-ж сказал, что надо делать именно как в Oracle??? Именно так в Firebird не сделано, причём сознательно. Считается, что прикладной разработчик сам в состоянии обработать конфликт обновления и решить - повторять ему запрос или нет.


Firebird (думаю как и все остальные транзакционные СУБД) имеет (в основном в памяти) лог изменений, сделанных каждым запросом (undo-log).
Конкретно для insert'ов это разреженный битмап с номерами вставленных записей. Использовать его для корректной работы insert from select не просто, а очень просто.
Для отслеживания изменений, произведенных update\delete, используется всё тот же undo-log. Иногда бекверсия хранится прямо в нём, иногда приходится доставать её с диска (в основном из кеша, конечно). Расписывать подробности пока не хочу.

Так что для insert from select версионность никак не нужна :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777208
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladМноговато-же блоков приходится ему запоминать...


Бесплатных пирожных не завезли

hvlad
...
Так что для insert from select в FB версионность никак не нужна :)


не нужна, так не нужна ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777255
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили
не нужных проверок, жить эксепшенами мешают, а ведь можно так просто> решить проблему -
просото читать муйню тихо молча, никого не раздражая.

Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не
могут. Индусы, что с них возьмёшь...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777311
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Yo.!
у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили
не нужных проверок, жить эксепшенами мешают, а ведь можно так просто> решить проблему -
просото читать муйню тихо молча, никого не раздражая.

Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не
могут. Индусы, что с них возьмёшь...


Ну видать индусы и умные попадаются :)
Индия большая
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777333
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ну видать индусы и умные попадаются :)
Индия большая

Поэтому вероятность того, что умные индусы попадутся именно в команде разработки Оракула,
стремится к нулю. Раз уж они так и не смогли разрешить триггерам читать версии на момент
начала запроса.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777334
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не
могут. Индусы, что с них возьмёшь...

на уровне serializable SCN согласован, но мутация из-за своих же изменений происходит, может ты предлагаешь забив на любые изменения своей транзакции ? отличный солюшен был бы
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777355
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!мутация из-за своих же изменений происходит,

Ты открыл мне глаза! Мутации происходят из-за своих изменений! А нестабильность курсора -
из-за чужих. Чудо! Стабильность курсора не в состоянии справиться с мутациями! Мутации
запрещены чтобы не дай бог курсор не дестабилизировался. Ценой стабильности курсора
являются мутации. Логика - сила!

И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777449
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Ну видать индусы и умные попадаются :)
Индия большая

Поэтому вероятность того, что умные индусы попадутся именно в команде разработки Оракула,
стремится к нулю. Раз уж они так и не смогли разрешить триггерам читать версии на момент
начала запроса.


Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777480
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой...

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

Dimitry Sibiryakov
Ценой стабильности курсора являются мутации.

вот это интересно, не поделишься ли своим виденьем этой цены ? типа отсутствие стабильности курсора в запросе оправдывает позволение читать мутируюшие данные или родилась более глубокая мысль ? у меня попкорн не закончился :-)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777731
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"

Что означает, что позволить "читать данные, согласованными на момент этого SCN" - решение
неумное. Ну-ну...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777775
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"

Что означает, что позволить "читать данные, согласованными на момент этого SCN" - решение
неумное. Ну-ну...


Ну-ну, меня несколько обескураживает Ваша логика (расшифруете логический вывод?)
Позволить читать данные согласованными на момент начала запроса это гениальное решение.
К сожалению, индусы сподобились выдать только умное.

Неумное решение - позволить читать несогласованные данные
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777795
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Позволить читать данные согласованными на момент начала запроса это гениальное решение.
К сожалению, индусы сподобились выдать только умное.

Т.е. на всех таблицах они сподобились на гениальность, а вот на ту, для которой был вызван
DML у них гениальности не хватило.


Gluk (Kazan)Неумное решение - позволить читать несогласованные данные

Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их
"несогласованность"?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777807
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их
"несогласованность"?


В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса.
В том что изменения выполненные update-ом еще не существовали на момент его начала.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777867
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса.
В том что изменения выполненные update-ом еще не существовали на момент его начала.

И в чём же "несогласованность"? Да, не существовали. Они так же не существовали на момент
старта транзакции. Как сказал Ё: "может ты предлагаешь забив на любые изменения своей
транзакции ? отличный солюшен был бы"
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36777969
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladМноговато-же блоков приходится ему запоминать...
Ага, есть интересная проблема (фича) "большой АНДЫ", которую и хрен шринкуешь потом и откатываться может сутками )
hvladFirebird (думаю как и все остальные транзакционные СУБД) имеет (в основном в памяти) лог изменений, сделанных каждым запросом (undo-log).
Конкретно для insert'ов это разреженный битмап с номерами вставленных записей. Использовать его для корректной работы insert from select не просто, а очень просто.
Для отслеживания изменений, произведенных update\delete, используется всё тот же undo-log. Иногда бекверсия хранится прямо в нём, иногда приходится доставать её с диска (в основном из кеша, конечно). Расписывать подробности пока не хочу.

Интересно, а памяти как хватает при массовых операциях, см.как у Оракла?

ЗЫ. Надо каждый топик в "Сравнении СУБД" вовремя форкать, чтобы опять не скатывался в орафайресрач )
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778002
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglИнтересно, а памяти как хватает при массовых операциях, см.как у Оракла?Промежуточные бекверсии переливаются на диск, после превышения некоторого порога в памяти.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778122
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал-читал-читал...
Но так и не вкурил, почему ПРИНЦИПИЯЛЬНО нельзя использовать СУБД, успешно используемую во многих офф-лайн системах и интранетах, на Веб-сервере в инете? (со всеми её потрохами)

Ответ: - Нету хостеров - не взачиот.
Так как, кто тебе мешает быть сам-себе-хостер, кроме собственной лени...

Паралеьно второй вопрос, с пируетом на 180 о ...
- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778163
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Виртуальный сервер - дорого. SQL2008 vs VPD для FB.
2.Возможно, потому что по сути гуано? Разработчики избалованы, им фичи подавай, удобства там, визуализацию.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778220
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglВиртуальный сервер - дорого. SQL2008 vs VPD для FB.
это всего-лишь тарифы такие. VPD начинается за 800 руб там, где SQL2008 кончается за 1400 руб. То есть, грубо говоря с SQL2008 тарифы до 700 руб это просто замануха.

К сожалению, это только моя теория, интересно было бы посмотреть для каких задач могут использоваться тарифы SQL до 700р в месяц.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778297
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne
- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?

Потому что руки её авторов... сомнительного качества.

На примере тех же триггеров: авторы MySQL вообще ничего толкового в них сделать не смогли
и потому запретили вообще обращения к таблицам. Авторы Oracle были чуть получше и
запретили обращение не ко всем таблицам, а только к некоторым. Поэтому Oracle прижился в
офф-лайне, а MySQL - не судьба.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778344
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Di_LIne
- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?

Потому что руки её авторов... сомнительного качества.

На примере тех же триггеров: авторы MySQL вообще ничего толкового в них сделать не смогли
и потому запретили вообще обращения к таблицам. Авторы Oracle были чуть получше и
запретили обращение не ко всем таблицам, а только к некоторым. Поэтому Oracle прижился в
офф-лайне, а MySQL - не судьба.

Дааа, самомнения у разработчиков ФБ не занимать :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778348
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexДааа, самомнения у разработчиков ФБ не занимать :)

Хорошо натренированные чтением документации Оракла люди способны разглядеть ФБ таже там,
где я специально о ней ни разу не упомянул...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778378
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
ApexДааа, самомнения у разработчиков ФБ не занимать :)

Хорошо натренированные чтением документации Оракла люди способны разглядеть ФБ таже там,
где я специально о ней ни разу не упомянул...

Не только чтением и не только Оракла. А ФБ у тебя на лбу написан.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778405
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexНе только чтением и не только Оракла. А ФБ у тебя на лбу написан.
ок, а у Вас на лбу что написано?

Кстати. Топик этот как называется? коршуны чего налетели-то, не пойму.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778412
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
ок, а у Вас на лбу что написано?

Ну уж точно не только Оракл,если вы об этом.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778705
Фотография Saller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexДааа, самомнения у разработчиков ФБ не занимать :)А при чем тут самомнение? Или факты это такая страшная вещь чтобы их принимать как они есть? Откройте документацию того же MySQL и FireBird и сравните возможности триггеров и там и там. А так только пустозвон в Ваших постах.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778840
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я лублу Постгре. А если вы тут будите оффтопить - будем вместе изучать ФыВыМас - в наказание. А то там керды-перды-кун что-то молчит.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36778937
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone, ну и луби... Те кто-то(что-то) мешает?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779033
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneА я лублу Постгре.

Вот и расскажи нам: что он позволяет читать/писать в триггерах и к каким результатам это
приводит. Чтобы можно было решить куда в этой линейке его поместить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779189
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
WarstoneА я лублу Постгре.

Вот и расскажи нам: что он позволяет читать/писать в триггерах и к каким результатам это
приводит. Чтобы можно было решить куда в этой линейке его поместить.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
DROP TABLE IF EXISTS test;
CREATE TEMP TABLE test(
	id bigserial NOT NULL PRIMARY KEY,
	a integer,
	b integer
);

CREATE OR REPLACE FUNCTION test_bi_trg() RETURNS TRIGGER AS $BODY$
DECLARE
	r	RECORD;
BEGIN
	RAISE NOTICE 'begin of test_bi_trg(). New rec: %, %, %', NEW.id, NEW.a, NEW.b;
	FOR r IN SELECT * FROM test LOOP
		RAISE NOTICE 'reading test: %, %, %', r.id, r.a, r.b;
	END LOOP;
	RAISE NOTICE 'end of procedure. RETURNING NEW.';
	RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';

CREATE OR REPLACE FUNCTION test_ai_trg() RETURNS TRIGGER AS $BODY$
DECLARE
	r	RECORD;
BEGIN
	RAISE NOTICE 'begin of test_ai_trg(). New rec: %, %, %', NEW.id, NEW.a, NEW.b;
	FOR r IN SELECT * FROM test LOOP
		RAISE NOTICE 'reading test: %, %, %', r.id, r.a, r.b;
	END LOOP;
	RAISE NOTICE 'end of procedure.';
	RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';

INSERT INTO test VALUES(DEFAULT,  1 ,  2 );

CREATE TRIGGER trg_test_bi_1 BEFORE INSERT ON test FOR EACH ROW EXECUTE PROCEDURE test_bi_trg();
CREATE TRIGGER trg_test_ai_1 AFTER INSERT ON test FOR EACH ROW EXECUTE PROCEDURE test_ai_trg();

INSERT INTO test VALUES(DEFAULT,  3 ,  4 );
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial column "test.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
NOTICE:  begin of test_bi_trg(). New rec:  2 ,  3 ,  4 
NOTICE:  reading test:  1 ,  1 ,  2 
NOTICE:  end of procedure. RETURNING NEW.
NOTICE:  begin of test_ai_trg(). New rec:  2 ,  3 ,  4 
NOTICE:  reading test:  1 ,  1 ,  2 
NOTICE:  reading test:  2 ,  3 ,  4 
NOTICE:  end of procedure.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779234
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone
Т.е. PG позволяет читать из модифицируемой таблицы. В этом он обставил "старшего брата". А
писать в неё?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779251
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Warstone
Т.е. PG позволяет читать из модифицируемой таблицы. В этом он обставил "старшего брата". А
писать в неё?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
DROP TABLE test;
CREATE TEMP TABLE test(
	id bigserial NOT NULL PRIMARY KEY,
	a integer,
	b integer
);

CREATE OR REPLACE FUNCTION test_bi_trg() RETURNS TRIGGER AS $BODY$
DECLARE
	r	RECORD;
BEGIN
	RAISE NOTICE 'begin of test_bi_trg(). New rec: %, %, %', NEW.id, NEW.a, NEW.b;
	FOR r IN SELECT * FROM test LOOP
		RAISE NOTICE 'reading test: %, %, %', r.id, r.a, r.b;
	END LOOP;
	IF NEW.a <>  10  THEN
		RAISE NOTICE 'Begin Insert new vaules.';
		INSERT INTO test VALUES (DEFAULT,  10 ,  11 );
		RAISE NOTICE 'Insert new vaules. Rereading';
		FOR r IN SELECT * FROM test LOOP
			RAISE NOTICE 'reading test: %, %, %', r.id, r.a, r.b;
		END LOOP;
	END IF;
	RAISE NOTICE 'end of procedure. RETURNING NEW.';
	RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';

CREATE OR REPLACE FUNCTION test_ai_trg() RETURNS TRIGGER AS $BODY$
DECLARE
	r	RECORD;
BEGIN
	RAISE NOTICE 'begin of test_ai_trg(). New rec: %, %, %', NEW.id, NEW.a, NEW.b;
	FOR r IN SELECT * FROM test LOOP
		RAISE NOTICE 'reading test: %, %, %', r.id, r.a, r.b;
	END LOOP;
	RAISE NOTICE 'end of procedure.';
	RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';

INSERT INTO test VALUES(DEFAULT,  1 ,  2 );

CREATE TRIGGER trg_test_bi_1 BEFORE INSERT ON test FOR EACH ROW EXECUTE PROCEDURE test_bi_trg();
CREATE TRIGGER trg_test_ai_1 AFTER INSERT ON test FOR EACH ROW EXECUTE PROCEDURE test_ai_trg();

INSERT INTO test VALUES(DEFAULT,  3 ,  4 );
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial column "test.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
NOTICE:  begin of test_bi_trg(). New rec:  2 ,  3 ,  4 
NOTICE:  reading test:  1 ,  1 ,  2 
NOTICE:  Begin Insert new vaules.
NOTICE:  begin of test_bi_trg(). New rec:  3 ,  10 ,  11 
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  reading test:  1 ,  1 ,  2 
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  end of procedure. RETURNING NEW.
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  begin of test_ai_trg(). New rec:  3 ,  10 ,  11 
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  reading test:  1 ,  1 ,  2 
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  reading test:  3 ,  10 ,  11 
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  end of procedure.
КОНТЕКСТ:  SQL statement "INSERT INTO test VALUES (DEFAULT, 10, 11)"
PL/pgSQL function "test_bi_trg" line  10  at SQL statement
NOTICE:  Insert new vaules. Rereading
NOTICE:  reading test:  1 ,  1 ,  2 
NOTICE:  reading test:  3 ,  10 ,  11 
NOTICE:  end of procedure. RETURNING NEW.
NOTICE:  begin of test_ai_trg(). New rec:  2 ,  3 ,  4 
NOTICE:  reading test:  1 ,  1 ,  2 
NOTICE:  reading test:  3 ,  10 ,  11 
NOTICE:  reading test:  2 ,  3 ,  4 
NOTICE:  end of procedure.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779305
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, круто. Индусы могут плакать от зависти.

А что будет если убрать "IF NEW.a<>10"?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779312
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
О, круто. Индусы могут плакать от зависти.

А что будет если убрать "IF NEW.a<>10"?
Бесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779435
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarstoneБесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.
какая неожиданность
что-то индусы мне все больше нравятся. к стате интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где оракл мниоткат делает ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779473
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где
оракл мниоткат делает ?

Запросы знаю... таблицы знаю... индексы знаю... Предикатов не знаю. Что индусы называют
"предикатами"?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779479
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!WarstoneБесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.
какая неожиданность
что-то индусы мне все больше нравятся. к стате интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где оракл мниоткат делает ?
Может пойдем еще дальше, и для того чтобы ликвидировать опасность попадание в бесконечный цикл запретим на уровне PSQL все операторы циклов и переходов, а? Бог с тем Тьюрингом, пусть будет только последовательное выполнение и ветвление. Ерунда, что программы смогут реализовать значительно меньше алгоритмов, зато бесконечного цикла не будет ни у кого, и никогда. На смену беспорядку прийдет порядок! Как на кладбище.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779499
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!что-то индусы мне все больше нравятся. к стате интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где оракл мниоткат делает ?Ну та сначала по русски расскажи что ты хочешь услышать. Я-же с Ораклом не работал. Я тебе отвечу - что будет. Хотя что-то мне кажется что ответ будет такой:

Механизм сейвпоинтов и BEGIN EXCEPT - который реализован через вложенную транзакцию.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779554
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется, Yo! уже объясняли про сэйвпойнты в Firebird. Если нет, то тут:
www.ibase.ru/devinfo/savepoints.htm
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779614
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvмне кажется, Yo! уже объясняли про ... FirebirdЭто бесполезно...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779902
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artemana
Может пойдем еще дальше, и для того чтобы ликвидировать опасность попадание в бесконечный цикл запретим на уровне PSQL все операторы циклов и переходов, а?
не надо ходить дальше, нуна сесть и один раз для себя разобраться в чем собственно проблема мутации данных. просто для себя, попробуй разобраться почему оракл решил ввести дополнительные механизмы защиты, хотя можно было плюнуть на эту лишнюю мороку как FB и Postgres. уход в бесконечный цикл это самый безобидный из косяков при отсутствии защиты ...

WarstoneНу та сначала по русски расскажи что ты хочешь услышать. Я-же с Ораклом не работал. Я тебе отвечу - что будет. Хотя что-то мне кажется что ответ будет такой:

есть один интересный нюанс на уровне Read Commited когда пишущий запрос в процессе исполнения обнаруживает, что конкурирующая транзакция изменила строки входящие в предикат.

http://www.oracle.com/global/ru/oramag/dec2006/russia_minirollback.html

ЗЫ. для Firebird вопрос снимается, там же Read Commited и не пытается консистентный набор выдать.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36779968
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!уход в бесконечный цикл это самый безобидный из косяков при отсутствии
защиты
Рекурсии бояться - в программисты не ходить.

Yo.!
ЗЫ. для Firebird вопрос снимается, там же Read Commited и не пытается консистентный набор
выдать.

Вообще-то DML никакого набора и не выдаёт... Firebird при подобном конфликте не станет
заниматься фрикциями, а просто откатит всю предыдущую работу запроса и вернёт ошибку
пользователю.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780014
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!есть один интересный нюанс на уровне Read Commited когда пишущий запрос в процессе исполнения обнаруживает, что конкурирующая транзакция изменила строки входящие в предикат.

http://www.oracle.com/global/ru/oramag/dec2006/russia_minirollback.html

я посмотрел статью только в части update и delete, и вижу тут только одно отличие ФБ от Оракла:
- ФБ не стартует "мини-снапшот" при старте выполнения оператора

дальше все "примерно одинаково". Т.е. если во время update/delete ФБ обнаруживает конфликт, то откатывает именно этот оператор (через savepoints).

Еще, как я понимаю, в отличие от Оракла ФБ в ReadCommitted проигнорирует наличие committed-данных, которые были сохранены ПОСЛЕ момента старта RC с update, но ДО обновления этих данных update-ом. Что в отношении ФБ справедливо для уровня изолированности SNAPSHOT. А про микро-снапшот, стартуемый Ораклом в начале оператора, я сказал выше.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780016
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЧто в отношении ФБ справедливо для уровня изолированности SNAPSHOT.
блин, записался. Имел в виду что поведение Оракла относительно оператора в RC эквивалентно снапшоту в ФБ потому что в начале оператора Оракл как раз как бы стартует микро-снапшот-транзакцию на время работы оператора.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780050
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
блин, записался. Имел в виду что поведение Оракла относительно оператора в RC эквивалентно снапшоту в ФБ потому что в начале оператора Оракл как раз как бы стартует микро-снапшот-транзакцию на время работы оператора.
ну хоть что-то FB умеет делать как все

kdv
я посмотрел статью только в части update и delete, и вижу тут только одно отличие ФБ от Оракла

смеялсо.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780057
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!artemana
Может пойдем еще дальше, и для того чтобы ликвидировать опасность попадание в бесконечный цикл запретим на уровне PSQL все операторы циклов и переходов, а?
не надо ходить дальше, нуна сесть и один раз для себя разобраться в чем собственно проблема мутации данных. просто для себя, попробуй разобраться почему оракл решил ввести дополнительные механизмы защиты, хотя можно было плюнуть на эту лишнюю мороку как FB и Postgres. уход в бесконечный цикл это самый безобидный из косяков при отсутствии защиты ...

Это будут твои, как прикладного программиста, косяки. Сам сделал, сам и разбирайся.
То есть в данном случае мне не нужна защита для дураков, ограничивающая мои возможности.
Подавляющее большинство языков программирования разрешает
а. вызов проц.A из A.
б.Перекрестный вызов проц.B из A и A из B.
Умеешь и считаешь возможным - пользуйся, не умеешь - учись или меняй профессию.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780080
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artemana
Это будут твои, как прикладного программиста, косяки. Сам сделал, сам и разбирайся.

ясно, этот безнадежный.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780090
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!смеялсо.
да, я тоже поржал. там Оракл столько телодвижений производит, явно видно тяжелое наследие прошлого.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780091
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!, твой слив принят.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780103
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ясно, этот безнадежный.

Так и запишем: Oracle - сервер для криворуких домохозяек, которые научились
программировать за курсах за 21 день, а про отладку и тестирование ничего не слышали.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780116
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хи-хи, и как же Yo! переживет такой позор
kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780133
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!хи-хи, и как же Yo! переживет такой позор
kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?
Конечно. Если записи, отрабатываемые (вставляемые, удаляемые) триггерами, имеют такие значения полей, которые делают их недоступными для внешней команды. Соблюдай это правило и никаких сюрпризов не будет. Ты же настаиваешь на ликвидации возможности как таковой.

Повторю, напортачить в программирование можно с помошью всего . Если это 'всего' запретить, то программирования исчезнет. Нужен взвешенный подход, и в данном случае оракловский запрет не оправдан.
P.S.
Не позорь свою седую ...., не переходи на личности.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780141
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!и как же Yo! переживет такой позор

Так же как и раньше: продолжишь долдонить "FoxPro - лучшая СУБД всех времён и
народов а у вас лога нет".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780200
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?
гм, мое понимание разработки исключает "отладку триггера на определенном наборе данных". я уже давно пишу код, который практически не требует отладки :-)
Впрочем, я и не пишу таких триггеров, которые вызывают рекурсию, прямую или косвенную, и т.п.
Люди - пишут. Но у этих людей смутные понятия о структурах данных и записях вообще, не говоря про транзакции, или триггеры.

Вообще я бы разделял нестабильность курсоров, триггеры, и т.п. Причем даже нестабильность курсоров в отношении insert into select, просто select, и update/delete я бы разделил. Потому что на практике на нестабильность select в RC в ФБ людям покласть . Они ее не замечают, а если и замечают, она их не интересует.

Больше пострадавших от update/delete ... where select from, если иметь в виду одну и ту же таблицу.
Да, тут увы и ах.

Еще есть пострадавшие от триггеров, модифицирующих ту же таблицу, и вызывающих рекурсию. Но тут, artemana прав, сдуру можно и стеклянный буй сломать. Запрет такой возможности объясняя ее "мутацией данных" (если мы об этом) - издержки реализации.
Потому что когда людям, напоровшимся на рекурсию в триггерах, объясняют ее причину, они как-то умудряются переписать код, избегая рекурси. Флаги или что-то там, не знаю, т.к. они обычно не возвращаются с описанием исправленного решения, увы.

Но вот я тут посмотрел свою базу еще 1997 года, там есть триггеры, модифицирующие их же таблицу. База проработала года три, за это время ни на каких данных никаких рекурсий или других артефактов в этих триггерах не было. Конфликты обновления - да, могли быть, но они проблем не представляли.
Так что при грамотной модификации таблиц в их же триггерах все работает ок.

Но можно и закопаться в ад. Кто-то меня в начале 2000 годов спрашивал про видимость изменений в нескольких before-триггерах которые еще и модифицируют эту же таблицу, и т.п. К сожалению подробностей не помню, а мой мозг самостоятельно такой ужас придумывать отказывается.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780268
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Вообще я бы разделял нестабильность курсоров, триггеры, и т.п. Причем даже нестабильность курсоров в отношении insert into select, просто select, и update/delete я бы разделил. Потому что на практике на нестабильность select в RC в ФБ людям покласть . Они ее не замечают, а если и замечают, она их не интересует.


А я бы не стал отделять. Потому что все их можно поршать одним средством, не придумывая костыли на каждый отдельный случай. Но это IMHO, разумеется.

kdv
Больше пострадавших от update/delete ... where select from, если иметь в виду одну и ту же таблицу.
Да, тут увы и ах.


Ага. Увы ... и Ах
и может быть еще Ой

kdv
Еще есть пострадавшие от триггеров, модифицирующих ту же таблицу, и вызывающих рекурсию. Но тут, artemana прав, сдуру можно и стеклянный буй сломать. Запрет такой возможности объясняя ее "мутацией данных" (если мы об этом) - издержки реализации.
Потому что когда людям, напоровшимся на рекурсию в триггерах, объясняют ее причину, они как-то умудряются переписать код, избегая рекурси. Флаги или что-то там, не знаю, т.к. они обычно не возвращаются с описанием исправленного решения, увы.


Теперь можно считать доказанным, что органы слуха у тараканов расположены на лапках (c)

kdv
Но вот я тут посмотрел свою базу еще 1997 года, там есть триггеры, модифицирующие их же таблицу. База проработала года три, за это время ни на каких данных никаких рекурсий или других артефактов в этих триггерах не было. Конфликты обновления - да, могли быть, но они проблем не представляли.
Так что при грамотной модификации таблиц в их же триггерах все работает ок.


Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.
Что Вы там говорили, про то что Ваши решения не нужно отлаживать ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780347
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukПотому что все их можно поршать одним средством, не придумывая костыли на каждый отдельный случай. Но это IMHO, разумеется.
о каких костылях идет речь я не понял. Потому что со стороны-то порешать можно легко. Но в наших дискуссиях я уже объяснял, что решить проблему нестабильности курсора, а именно
insert into select from
update/delete from select
неатомарность select

можно введением в ФБ старта snapshot-транзакций в момент старта DML оператора, как это и видно в приведенной статье про микро-откаты. Но только вот стоимость старта снапшотов, как я считаю, достаточно высока в ФБ, т.к. при этом сервер делает локальную копию transaction inventory page.
В Оракле наоборот, для этого идет постоянная "долботня" с блокировками, перечитыванием данных и прочими ужасами.
Так что, на тему возможности и стоимости такого решения могут ответить только разработчики Firebird. И если до сих пор это не было сделано, то значит, не так-то уж это легко.

GlukТеперь можно считать доказанным, что органы слуха у тараканов расположены на лапках (c)
все это мудотня, ибо является бессмысленной фразой. Поконкретнее выражайтесь, пожалуйста. Риторики в этом топике и так достаточно.

GlukТри года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.
Что Вы там говорили, про то что Ваши решения не нужно отлаживать ???
никакой бомбы нет. Откуда Вы взяли бомбу? Как Вы вообще можете предположить, что в той логике какую я реализовал, есть бомба, которая сработает хер знает когда? Это Ваши сугубые домыслы, основания под которыми я не вижу, совершенно.

То есть, вот этот какой то бредовый наезд, что из триггера на таблицу эту же таблицу ну никак нельзя модифицировать, я считаю порождением факта о мутирующих таблицах в Оракле, и ничем иным. Для Вас, похоже, авторитет Оракла настолько непререкаем, что Вы даже и усомниться в его функционировании не можете.
Помню, была совершенно идиотская битва с MS SQL-цами, на тему, зачем нужно вообще в одном коннекте стартовать несколько транзакций одновременно, и боже сохрани, иметь в одной транзакции несколько открытых курсоров с возможностью поочередного фетча.
Это просто не укладывалось в их мозгу, потому что этого НЕТ в MS SQL, а значит и НЕ ДОЛЖНО быть ни в какой другой СУБД.
Вы аналогичные мысли пытаетесь проталкивать?

С таким же успехом можно было сказать, что текущую функциональность Firebird благословил Господь, и все кто усомнились в ее праведности, есть еретики. Но этого же нет. С вами пытаются вести дискуссию разработчики Firebird, которые, уверяю, имеют опыт работы как с Ораклом так и с MS SQL, и внимательно изучают в т.ч. и их тонкости функционирования.
Впечатление такое, что Вы находитесь в какой-то иной плоскости, которая сродни религиозному фанатизму. Прошу Вас, разуверьте меня, скажите, что Вам в Oracle нравится не все.
Мне вот, в ФБ действительно нравится не все.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780362
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Вообще я бы разделял нестабильность курсоров, триггеры, и т.п.

это радует, хоть кто из вашей веселой братии еще различает теплое и мягкое

kdv
Потому что на практике на нестабильность select в RC в ФБ людям покласть . Они ее не замечают, а если и замечают, она их не интересует.

а это я бы назвал национальной чертой ФБ-лабателей

kdv
Еще есть пострадавшие от триггеров, модифицирующих ту же таблицу, и вызывающих рекурсию. Но тут, artemana прав, сдуру можно и стеклянный буй сломать. Запрет такой возможности объясняя ее "мутацией данных" (если мы об этом) - издержки реализации.

мда, представляю сколько говнокода налабано этой братией. ладно, пробую разжувать: уход в бесконечный цикл это просто один из побочных фифектов, причем самый дружественный, т.к. его не возможно не заметить. основная проблема мутирующих таблиц в декларативной природе SQL. модифицирующий запрос не может гарантировать порядок попадание строк в триггер, соответственно если тригер обращается к мутирующей таблице он не сможет гарантировать того что в следующий раз этот же запрос отошлет в тригер строки в этом же порядке. вот это страшно: до обеда простенький DML дергал тригер так, а после обеда оптимайзер нашел более оптимальный план и тригер теперь на ТОТ ЖЕ DML выдаст другие результаты.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780394
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!а это я бы назвал национальной чертой ФБ-лабателей
Пациенты с лоботомускультомией исчезли из топика.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780440
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.Вы приобрели себе хрустальный шар и видите у кого как построена база и когда она рухнет? :) Ваши домыслы полная фигня ибо спорите сами не понимаете о чем, какой-то штатный програмистик учит разработчиков СУБД как правильно нужно жить, ну-ну...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780510
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!мда, представляю сколько говнокода налабано этой братией. ладно, пробую разжувать: уход в бесконечный цикл это просто один из побочных фифектов, причем самый дружественный, т.к. его не возможно не заметить. основная проблема мутирующих таблиц в декларативной природе SQL. модифицирующий запрос не может гарантировать порядок попадание строк в триггер,
Но множество строк, подвергающихся операции (попадающих в тригер), определяется однозначно. И этого достаточно (управление порядком не нужно) для избежание любых проблем мутации. Это понятно?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780521
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!а это я бы назвал национальной чертой ФБ-лабателей
я уже объяснял свою позицию на тему нестабильности select в readcommitted в ФБ.
/topic/173455&pg=1#1449214
(и далее, со следующей страницы, там много на эту тему, кстати, как раз 2005 год)
только я там "стабильность курсора" называю "атомарностью select".

Вот еще оттуда же, зачем обычно используют RC
/topic/173455&pg=3#1460836

Yo!мда, представляю сколько говнокода налабано этой братией.
да Вы идеалист. Можно подумать, что на Оракле говнокод не пишут. Еще как, не сомневайтесь, я абсолютно уверен в этом. Причастность к Ораклу не дает каких-то особенных мозговых преимуществ.
Но уровень вхождения в ФБ - да, ниже, и это тоже нормально. То есть, я полагаю, что Оракл был бы не против мирового господства, но к счастью, не получится.

Yo!модифицирующий запрос не может гарантировать порядок попадание строк в триггер, соответственно если тригер обращается к мутирующей таблице он не сможет гарантировать того что в следующий раз этот же запрос отошлет в тригер строки в этом же порядке.
какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780544
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Yo!модифицирующий запрос не может гарантировать порядок попадание строк в триггер, соответственно если тригер обращается к мутирующей таблице он не сможет гарантировать того что в следующий раз этот же запрос отошлет в тригер строки в этом же порядке.
какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).
Он утверждает, что раз в командах update и delete нет order by, значит проблемы, вызваные мутацией, неизбежны. Такой вот он ошибочный логический вывод сделал.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36780564
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781225
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eBaseGluk (Kazan)Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.Вы приобрели себе хрустальный шар и видите у кого как построена база и когда она рухнет? :) Ваши домыслы полная фигня ибо спорите сами не понимаете о чем, какой-то штатный програмистик учит разработчиков СУБД как правильно нужно жить, ну-ну...

Ой как все всполошились :)
Видаь\ть чего-то живое зачепил, даром что штатный программистик
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781231
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.


Ой, да ну бросьте. Можно к ним обращаться. И писать можно (геморойно правда).
Вот намедни заказчик осчастливил.

1. Имеется таблица, все действия с которой, записывают копию строки в таблицу журнал
2. Записи собираются из основной таблицы и журнальной по union all
3. Выясняется, что записи в журнале тоже можно редактировать (такой вот хитрый заказчик)
4. Куда бы вы думали журналируются изменения журнальных записей ???

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781234
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).

Дык тебе и говорят про order by, чудак (в update-е правда )
какой к чертям свинячим rownum? Это у Вас такие фантазии про ораклистов??? Ну ну, проецируйте дальше
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781242
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
GlukТеперь можно считать доказанным, что органы слуха у тараканов расположены на лапках (c)
все это мудотня, ибо является бессмысленной фразой. Поконкретнее выражайтесь, пожалуйста. Риторики в этом топике и так достаточно.


Мне вот интересно :) Я вроде тут по матушке (еще пока) никого не называл, вел себя тихо блаародно, а мне в ответ мудотня да буи разныя. Или только пролетариям дозволяется выражаться в рфср-е ???
Довольно обидные Ваши слова, Коллега.

Что-же до конкретики, то в посте:

авторЕще есть пострадавшие от триггеров, модифицирующих ту же таблицу, и вызывающих рекурсию. Но тут, artemana прав, сдуру можно и стеклянный буй сломать. Запрет такой возможности объясняя ее "мутацией данных" (если мы об этом) - издержки реализации.
Потому что когда людям, напоровшимся на рекурсию в триггерах, объясняют ее причину, они как-то умудряются переписать код, избегая рекурси. Флаги или что-то там, не знаю, т.к. они обычно не возвращаются с описанием исправленного решения, увы.

я ее тоже не нашел
Да были демоны ... напарывались на рекурсию в триггерах, но после того как Старшие Товарищи объясняли им Политику Партии, они самоликвидировались и больше не появлялись.
Наверное, потому, что у них ВСЕ хорошо, ага ... я тоже на это надеюсь
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781244
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGlukПотому что все их можно поршать одним средством, не придумывая костыли на каждый отдельный случай. Но это IMHO, разумеется.
о каких костылях идет речь я не понял. Потому что со стороны-то порешать можно легко. Но в наших дискуссиях я уже объяснял, что решить проблему нестабильности курсора, а именно
insert into select from
update/delete from select
неатомарность select

можно введением в ФБ старта snapshot-транзакций в момент старта DML оператора, как это и видно в приведенной статье про микро-откаты. Но только вот стоимость старта снапшотов, как я считаю, достаточно высока в ФБ, т.к. при этом сервер делает локальную копию transaction inventory page.


А по моему, все вы прекрасно поняли :)
Мне вот только из Вашего поста непонятно, можно решить, или именно таким образом и решили ??? Все таки стоимость высока, ага ...

kdv
В Оракле наоборот, для этого идет постоянная "долботня" с блокировками, перечитыванием данных и прочими ужасами.

А вот эти ужасы вообще непонятно откуда придуманы :(
Можете расшифровать на простом примере, где там долботня, перечитывания и блокировки (кстати в Oracle очень дешевые). Конкретно и предметно обсудим, так ли страшен чорт
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781249
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что тут порылась собака:

kdv
это же read committed (!), то есть он обязан видеть все, что успело стать committed.


В Oracle считают, что он обязан видеть все что закомичено к моменту начала запроса, и не должен видеть, того что появилось позже. Благо версионность это позволяет (дорого ли дешево - это другой вопрос). Ситуацию же когда видим не кратное 100 записям, в случае если комитим по 100 (я все правильно понял?) иначе как ахтунгом назвать вообще сложно Мы должны видеть изменения, выполненные транзакцией либо целиком, либо не видеть их вообще.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781251
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
То есть, вот этот какой то бредовый наезд, что из триггера на таблицу эту же таблицу ну никак нельзя модифицировать, я считаю порождением факта о мутирующих таблицах в Оракле, и ничем иным. Для Вас, похоже, авторитет Оракла настолько непререкаем, что Вы даже и усомниться в его функционировании не можете.
Помню, была совершенно идиотская битва с MS SQL-цами, на тему, зачем нужно вообще в одном коннекте стартовать несколько транзакций одновременно, и боже сохрани, иметь в одной транзакции несколько открытых курсоров с возможностью поочередного фетча.
Это просто не укладывалось в их мозгу, потому что этого НЕТ в MS SQL, а значит и НЕ ДОЛЖНО быть ни в какой другой СУБД.
Вы аналогичные мысли пытаетесь проталкивать?

С таким же успехом можно было сказать, что текущую функциональность Firebird благословил Господь, и все кто усомнились в ее праведности, есть еретики. Но этого же нет. С вами пытаются вести дискуссию разработчики Firebird, которые, уверяю, имеют опыт работы как с Ораклом так и с MS SQL, и внимательно изучают в т.ч. и их тонкости функционирования.
Впечатление такое, что Вы находитесь в какой-то иной плоскости, которая сродни религиозному фанатизму. Прошу Вас, разуверьте меня, скажите, что Вам в Oracle нравится не все.
Мне вот, в ФБ действительно нравится не все.

И это Вы мне объясняете про бред и домыслы ???
Успокойтесь, можно модифицировать таблицы из их же триггера. Способ еще в 7 Oracle придумали, если склероз мне не изменил. Просто при этом надо отчетливо понимать, ччто именно ты делаешь, но это ведь Вас не должно пугать ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781253
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)


Ты сделал 8 постов подряд. Нельзя было ответить в одном? Хочешь чтобы и
другие отвечали 1 постом на каждую твою фразу?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781261
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protectorНельзя было ответить в одном?
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в клетке, которую
для них воздвигли индусы...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781270
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в
клетке, которую
для них воздвигли индусы...


Какой ты всё таки злой. Будь добрее и люди к тебе потянутся. Я кстати
не знаю что там за лазейка, хотя работал с оракулом 2 года. Мне и в голову
не приходило даже думать о том, чтобы писать в ту-же таблицу в триггере в
оракуле.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781441
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector

Gluk (Kazan)


Ты сделал 8 постов подряд. Нельзя было ответить в одном? Хочешь чтобы и
другие отвечали 1 постом на каждую твою фразу?



По делу есть что сказать?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781445
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все равно, я лублу Пг. А вы фсе дауны (да простят меня модераторы).

Вот вам больше нечем заняться, кроме как кидаться содержимым своих ночных горшков?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781449
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Dimitry Sibiryakov
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.


Ой, да ну бросьте. Можно к ним обращаться. И писать можно (геморойно правда).
Вот намедни заказчик осчастливил.

1. Имеется таблица, все действия с которой, записывают копию строки в таблицу журнал
2. Записи собираются из основной таблицы и журнальной по union all
3. Выясняется, что записи в журнале тоже можно редактировать (такой вот хитрый заказчик)
4. Куда бы вы думали журналируются изменения журнальных записей ???

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???И что Вы там говорили про бомбу замедленного действия у kdv? Или Вы думаете что Ваша никогда не рванет?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781450
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
protectorНельзя было ответить в одном?
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в клетке, которую
для них воздвигли индусы...


Вы возможно не в курсе дела :)

1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)
4. Проблема с мутациями (как и некоторые другие проблемы) в этом случае не возникает
5. Если кому то (мне например) повезло с тяжким Legacy на триггерах, способ обхода таки известен со времен 7 Oracle (желающие могут погуглить на тему обход мутаций в триггере)

А теперь хотелось бы таки услышать ответ на мегаволнительный вопрос:

Если в FB одна транзакция инсертит-комиттит ровно по 100 записей, а другая считает количество записей при помощи count(*), может ли случиться, что она подсчитает некратное 100 число.
Ответ да меня устроит без объяснений, к ответу нет хотелось бы видеть минимальные комментарии
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781451
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eBaseGluk (Kazan)Dimitry Sibiryakov
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.


Ой, да ну бросьте. Можно к ним обращаться. И писать можно (геморойно правда).
Вот намедни заказчик осчастливил.

1. Имеется таблица, все действия с которой, записывают копию строки в таблицу журнал
2. Записи собираются из основной таблицы и журнальной по union all
3. Выясняется, что записи в журнале тоже можно редактировать (такой вот хитрый заказчик)
4. Куда бы вы думали журналируются изменения журнальных записей ???

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???И что Вы там говорили про бомбу замедленного действия у kdv? Или Вы думаете что Ваша никогда не рванет?

С чего-б ей рвать-та?
Кто Вам с kdv вообще сказал, что я против записи в таблицу из ее-же триггера???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781453
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector

Dimitry Sibiryakov
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в
клетке, которую
для них воздвигли индусы...


Какой ты всё таки злой. Будь добрее и люди к тебе потянутся. Я кстати
не знаю что там за лазейка, хотя работал с оракулом 2 года. Мне и в голову
не приходило даже думать о том, чтобы писать в ту-же таблицу в триггере в
оракуле.



Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом студентов учат
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781526
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)А теперь хотелось бы таки услышать ответ на мегаволнительный вопрос:А чего это он такой мегаволнительный ?
У вас проблемы ? Хотите поговорить об этом ? (ц)


Gluk (Kazan)Если в FB одна транзакция инсертит-комиттит ровно по 100 записей, а другая считает количество записей при помощи count(*), может ли случиться, что она подсчитает некратное 100 число.
Ответ да меня устроит без объяснений, к ответу нет хотелось бы видеть минимальные комментарииRead-committed - да
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781532
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)Мгм... наверное я таки не в курсе... но
Почему PL\SQL в случае (1) есть удар по производительности, а в случае (3) - не удар ?

PS Я тоже сторонник работы только через процедуры
PPS (3) в общем случае неверно, но не хотелось бы устраивать очередной спор ещё и по этому поводу
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781585
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781587
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?Задайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781595
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGluk (Kazan)1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)Мгм... наверное я таки не в курсе... но
Почему PL\SQL в случае (1) есть удар по производительности, а в случае (3) - не удар ?

PS Я тоже сторонник работы только через процедуры
PPS (3) в общем случае неверно, но не хотелось бы устраивать очередной спор ещё и по этому поводу

Ну к примеру возьмем журналирование изменений по update-у (пример чисто иллюстративный)

1 вариант (традиционный):

Из приложения update-им много строк, каждая из которых активирует триггер, переключая SQL в PL/SQL. В триггере, в свою очередь идет insert, переключая PL/SQL в SQL

2 вариант:

Из хранимки дергаем два DML-я. Первым update-им строки, вторым вставляем изменения в лог.
Всего имеем два переключения PL/SQL в SQL. Независимо от количества изменяемых строк.

Менее умозрительный пример:

Выносим нафих все триггеры, генерирующие PK в те места в ХП, в которых собственно выполняем вставку. В случае если insert-ится большое количество записей, получаем нефиговый выхлоп по производительности :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781601
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781610
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???

Sorry, в Read Committed конечно
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781623
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?

Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781631
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ну к примеру возьмем журналирование изменений по update-у (пример чисто иллюстративный)

1 вариант (традиционный):

Из приложения update-им много строк, каждая из которых активирует триггер, переключая SQL в PL/SQL. В триггере, в свою очередь идет insert, переключая PL/SQL в SQL

2 вариант:

Из хранимки дергаем два DML-я. Первым update-им строки, вторым вставляем изменения в лог.
Всего имеем два переключения PL/SQL в SQL. Независимо от количества изменяемых строк.Примеры не совсем равноценны. В первом варианте row-level триггеры, во-втором statement-level, так сказать.
Если бы в ORACLE были аналоги таблиц inserted\deleted из T-SQL (а может уже есть ?), то первый вариант можно было бы переписать с их использованием,
чтобы добиться более полной аналогии со-вторым.


Gluk (Kazan)Менее умозрительный пример:

Выносим нафих все триггеры, генерирующие PK в те места в ХП, в которых собственно выполняем вставку. В случае если insert-ится большое количество записей, получаем нефиговый выхлоп по производительности :)Спасибо.

Для себя я вижу тут два основных вывода:
а) переключение PL\SQL <-> SQL имеет место быть и стоит не дёшево, поэтому принято экономить на таких переключениях
б) в Firebird эта проблема стоит гораздо менее остро, т.к. нет таких переключений. Есть только обычные затраты на вызов PSQL процедуры\тригера
(передача параметров и т.п.)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781679
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЗадайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781699
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
Не совсем понял. Я думал из контекста предыдущего процедуры противопоставляются триггерам. Но мож я не все прочитал? А как стронники процедур получают доступ к данным, и как их модифицируют?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781704
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Gluk (Kazan)hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???

Sorry, в Read Committed конечноА кто же переводит деньги в read-committed ? Это из того-же букваря :)

Слово "атомарность" выше было употреблено не по назначению. Правильнее говорить о statement-level consistency.
Кстати, в стандарте я этого термина не нашёл. Но, так как он уже неоднократно употреблялся здесь, я надеюсь у нас не будет разночтений в его интерпретации.

Так вот, statement-level consistency, насколько я помню, не диктуется стандартом, а оставляется на усмотрение производителя.
Я говорю о такой характеристике курсора, как sensitivity , которая, если не указано явно, является ASENSITIVE (секция 4.32 Cursors).
Если есть другие ссылки на стандарт - буду рад ознакомиться.

Так что формально read-committed в Firebird работает правильно, ибо речь в его определении идёт только о допустимых феноменах.

Другой вопрос, что вы привыкли к оракловому пониманию statement-level consistency для RC :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781712
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvladЗадайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

PS А давайте я сейчас тоже расскажу что с вами должно происходить и в каком случае ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781745
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсли вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается.
Впрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781763
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvladЕсли вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается. Согласен.

Но особенно "по философски" выглядят ценные фразы вроде этой:
vadiminfoнаверное, от этого должно ломать.

vadiminfoВпрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.Вот этого вы не понимаете - вы выискиваете, чем бы померяться, а суть не в этом.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781792
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladvadiminfohvladЕсли вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается. Согласен.

Но особенно "по философски" выглядят ценные фразы вроде этой:
vadiminfoнаверное, от этого должно ломать.

vadiminfoВпрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.Вот этого вы не понимаете - вы выискиваете, чем бы померяться, а суть не в этом.
Ну вам сторонникам только процедур виднее. Однако, думаю, что этого все еще не достаточно, чтобы становиться таковым сторонником. Думау, пока юзать все возможности СУБД, но в первую очередь язык БД. Вплоть до выяснения новых обстоятельств, про которые не лень буит рассказвать сторонникам.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781862
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo, спокойней.
У нас вся система построена на триггерах (их больше 10 000). Там есть все и сервис (первичные ключи, простые проверки) и сложная бизнес логикак, и различное логирование. Но я представляю как можно было бы построить эту систему и без них, только на процедурах. Общая концепция такова, всем пользователям и ролям, запрещаются любые операции редактирования таблиц. Вместо этого на каждую необходимую операцию (insert,delete,update) создается процедура, в которой пишется сама операция редактирования плюс обрамляющий ее код (аналоги триггеров). В пределе таких процедур создается N*3, где N количество таблиц. Каждой процедуре даются права на операции редактирования таблиц. Пользователям и ролям даются права процедуры. В клиентском приложение операции редактирования перенаправляются с команд (insert, delete, update) на вызовы соответствующих процедур. Ранее упомянутый обрамляющий код в них, как и в случае триггеров, может состоять как из обычных ddl команд, так и из вызовов процедур.
Аргументов в пользу такого подхода высказываются следующие:
1. Система на процедурах более понятна, так как в триггерах люди часто так запутывают логику, что не поймешь какое из каксадных событие привело к чему. На мой взгляд аргумент слабый, так как каскад вызываемых процедур, запутывается профанами не менее легко. При правильном общем стиле программирование проблем не должно возникать ни там, ни там. И наоборот при неправильном, проблему будут в обоих подходах.
2. Решение определенных проблем безопасности. Тут подробности я не помню. Возможно, речь идет о закрытие каких либо дырок, но может и нет.
3. Дополнительный уровень абстракции. Ну это на любителя. Есть свои плюсы и минусы.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781877
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак пошел холивар ХП vs пярмые селекты в приложении??

Огорчу: ХП. Так как:
1) расносятся роли БДА/Писателя запросов(некоторые это исключаю из ДБА, а некоторые вносят) и Программиста клиентской части.
2) Появившийся слой абстракции позволяет настроить безопастность более гибко.

Из своей практики с Постгре:
Есть одна схема api, в которую может смотреть public(все пользователи) или application_user(группа пользователей). В этой схеме вынесены только заглушки в другие схемы и выглядит это примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE OR REPLACE FUNCTION api.<real_schema>_<function_name>(<params>) RETURNS [SETOF] RECORD | <data_type> AS $BODY$
BEGIN
    RETURN QUERY SELECT * FROM <real_schema>.<function_name>(<params>);
END;
$BODY$ LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER;

ALTER FUNCTION api.<real_schema>_<function_name>(<params>) SET OWNER 'application_inner';
Отчасти в Пг это сделано потому что если ты даешь возможность USAGE на схему и EXECUTE на процедуру, то ты можешь увидеть содержимое этой процедуры. Тут, насколько я знаю, Пг проигрывает Ораклу и довольно-таки сильно.
Отчасти это сделано из-за SECURITY DEFINER. То есть вызов процедуры из реальной схемы уже идет с правами другой группы, которая может работать с схемами, таблицами и внутренними процедурами. Обычно основная логика концентрируется именно тут. На триггеры-же практически ничего не вешается, кроме логгирования и вызова нотификаций.

В качестве расширения этой технологии, обычно в api процедуры еще добавляют верификацию пользователя. Но это больше для веб приложений или приложений с расширенной системой ролей и прав.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781884
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoGluk (Kazan)Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
Не совсем понял. Я думал из контекста предыдущего процедуры противопоставляются триггерам. Но мож я не все прочитал? А как стронники процедур получают доступ к данным, и как их модифицируют?

Нельзя противопоставлять теплое мягкому, но можно вести разработку, в частности, так, что триггеры (в основном) не будут нужны. Подчеркну, я не призываю фанатично отказываться от использования триггеров. Просто у них есть минусы, знать о которых необходимо.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781887
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana В пределе таких процедур создается N*3, где N количество таблиц.4, как минимум. Полный CRUD + что-нибудь типа sign и любые другие действия над сущностью, типа провода документа и т.д.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781895
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А... пардон... Холивар триггеры vs хп...

По удобству, на самом деле - больше "как привык":
1) Триггеры - систему строили от данных, то есть от таблиц и т.д.
2) ХП - систему строили от объектов и методов над ними.

Оба подхода имеют право на существование, 2-й подход ИМХО более ООП-style. Потом мне, как разработчику всего комплекса - удобнее.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781908
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladПримеры не совсем равноценны. В первом варианте row-level триггеры, во-втором statement-level, так сказать.
Если бы в ORACLE были аналоги таблиц inserted\deleted из T-SQL (а может уже есть ?), то первый вариант можно было бы переписать с их использованием,
чтобы добиться более полной аналогии со-вторым.


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

Что до statement-триггеров, из них нельзя получить список измененных строк, с :old и :new значениями. Собственно упомянутый способ обхода мутации заключается в сохранении этой информации в row-level before триггере, с последующей отработкой в statement after триггере.
Но переключений контекстов получается немерянно.

hvlad
Для себя я вижу тут два основных вывода:
а) переключение PL\SQL <-> SQL имеет место быть и стоит не дёшево, поэтому принято экономить на таких переключениях
б) в Firebird эта проблема стоит гораздо менее остро, т.к. нет таких переключений. Есть только обычные затраты на вызов PSQL процедуры\тригера
(передача параметров и т.п.)

Именно так. Это специфика Oracle
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781910
Фотография Mexanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPhilMexanik,

Главное понять, для чего это всё нужно.

На Delphi + FB в части клепания сайтов денег не заработаешь, однозначно.
На PHP + MySQL будет большая конкуренция "студентов", зато .
На ASP .NET + MS SQL не будет большого объема халтуры (хотя найти можно, в том числе и по шарепоинту) за то
За Java денег хорошо платят, особенно если от сайтостроительства отойти:)

Это нужно для разового решения одной задачи - сделать общую базу данных для нескольких филилалов, разбросанных по городам (сбор заявок на услуги, контроль исполнения и прочая небольшая чушь). В веб проектирование ударяться глобально не собираюсь и этот проект раскручивать тоже не думаю.... Клиент поговаривает о собственном веб-узелке, на который можно напихать необходимых сервисов. Теперь подход к задаче не выглядит таким извратным?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781915
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
да Вы идеалист. Можно подумать, что на Оракле говнокод не пишут. Еще как, не сомневайтесь, я абсолютно уверен в этом.

пишут, чего тут сомневаться. но в отличие от ФБ оракл в некоторых ситуациях самостоятельно может не позволить лабателю написать очередной говнокод. вот и яркий пример - ты и твои собратья по несчастью Firebird не поняли даже после моего разжевывания в чем опасность так и продолжите лабать говнокод, а вот оракл меня как ДБА защитит от такого говокода механизмом защиты от мутации. в этом и разница.

kdvкакой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).
по моему я достаточно разжувал ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781922
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Слово "атомарность" выше было употреблено не по назначению. Правильнее говорить о statement-level consistency.
Кстати, в стандарте я этого термина не нашёл. Но, так как он уже неоднократно употреблялся здесь, я надеюсь у нас не будет разночтений в его интерпретации.

Так вот, statement-level consistency, насколько я помню, не диктуется стандартом, а оставляется на усмотрение производителя.
Я говорю о такой характеристике курсора, как sensitivity , которая, если не указано явно, является ASENSITIVE (секция 4.32 Cursors).
Если есть другие ссылки на стандарт - буду рад ознакомиться.

Так что формально read-committed в Firebird работает правильно, ибо речь в его определении идёт только о допустимых феноменах.

Другой вопрос, что вы привыкли к оракловому пониманию statement-level consistency для RC :)

Возможно я неправ, но для меня немножко дико видеть изменения, выполненные другой транзакцией не целиком. Да, та транзакция была выполнена атомарно, но то что она наизменяла, мы таковым не видим, со всеми возможными вытекающими ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781983
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Просто есть разные способы вести разработку. При некоторых методах разработки, триггеры становятся не очень нужны. У этих метод есть сторонники и противники, плюсы и минусы ...Согласен

Gluk (Kazan)Что до statement-триггеров, из них нельзя получить список измененных строк, с :old и :new значениями. Собственно упомянутый способ обхода мутации заключается в сохранении этой информации в row-level before триггере, с последующей отработкой в statement after триггере.Я знаю :)

Gluk (Kazan)Именно так.COMMIT
:)

Gluk (Kazan)Это специфика OracleИменно. Каждый имеет право на специфику. В разумных пределах :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781995
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Возможно я неправ, но для меня немножко дико видеть изменения, выполненные другой транзакцией не целиком. Да, та транзакция была выполнена атомарно, но то что она наизменяла, мы таковым не видим, со всеми возможными вытекающими ...Ну так никто не заставляет пользоваться rc там, где нужен snapshot.
Тем более, что snapshot в Firebird/Interbase был изначально и является уровнем изоляции по-умолчанию.
Всё остальное - дело вкуса, привычек и специфики, если не оговорено стандартом.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782004
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом
студентов учат

Собственно упомянутый способ обхода мутации заключается в сохранении этой
информации в row-level before триггере, с последующей отработкой в statement
after триггере.
Но переключений контекстов получается немерянно.


"И эти люди запрещают мне ковырять в носу" (с) Назвать подобный бред
решением проблем с мутацией... Ну не знаю. Разработчику, кторый даже
подумает об этом - отрывать руки, а уж тем кторые "студентов учат"
растрелиивать на месте. Однозначно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782015
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Нельзя противопоставлять теплое мягкому, но можно вести разработку, в частности, так, что триггеры (в основном) не будут нужны. Подчеркну, я не призываю фанатично отказываться от использования триггеров. Просто у них есть минусы, знать о которых необходимо.
На практике, я вседа пытаюсь предупреждать проггеров, чтобы не писали триггеров из каких-то идей оптимизации приложения, под тем предолгом, что это применение средств не по назначению. Однако, если процедукра должна запускаться на событие БД, например, таково типа бизнес правило, то для этого триггер подходит, скорее всего, луче всего. Исключение триггеров где они могли бы быть на своем месте тоже может нести риски увеличения энтропии программного обеспечения.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782019
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
собратья по несчастью Firebird не поняли даже после моего разжевывания в чем опасность так
и продолжите лабать говнокод, а вот оракл меня как ДБА защитит от такого говокода
механизмом защиты от мутации.

Забавно, что преподаватели, о которых упоминал Глюк тоже не понимают в чём опасность и по
его же словам расказывают всем студентам как им обойти заботливые защитные механизмы.
Чтобы эти студенты тоже могли лабать говнокод.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782096
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protectorGluk (Kazan)
Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом
студентов учат

Собственно упомянутый способ обхода мутации заключается в сохранении этой
информации в row-level before триггере, с последующей отработкой в statement
after триггере.
Но переключений контекстов получается немерянно.


"И эти люди запрещают мне ковырять в носу" (с) Назвать подобный бред
решением проблем с мутацией... Ну не знаю. Разработчику, кторый даже
подумает об этом - отрывать руки, а уж тем кторые "студентов учат"
растрелиивать на месте. Однозначно.

Posted via ActualForum NNTP Server 1.4

Ok, твое решение проблемы???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782097
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protectorНазвать подобный бред решением проблем с мутацией...

Так уже неоднократно сказали, что это не решение, а обход проблемы. Т.е. забивается болт
на встроенную в Oracle версионность и на коленке ляпается свой суррогат оной. Что и
приводит нас обратно к моему вопросу: когда Оракул научится использовать версионность для
искоренения мутаций. Ответ - никогда.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782111
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Yo.!
собратья по несчастью Firebird не поняли даже после моего разжевывания в чем опасность так
и продолжите лабать говнокод, а вот оракл меня как ДБА защитит от такого говокода
механизмом защиты от мутации.

Забавно, что преподаватели, о которых упоминал Глюк тоже не понимают в чём опасность и по
его же словам расказывают всем студентам как им обойти заботливые защитные механизмы.
Чтобы эти студенты тоже могли лабать говнокод.


Ты просто нефтеме
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782300
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)

Ok, твое решение проблемы???

я уже лет 10 не сталкивался с тригерами, но по моему обычно все таки учат в row-level before сохранять во времянку или pl/sql табличку, а писать в таблу уже statement тригером.

Dimitry Sibiryakov
когда Оракул научится использовать версионность для
искоренения мутаций. Ответ - никогда.

т.е. один раз сесть в лужу на вопросе как ты себе представляешь использование версионности для искоренения мутации тебе было не достаточно. что же прошу снова в туже лужу или может на этот раз ты нам поведаешь свою болезенную фантазию как версионность могла бы тут помочь ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782366
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
protectorНазвать подобный бред решением проблем с мутацией...

Так уже неоднократно сказали, что это не решение, а обход проблемы. Т.е. забивается болт
на встроенную в Oracle версионность и на коленке ляпается свой суррогат оной. Что и
приводит нас обратно к моему вопросу: когда Оракул научится использовать версионность для
искоренения мутаций. Ответ - никогда.
скорее всего бесполезно, но я всё-таки попробую объяснить
проблема мутаций в том, что мы должны иметь две сущности таблицы в триггере: после изменений в операторе, вызвавшим триггер и после изменений в самом триггере
В MSSQL это решается введением таблиц inserted и deleted, нечто приблизительное предлагается и для обхода этого в Оракле
т.е. это проблема логическая и никакими техническими ухищрениями не решается

Я бы вообще не стал этой проблеме придавать такое значение, такое ситуации встречаются нечасто, не удивительно что разработчики обеих СУБД не стали разрабатывать какое-то решение(одни просто запретили, другие дали на откуп разработчику).

А приплетать сюда версионность... ну это наверное очень неподумавши...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782397
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!Gluk (Kazan)

Ok, твое решение проблемы???

я уже лет 10 не сталкивался с тригерами, но по моему обычно все таки учат в row-level before сохранять во времянку или pl/sql табличку, а писать в таблу уже statement тригером.


Гммм ... а я что сказал?
Кстати я протектора спрашивал :) Твое видение проблемы мне и так понятно
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782410
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
я уже лет 10 не сталкивался с тригерами, но по моему обычно все таки учат в row-level before сохранять во времянку или pl/sql табличку, а писать в таблу уже statement тригером.А в Постгре об этом подумали =) в statment триггере нет доступа к данным. Он только в row-level.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782414
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper
проблема мутаций в том, что мы должны иметь две сущности таблицы в триггере: после
изменений в операторе, вызвавшим триггер и после изменений в самом триггере

Вот как раз "иметь две сущности таблицы" и называется "версионностью". В триггере просто
должна быть доступна версия таблицы до старта DML.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782487
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
SergSuper
проблема мутаций в том, что мы должны иметь две сущности таблицы в триггере: после
изменений в операторе, вызвавшим триггер и после изменений в самом триггере

Вот как раз "иметь две сущности таблицы" и называется "версионностью". В триггере просто
должна быть доступна версия таблицы до старта DML.
и в FB так и сделано?
(но в любом случае версионность это несколько другое)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782514
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperи в FB так и сделано?
(но в любом случае версионность это несколько другое)

Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...

И что же такое версионность в Вашем понимании?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782527
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...

И что же такое версионность в Вашем понимании?
Пг гайз тоже так думают. Мне вот интересно, в Оракле after триггер видет в таблице запись при select * from та самая таблица?

А версионность нужна для того, чтоб когда один пишет - другие не видели что он написал. Что-то типа "Ты сундук видешь? Нет. И я нет. А он есть. Шас вон тот-вот пацанчик commit сделает и будет."
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782548
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone
А версионность нужна для того, чтоб когда один пишет - другие не видели что он написал.

Т.е. чтобы триггер не видел что уже написал вызвавший его DML.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782557
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
Гммм ... а я что сказал?

да, зарапортовался. пропустил statement и в результате нечто странное прочитал

Dimitry Sibiryakov
Вот как раз "иметь две сущности таблицы" и называется "версионностью". В триггере просто
должна быть доступна версия таблицы до старта DML.

ага, тут у нас транзакция видит изменения которая внесла, в тригере не видит, а тут мы рыбу заворачивали. славо ундуским богам, даже у индусов мозгов хватает так не делать ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782579
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
SergSuperи в FB так и сделано?
(но в любом случае версионность это несколько другое)

Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...я тут подумал - как Вы предлагаете тоже плохо
получается что каждая запись может апдейтится несколько раз и непонятно какое надо брать изменение за окончательное
Dimitry SibiryakovИ что же такое версионность в Вашем понимании?каждый конект видит свою версию БД
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782581
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Т.е. чтобы триггер не видел что уже написал вызвавший его DML.
Э-э-э... Нет... Не для этого. В реализации пг, как ты видел, before триггер не видит, так как данных еще нет, а after - уже видит.

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

За счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782588
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperкаждый конект видит свою версию БДИ, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782612
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneВерсионность нужна для другого. Основная идея в том, что в 2-х транзакциях может быть инсерт с одинаковым первичным ключем и это пройдет (на момнет инсерта), а вот на момент коммита - какая-то транзакция отроллбэчится (если в это время не сделали удаления одного из первичных ключей, конечно).Это называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

WarstoneЗа счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.Без обид, перечитайте ещё несколько раз.
Ну и про версионность тоже не помешает :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782626
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!тут у нас транзакция видит изменения которая внесла, в тригере не видит
Опять ты зарапортовался и пропустил statement. DML это statement. Statement не видит
изменения которые внёс. И триггеру тоже их видеть ни к чему.

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

Нет, это работа для deferred constraints, которым версионность - с боку припека.

Версионность это всего лишь один из способов реализовать принцип "писатели не блокируют
читателей".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782713
Фотография roden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneSergSuperкаждый конект видит свою версию БДИ, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.
+1
Но что ещё более интересно. пока эти глюки не поймаешь, не поймешь что конкретно тупит: мозг, логика или СУБД ;)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782742
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad]Это называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782833
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanahvladЭто называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?Пока нет.
На моей памяти это просили лишь пару раз.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782901
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladartemanahvladЭто называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?Пока нет.
На моей памяти это просили лишь пару раз.
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782944
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.

Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782958
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

Приятно - может быть. Но в штатном режиме мой репликатор как и любой другой, построенный
на логах не нарушает какие-либо констрейны. Отложенные констрейны нужны тем репликаторам,
которые работают без лога, на флагах или сравнении содержимого. Но как я уже сказал: если
кто-нибудь таковые на рынке знает - просветите. Мне не встречались.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782975
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

Приятно - может быть. Но в штатном режиме мой репликатор как и любой другой, построенный
на логах не нарушает какие-либо констрейны.
У тебя лог не полный, ты знаешь текущее состояния записи, а не то, каким оно было на момент операции. А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном режиме не справляешься . Сам же рассказывал. Или я где то тебя не правильно понял в обозначение границ "штатного режима работы"?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782978
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.
А вот в Постгре есть механизм WAL. Который ведет журнал изменений и его можно проигрывать или для восстановления базы или для репликации. В 9.0 (Сейчас бета4 или уже бета 5... В сентябре будет релиз, скорей всего) доставка WAL на запасной сервер будет оптимизирована и "практически" моментальная. Таким образом в Пг появится нативная master-slave репликация с hot stand. Это отбрасывает необходимость "сторонних репликантов".
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782982
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЭто называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

Без обид, перечитайте ещё несколько раз.
Ну и про версионность тоже не помешает :)Ну ИМХО DEFERRED легче отрабатывается на версионнике.

Конечно перечитаю. Я вообще к версионности относился так: Это такая штука, которая позволяет не делать блокировки. Но проблемы с ней будут на коммитах. Если у меня не будет откатов транзакций, то все будет хорошо. Если будут - надо разбираться - почему откатилось и что делать. Но это как и везде.

Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782984
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone
Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"

Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорном
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782992
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном
режиме не справляешься. Сам же рассказывал.

Ну да, есть такая буква... Но, IMHO, оно не стоит того, чтобы вводить deferred
constraints. У них цена уж больно велика (если мне мой нюх не изменяет). Т.е. в простейших
случаях всё может быть и ништяк, но как я представлю транзакцию, внутри которой пара
миллионов DML и данные несколько раз проходят инвалидные состояния...

WarstoneТаким образом в Пг появится нативная master-slave репликация с hot stand.
Это отбрасывает необходимость "сторонних репликантов".
Щаззз... Оптимизм. WAL это просто отлично для простейшего standby в локалке.
Но в жизни кому ни попадя нужна неполная multimaster репликация, и вот тут-то WAL-а
становится недостаточно. Простейший случай: филиалы, в которых находится "урезанная" база,
обмениваются изменениями с центральной, причём часть данных, поступающих из филиалов
должна-таки не только попадать в центр, но и уходить в остальные филиалы.

Вон, у того же мускуля WAL уже давно есть, а мультимастер репликация ограничена ровно
двумя мастерами, причём один slave не может принимать изменения с двух мастеров одновременно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783035
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорномЯ-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.Dimitry SibiryakovЩаззз... Оптимизм.Да, согласен, мультимастера нету на нативном уровне. Да и его сложно сделать вообще-то. Хотя если сиквенсы настроить на чередование, логгировать только изменения и данные с других мастеров - readonly... Ну да это все не мне вам рассказывать. Наверняка не один раз такое делали.
Тут, кстати, Хранимки опять-таки дают большой плюс к возможности масштабирования =))
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783056
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneДа и его сложно сделать вообще-то.

На нативном уровне - сложно. На стороннем - как два пальца об асфальт. Всего-то две
проблемы решить:
1) Глобально-уникальные ключи
2) Предотвращение data bounce

Первое тривиально делается разнесением диапазонов у последовательностей или (не мелочась)
гуидами, а второе обычно магией пользовательских имён.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783061
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneНу ИМХО DEFERRED легче отрабатывается на версионнике.А на чём основано это мнение ?

WarstoneКонечно перечитаю. Я вообще к версионности относился так: Это такая штука, которая позволяет не делать блокировки. Но проблемы с ней будут на коммитах. Если у меня не будет откатов транзакций, то все будет хорошо. Если будут - надо разбираться - почему откатилось и что делать. Но это как и везде.Я вам рекомендую сначала хоть что-то почитать о версионности, хотя бы что-то об известных практических реализациях, а уж потом высказываться публично.
Ибо уже даже не улыбает.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783254
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneЯ-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.

Начать можно отсюда .
Продолжать в BOL
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783585
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
.. Но, IMHO, оно не стоит того, чтобы вводить deferred
constraints. У них цена уж больно велика (если мне мой нюх не изменяет). Т.е. в простейших
случаях всё может быть и ништяк, но как я представлю транзакцию, внутри которой пара
миллионов DML и данные несколько раз проходят инвалидные состояния...


Но и архи сложного вроде ничего нет. Внутри транзакции небольшой журнальчик, содержащий сведения только о тех записях, которые размещены транзакцией в ‘невалидном’ состоянии. Перед основными действиями по окончание транзакции пройти по этому журналу и еще раз выполнить проверку на ‘валидность’ каждой записи.

Кстати, этот так называемый DEFERRED, в таком или другом виде вроде работает для методанных, то есть внутри транзакции можно объявить ‘невалидную’ процедуру, а если к концу транзакции дополнить методанные базы необходимыми процедуре объектами, то транзакция завершится успешно.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783643
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Но и архи сложного вроде ничего нет. Внутри транзакции небольшой журнальчик, содержащий
сведения только о тех записях, которые размещены транзакцией в ‘невалидном’ состоянии.

Так-то оно так, но беда в том, что и валидная запись может стать инвалидной к концу
транзакции. Т.е. надо хранить журнал всех изменённых записей, а он уже на "небольшой" не
тянет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783652
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Но и архи сложного вроде ничего нет. Внутри транзакции небольшой журнальчик, содержащий
сведения только о тех записях, которые размещены транзакцией в ‘невалидном’ состоянии.

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

Что ты имеешь виду?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783684
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanaЧто ты имеешь виду?

Берём, например, FK. Добавляем запись к существующему мастеру - операция валидна. Удаляем
мастера - операция инвалидна. Вставляем нового мастера с тем же PK - операция валидна.
Коммитим. Получаем облом на удаление мастера, поскольку деталь для него существует. А зря.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783705
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТ.е. надо хранить журнал всех изменённых записей, а он уже на "небольшой" не тянет.Он уже есть и называется undo-log.
Проблема не в этом журнале. Проблема в том, чтобы сделать отложенную проверку максимально эффективной.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783732
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladОн уже есть и называется undo-log.
Разве он не уничтожается при достижении определённого размера?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783785
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemanaЧто ты имеешь виду?

Берём, например, FK. Добавляем запись к существующему мастеру - операция валидна. Удаляем
мастера - операция инвалидна. Вставляем нового мастера с тем же PK - операция валидна.
Коммитим. Получаем облом на удаление мастера, поскольку деталь для него существует. А зря.

В моем представлении, этот журнал это не просто последовательный лог событий. Это таблица невалидных записей-ограничений. Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной записи и идентификатору ее таблице. При помещение валидной записи в базу данных не валидные нужно из журнала исключить, ес-но если она там есть. При помещение невалидной нужно добавить запись в журнал, если ее там нет. В конце транзакции проверить все записи журнала.

Тут самое главное что проигрыш в производительности при отсутствие нарушений или при малом их количестве совсем небольшой так журнал либо пуст либо содержит малое количество элементов, а значит поиск в нем не займет многого.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783822
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной записи и
идентификатору ее таблице.

В морг. Целые числа в качестве РК обычное явление, но отнюдь не требование. Плюс не надо
забывать unique constraints, check constraints и т.д. и т.п.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783854
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
hvladОн уже есть и называется undo-log.
Разве он не уничтожается при достижении определённого размера?
Не совсем так. Ну и для таблиц, участвующих в отложенной проверке можно не чистить лог.
Сдаётся мне, это тема не для этого форума :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783919
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной записи и
идентификатору ее таблице.

В морг. Целые числа в качестве РК обычное явление, но отнюдь не требование. Плюс не надо
забывать unique constraints, check constraints и т.д. и т.п.

Раз есть FK, значит есть PK, храни его в журнале. Причем здесь целые числа, из каких глубин своего подсознания ты их достал, ведь я о них не упоминал?

Причем здесь морг, я к тебе с просьбой о мед помощи о реализации вроде не обращался?
Dimitry Sibiryakov
Плюс не надо
забывать unique constraints, check constraints и т.д. и т.п.

Ну и ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783970
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
artemanaЗапись в таком журнале идентифицируется по типу ограничения, PK-невалидной
записи и идентификатору ее таблице.
Раз есть FK, значит есть PK, храни его в журнале. Причем здесь целые числа, из каких
глубин своего подсознания ты их достал, ведь я о них не упоминал?

Ты упомянул РК невалидной записи. Значение РК может достигать в размере четырёх килобайт.
Журнал при таких условиях в память может и не влезть.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36784028
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Ты упомянул РК невалидной записи. Значение РК может достигать в размере четырёх килобайт.
Журнал при таких условиях в память может и не влезть.


А почему он (журнал) должен быть только в памяти??? Пусть, как и обычные таблицы, располагается на страницах БД, которые если журнал небольшой, за счет частого обращения, будут в кеше, или если он большой, будут вытесняться на диск. При большом количестве больших "инвалидов" падение производительности вполне допустимо. И кстати, оно не будет больше, чем при проверке уникальности PK или другого уникального ограничение на поле.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36812147
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo Исключение триггеров где они могли бы быть на своем месте тоже может нести риски увеличения энтропии программного обеспечения.
Точно так. В ряде случаев применение триггеров позволяет сократить программный код в разы.
Имхо, не стоит делать категоричный выбор между ХП и Триггерами. Истина где-то посередине. :)
Разумное сочетание обеих средств!
...
Рейтинг: 0 / 0
287 сообщений из 287, показаны все 12 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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