Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7 8 9 10 .. 12      [все]
 MySQL и Firebird для Web  [new]
Mexanik
Member

Откуда: из России
Сообщений: 260
Лично для меня преимущество птицы обусловлено такими своеобразными аргументами:
1. Читал в книгах, что он лучше MySQL по многим показателям и обладает более высокой масштабируемостью для многопользовательских условий.
2. Я пишу на делфи, использую фибы, а для MySQL надо чёто искать из компонентов доступа.
3. Имею некий опыт работы с птицей, а ПО MySQL надо читать доку и изучать его с нуля.
4. Учитывая вышеизложеное, мне легче написать CGI на делфи в связке с Firebird.

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

Грызть или не грызть MySQL, перл или рнр, вот в чём вопрос?
31 июл 10, 22:51    [9188960]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Vinny the POOH
Member

Откуда: Киев
Сообщений: 1525
Грызть, причём - очень усиленно. Делать ВЕБ на делфи+CGI - ну это... Я даже не знаю.... Даже не 19 век, в эпоху ВЕБ1.0 этим страдали только редкостные извращенцы. Копрофилией я бы это назвал, вот! К любимой птице из того же пыхпыха (да и вообще любого вменяемого ЯП) достучаться можно вообще без проблем. СУБД очень неплохая, хотя в ВЕБ более привычны мускуль и Постгрес.
Мой совет: хочешь в ВЕБ - усиленно грызи Пыхпых, Питон, Руби (посмотри всё, что больше прийдется по душе). А про делфи вообще забудь. От него УЖЕ попахивает.
31 июл 10, 22:58    [9188981]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 10001
Vinny the POOH
А про делфи вообще забудь. От него УЖЕ попахивает.

Эти слова слышу уже лет 6 или больше ... А люди продолжают делать успешные
приложения на Delphi. Может слова не соответствуют действительности ?
1 авг 10, 12:49    [9189561]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Vinny the POOH
Member

Откуда: Киев
Сообщений: 1525
Dmitry Arefiev, его и раньше-то в-основном в странах СНГ использовали. А не померло оно до сих пор лишь благодаря нашим конченным "универам". Но и это не мешает ему попахивать...
1 авг 10, 13:31    [9189631]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 10001
Vinny the POOH
его и раньше-то в-основном в странах СНГ использовали.

Да нет ... В Европе, Азии и Южной Америке полно пользователей.
1 авг 10, 13:43    [9189670]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
alex_k
Member

Откуда: krasnoyarsk
Сообщений: 6695
Mexanik

а) Легко ли будет найти хостера с файербёрдом?

хостера с fb ты может и найдешь. но у него к тому же должна быть винда, чтобы delphi cgi исполнялись. вот такую комбинацию поискать - настоящий вызов для извращенцев.
1 авг 10, 14:31    [9189764]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Mexanik

Грызть или не грызть MySQL, перл или рнр, вот в чём вопрос?

Грызть. В качестве СУБД: MySQL(Блокнотик такой, с быстрой выборкой и без С в ACID'е) или PostgreSQL (Отбросьте от Оракла навороты, оставьте непосредственно СУБД и получите Пг. Правда с 1000 + 1 ньюансом и не всегда в + ораклу).
В качестве ЯП для Веба: Perl (сам пишу), PHP(писал, перешел на Перл), Руби(Не работал), С#(Вообще смотрел, но мало), Java (JEE вроде очень быстрая, но вообще не смотрел).

Да, если C#, то СУБД MSSQL - 99%. Или учи, в том числе, mono.
2 авг 10, 00:50    [9190821]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Warstone
Да, если C#, то СУБД MSSQL - 99%. Или учи, в том числе, mono.

муйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.
Я допускаю, что "проблемы" могут быть лишь в качестве драйверов .Net для конкретного сервера, но например у FB с этим проблем нет, драйвер вполне нормальный. у Оракла, вроде, тоже.
2 авг 10, 02:18    [9190874]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
kdv
муйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.
Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.
2 авг 10, 10:32    [9191498]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Vinny the POOH
Member

Откуда: Киев
Сообщений: 1525
Warstone
kdv
муйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.
Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.


Так всё правильно. .net для сайтов выбирают фирмочки, у которых вся инфраструктура M$, соответственно база CRM/ERP/торговой системы или ещё чего на M$$QL, и к этому всему надо прикрутить или публичный ВЕБ-сайт или что-то для внутреннего пользования. Ни один вменяемый ВЕБ-девелопер для сайта-стартапа дотнет не выберет, т.к. Dорого&Gлупо.
2 авг 10, 10:35    [9191533]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
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лупо".
2 авг 10, 13:40    [9193304]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
Mexanik,

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

На Delphi + FB в части клепания сайтов денег не заработаешь, однозначно.
На PHP + MySQL будет большая конкуренция "студентов", зато .
На ASP .NET + MS SQL не будет большого объема халтуры (хотя найти можно, в том числе и по шарепоинту) за то
За Java денег хорошо платят, особенно если от сайтостроительства отойти:)
2 авг 10, 13:46    [9193379]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Кифирчик
Member

Откуда: СПб
Сообщений: 939
Warstone
kdv
муйня. .Net это всего-лишь дрова, которым по барабану серверная сторона.
Вообще - да, а теперь мы идем в ветку "Вакансии" и смотрим вакансии с Web .Net... И 99% там MSSQL.

+1024
лучше гызть C#,.NET,ASP,MSSQL
2 авг 10, 13:47    [9193388]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5028
Как уже написали, в PHP есть доступ к FB, если так охота юзать FB.
Сам пишу на Дельфях десктопные приложения, но для вебы реально прошлый век.
2 авг 10, 16:02    [9194798]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Megabyte
... но для вебы реально прошлый век.

...просто ты не умеешь ее готовить.
из (R)екламы
2 авг 10, 16:19    [9195024]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
Часть сообщения потерялась...
AlexPhil
Mexanik,

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

На Delphi + FB в части клепания сайтов денег не заработаешь, однозначно.
На PHP + MySQL будет большая конкуренция "студентов", зато халтуры много.
На ASP .NET + MS SQL не будет большого объема халтуры (хотя найти можно, в том числе и по шарепоинту) за то можно фуллтайм спокойно работать.
За Java денег хорошо платят, особенно если от сайтостроительства отойти:)
2 авг 10, 16:22    [9195055]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
AlexPhil
Мы говорим про интернет или интранет?

А в чем прЫнципильная разница?

AlexPhil
Если интернет, то PHP/PERL/Ruby/... + MySQL/... редко Java.

Это если сваять гавносайтики на халявном хостинге, за 10$.

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

Тот же СКРУЛЬ - совсем другая платформа.
2 авг 10, 16:25    [9195115]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
ZrenBy
Member

Откуда: Костромаа
Сообщений: 1578
Di_LIne
Megabyte
... но для вебы реально прошлый век.

...просто ты не умеешь ее готовить.
из (R)екламы


Так её ещё и готовить надо (вместо простого использования) ???
2 авг 10, 16:27    [9195134]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Mexanik, суть твоего вопроса мимо в том, что круг задач четко не определен.

1. Если лабать говносайтики - ПлоХоПлюнька безальтернативный вариант.
2. Если мультихостин, покупной - тоже безальтернативно, ПыХПых.
3. Если проект суриозный и можно серьезно говорить о выделенном сервере, то вариант FB ни в чем не уступает M$.
А даже выигрывает на уровне начальных вложений.
2 авг 10, 16:32    [9195197]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
ZrenBy
Так её ещё и готовить надо (вместо простого использования) ???

Если тебе только мышкой тыркать, то извини дружище.
Ставь какую-нить ЦМС-ку не парься...
2 авг 10, 16:33    [9195219]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
Di_LIne
AlexPhil
Мы говорим про интернет или интранет?

А в чем прЫнципильная разница?


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

Несколько иные требования к безопасности (интеграция с AD, например) и функционалу (интеграция с ERP/WorkFlow/SharePoint).
2 авг 10, 16:44    [9195335]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
Di_LIne
3. Если проект суриозный и можно серьезно говорить о выделенном сервере, то вариант FB ни в чем не уступает M$.
А даже выигрывает на уровне начальных вложений.

А есть "суриозные" проекты на FB для интернета? Всегда считал, что использовать FB оправдано как-раз в небольших десктопных разработках.
На MS SQL есть, знаю. На MySQL очень много, слон тоже встечается. Даже Информикс как-то встречался (molotok.ru) и Lotus (hh.ru), к счастью оба от этого отказались.
А вот FB зачем для сайтов использовать?
2 авг 10, 16:50    [9195393]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
AlexPhil
А есть "суриозные" проекты на FB для интернета? Всегда считал, что использовать FB оправдано как-раз в небольших десктопных разработках.

"суриозные" проекты на ФБ обычно в интернете не светятся, ибо ни к чему. Так что про "небольшие десктопные разработки" это серьезное заблуждение.
В общем, так сложилось, и хостингов с ФБ действительно мало. Впрочем, у того же Di_line, насколько я знаю, как раз вполне себе серьезный проект на ФБ и "для интернета".
2 авг 10, 16:56    [9195462]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

kdv
В общем, так сложилось, и хостингов с ФБ действительно мало.

В режиме "один сервер на всех" она работать не может, а виртуализация внедрилась в
сознание хостеров относительно недавно.

Posted via ActualForum NNTP Server 1.4

2 авг 10, 17:11    [9195621]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
kdv
"суриозные" проекты на ФБ обычно в интернете не светятся, ибо ни к чему. Так что про "небольшие десктопные разработки" это серьезное заблуждение.
В общем, так сложилось, и хостингов с ФБ действительно мало. Впрочем, у того же Di_line, насколько я знаю, как раз вполне себе серьезный проект на ФБ и "для интернета".

Почему не светятся, не совсем понял? Вам не нужны референсы об успешных внедрениях?
Какую примерно долю от рынка СУБД для интернет проектов он занимает?

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

Про "заблуждение" согласен. Возможно я просто не в курсе, вот и прошу пояснить.
2 авг 10, 17:17    [9195682]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
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, и они покрутят пальцами у виска.
2 авг 10, 18:24    [9196170]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
kdv
почему системы на Firebird не стремятся влезть в эту же нишу - они как раз уже давно влезли туда, где MySQL в не-веб-системах проиграл.

kdv, имхо, очепятка.
Читать следует как:
автор
влезли туда, где MySQL в веб-системах проиграл.


А светить что и как сделано на комерческих ресурсах могут только дураки, если сознательно, и лохи по непониманию.
Мне, к примеру, скриптидисы надоели.
Долбются и долбояютца, как... по словарю ПыхПышных скриптов, получая ессно 404.
Флаг им в руки и перо в зад.
Благо пломать им много чего есть. ;-)
2 авг 10, 19:54    [9196579]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
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 везде.
2 авг 10, 23:17    [9197094]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

AlexPhil

Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.

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

Posted via ActualForum NNTP Server 1.4

2 авг 10, 23:34    [9197133]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

AlexPhil

Не порадовало что за секьюрити никто не следит: SYSDBA/MasterKey везде.

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


change_on_install на sys-е, вообще-то ... был
нонече исталятор очень настойчиво требует поменять
и потом, к чему сия статистика?
3 авг 10, 08:15    [9197554]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5028
Di_LIne
Megabyte
... но для вебы реально прошлый век.

...просто ты не умеешь ее готовить.
из (R)екламы

Вы хотите сказать, что использование CGI-приложения, написанного на Дельфе,
вместо PHPшного скрипта, будет оправдано?!
Оно ж медленнее будет работать.

Можно пример, если не трудно?
3 авг 10, 12:50    [9199318]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Megabyte
Вы хотите сказать, что использование CGI-приложения, написанного на Дельфе,
вместо PHPшного скрипта, будет оправдано?!
Оно ж медленнее будет работать.

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

Стиль же програманья в Дельфе не стимулирует к таким извратам.
Так же как и разделения HTML и програмного кода. Что облегчает (ускоряет) процессы разработки, редизайна и прочие.
Это раз.
3 авг 10, 13:02    [9199401]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
и потом, к чему сия статистика?

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

Posted via ActualForum NNTP Server 1.4

3 авг 10, 14:23    [9200095]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
AlexPhil
Member

Откуда:
Сообщений: 170
Dimitry Sibiryakov

Чтобы слова АлексоФила...

За что же меня так:)
3 авг 10, 14:50    [9200422]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
и потом, к чему сия статистика?

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


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

автор

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


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

автор

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


???
3 авг 10, 15:11    [9200692]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Вы нашли

Я - нигде не нашёл. Но есть туча "личностей", способных и не на такое.

Posted via ActualForum NNTP Server 1.4

3 авг 10, 15:17    [9200767]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Вы нашли

Я - нигде не нашёл. Но есть туча "личностей", способных и не на такое.


Вы например ???
3 авг 10, 15:32    [9200968]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Вы например ???

Например - Ё!

Posted via ActualForum NNTP Server 1.4

3 авг 10, 15:42    [9201083]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Вы например ???

Например - Ё!


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

P.S. Перед AlexPhil извинились бы что-ли. Не за что моральную травму получил :)
P.P.S. Кстати, про коверканье ников было что-то в правилах форума
3 авг 10, 15:56    [9201218]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Странно, что он не воспользовался случаем, правда?

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

PS: Перед AlexPhil извиняюсь.
PPS: Является ли транслитерация ников их коверканием - вопрос не для этого раздела.

Posted via ActualForum NNTP Server 1.4

3 авг 10, 16:03    [9201295]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Gluk
Вы например ???

я бы предложил откатить иронизирование. Можно подумать что абсолютно все админы MS SQL такие умные и сертифицированные, что немедленно меняют пароль sa?
Если Вам не нравится Дмитрий Сибиряков, то это также не исключает изложенного выше предположения, которое, уверяю, имеет под собой основания.

p.s. по роду работы мне встречается больше идиотов-админов за рубежом, чем в России. Впрочем, может быть мне так только кажется, потому что я подсознательно ожидал от зарубежных админов более высокой квалификации. Это так, просто замечание вслух.
3 авг 10, 16:47    [9201792]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv
Gluk
Вы например ???

я бы предложил откатить иронизирование. Можно подумать что абсолютно все админы MS SQL такие умные и сертифицированные, что немедленно меняют пароль sa?
Если Вам не нравится Дмитрий Сибиряков, то это также не исключает изложенного выше предположения, которое, уверяю, имеет под собой основания.

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


Поясняю: Локальные идиотизмы админов MS SQL (к которым я не отношусь), равно как FB, Oracle и любой другой СУБД, не имеют отношения к достоинствам или недостаткам этих СУБД (что бы там не думал по этому поводу обиженный на Oracle Dimitry Sibiryakov)
3 авг 10, 17:00    [9201929]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Версионность и ХП - 2 самых мошных орудия FB, кои очень актуальны и эффективны именно применительно к Web-проектам.
3 авг 10, 18:48    [9202887]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Di_LIne
Версионность и ХП - 2 самых мошных орудия FB, кои очень актуальны и эффективны именно применительно к Web-проектам.


ага, мощный веб с таким ограничением будет:
https://www.sql.ru/forum/actualthread.aspx?bid=2&tid=764108&pg=11#8906825

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

я бы лучше фокспро выбрал, даже он в вебе лучше отмасштабируется
3 авг 10, 23:48    [9204009]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
ага, мощный веб с таким ограничением будет:

не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.
4 авг 10, 00:26    [9204179]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
kdv
не надо чушь молоть.
А оно не может иначе. Устройство такое.
Опять влезло, куда не понимает, и выЁживается
4 авг 10, 00:34    [9204205]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Yo.!
ага, мощный веб с таким ограничением будет:
https://www.sql.ru/forum/actualthread.aspx?bid=2&tid=764108&pg=11#8906825

Гы! Yo.!, нипасорься, а займись арихметикай:
127 паралельных запросов в секунду - это скока суточная нагрузка в ползателях?
Это раз.
Скока йайцев процов для сего реально нужно?
Это два.
Тры... Еще будет. :-)
4 авг 10, 00:52    [9204266]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.


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

пул аж на 127 коннектов, о да это серьезный веб, форум колхоза "Рассвет" точно вытянет если не пападет на слешдот в новости о самом глупом выборе субд
4 авг 10, 01:06    [9204309]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
вы товарищ на солнышке головку то прикрывайте. у оракла если я правильно помню есть инсталяции на 40 000 одновременных конектов в режиме dedicated и за 200 000 конектов в режиме MTS.

муйня. Вы посчитайте-ка, сколько реально трафик может быть на гигабитной сетке, и какой трафик должны создавать 200к коннектов. Не иначе как кроме в цирке такое может быть.
Практики у Вас нет никакой, гражданин Yo!. Данные хоть какие правдоподобные приведите, штоль.

я допускаю, что 40к коннектов могут быть при запросах select 1 from dual. Но что-нибудь более реальное - это бред сивой кобылы. Подчеркиваю - на гигабитной сетке. Экзотические и нереальные для обычных кастомеров условия меня не интересуют.
Мы все и так знаем, что больше всего данных на расстояние можно перевезти в грузовике с HDD. И?
4 авг 10, 02:10    [9204396]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
более того, про эти 40 тыщ можно песни петь я не знаю кому. Любой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра. Так что про цирк я не зря упомянул. Можно, конечно, натянуть шатер Шапито, и махать шашкой про 40 тыщ, только Вы бы сами сперва попробовали любой программой это сделать. Ну а потом уже докладывали бы, как это удалось еще кому-то.
То есть, я не спорю, что за 40к одновременно открытых сокетов в ОС людЯм надо памятник поставить. Просто, это сродни победе в гонке F1. Ни Вы, ни я, ни миллионы других людей этого не смогут. Смогут единицы. Они герои? Да, безусловно. Но по улицам, как бы, F1 не видать.
4 авг 10, 02:18    [9204401]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Yo.!
о да это серьезный веб, форум колхоза "Рассвет" точно вытянет если не пападет на слешдот в новости о самом глупом выборе субд

Ну, вота значитцо как дело было...
Как-то Гугля сбрендил и вдул робот в фазенду "Жарптыц" 2 тыщи запросов с хвостиком в секунду.
Ну... Птыц встрепенулся и выплюнул все робота. Типа 504 ответ от веб-сервера Гугля так и не получил.
Все остальное - гольное тиаритизирование.
Бо сие факт наблюдаемый и в логах Апачи зафиксированный.
4 авг 10, 02:34    [9204411]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
пул аж на 127 коннектов, о да это серьезный веб

127 это не коннектов всего, кстати. Влад же написал, что это за ограничение и как оно работает.
Кстати, я помню что в ~2000 году на anekdot.ru (одном из наиболее популярных ресурсов тогда) было около 3 обращений в секунду.
В том же тесте терабайтной БД скорость ШТУЧНОЙ вставки записей 24 тысячи в секунду. Так что не надо тыкать в 127. Вы опять услышали звон, но нифига не поняли.
4 авг 10, 11:06    [9205716]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
kdv, предлагаю считать Yo! пришпиленным аргументами и фактами.
И без конкретных личных фактов, а не сцылок на чужие посты, считать трепологом.
4 авг 10, 11:57    [9206205]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
kdv
Yo!
ага, мощный веб с таким ограничением будет:

не надо чушь молоть. В веб-системах в 99% случаев используется пулинг коннектов. Это только идиоты могут использовать 1 коннект к БД на 1 коннект юзера к вебу. У Оракла, если я помню, 2000 коннектов - предел? Даже для клиент-сервера доезд разработчиков до этого предела уже свидетельствует об их тупизне.

Нет такого предела. О тупизне разработчиков расскажите вот этим парням: http://www.interactiveone.com/
Они, ясное дело, тупее вас, раз не используют пул коннектов (и даже оракловый shared server).
4 авг 10, 12:29    [9206568]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv
Любой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра. Так что про цирк я не зря упомянул. Можно, конечно, натянуть шатер Шапито, и махать шашкой про 40 тыщ, только Вы бы сами сперва попробовали любой программой это сделать. Ну а потом уже докладывали бы, как это удалось еще кому-то.


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

обычный RHEL5:

<?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 минуты, смотрим

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
4 авг 10, 12:39    [9206671]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
сюрприз да ? стандартное ядро и 1000 коннекций без проблем.

1000 коннектов это ерунда. Ты 10 тысяч покажи.

Posted via ActualForum NNTP Server 1.4

4 авг 10, 12:53    [9206899]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
kdv
более того, про эти 40 тыщ можно песни петь я не знаю кому. Любой админ линукса, например, скажет Вам, что даже 600-800 коннектов к серверу получится только через перекомпиляцию ядра.

Причем тут линуксы? На них свет клином не сошелся. Оракл под HP-UX или Solaris вообще без проблем обслуживает больше тысячи соединений (у меня сейчас больше 900 только в Оракле). Это вообще курам на смех, это уже норма практически, такие системы даже большими назвать нельзя.
4 авг 10, 12:57    [9206973]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5028
Di_LIne
Megabyte
Вы хотите сказать, что использование 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 знать не знает ни про какие ХП, функции и триггеры(или я отстал от жизни, есть версия, которая знает?).
4 авг 10, 13:01    [9207036]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Megabyte

1) ISAPI DLL будет работать на линухе, который стоит на большинстве хостингов?

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

Megabyte

Даже MySQL непричем.

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

Megabyte

Просто на большинстве хостингов нет нормального менеджера СУБД для поддержки серверного кода.

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

Megabyte
и триггеры.

Чёт мне грит тригеров (аналогичных FB) там как не было, так и нет.
Или я отстал от жизни, есть версия, которая умеет?
4 авг 10, 13:11    [9207177]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Apex
(у меня сейчас больше 900 только в Оракле).

Пока Ё не проснулся:
SQL> select count(*) from mon$attachments;

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

Posted via ActualForum NNTP Server 1.4

4 авг 10, 13:31    [9207458]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

Пока Ё не проснулся:
SQL> select count(*) from mon$attachments;

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

ядро долго пересобирал ?
4 авг 10, 13:54    [9207764]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
ядро долго пересобирал ?

О чём ты? Это на винде из коробки.

Posted via ActualForum NNTP Server 1.4

4 авг 10, 13:59    [9207827]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
сюрприз да ? стандартное ядро и 1000 коннекций без проблем.

ок, не спорю, значит мои данные устарели, хотя лет 5-6 назад это было правдой. Но 1000 нынешних коннектов это не 40 тысяч и не 200 тысяч.

Apex
Это вообще курам на смех, это уже норма практически, такие системы даже большими назвать нельзя.

про 1000 или про 40 тысяч?
4 авг 10, 14:09    [9207940]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5028
Di_LIne
[quot Megabyte]
1) А чего мускулистам дали теперь и нормальные ХП-шки?...

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

3) Чёт мне грит тригеров (аналогичных FB) там как не было, так и нет.
Или я отстал от жизни, есть версия, которая умеет?

1) Эмм, ну я не в курсе, что вы имеете ввиду под "нормальными ХП", в 5й версии появились.
2) Кто спорит, но уж точно не проблемы PHP. :)
3) Я не знаю, сам не пользовал(не так много чего прогал под вебу на PHP+MySQL), но яндекс говорит, что триггеры есть.
4 авг 10, 14:12    [9207962]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Megabyte
2) Кто спорит, но уж точно не проблемы PHP. :)



3) Я не знаю, сам не пользовал(не так много чего прогал под вебу на PHP+MySQL), но яндекс говорит, что триггеры есть.[/quot]
4 авг 10, 14:20    [9208035]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Сории...
Дупль2


Megabyte

2) Кто спорит, но уж точно не проблемы PHP. :)

это проблема Мюслика.
- Адназначна.

Megabyte

1) Эмм, ну я не в курсе, что вы имеете ввиду под "нормальными ХП", в 5й версии появились.
...
3) но яндекс говорит, что триггеры есть.

От тлин как!
Глядишь так FB догонит по функционалу...
4 авг 10, 14:23    [9208058]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Вдогонку:
- Вона Трындекс набрал плошоплюшников с мюскулистами и результ...
Капча - 500 еггор.
4 авг 10, 14:30    [9208144]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Di_LIne
Глядишь так FB догонит по функционалу...

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

Posted via ActualForum NNTP Server 1.4

4 авг 10, 14:41    [9208297]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

ок, не спорю, значит мои данные устарели, хотя лет 5-6 назад это было правдой.


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

ЗЫ. 5-6 лет назад половина топ10 из tpc-c была зафиксирована ОДНОМ гигабитном свиче
4 авг 10, 14:52    [9208435]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Dimitry Sibiryakov
Т.е. триггера вроде как есть, но...

... как всегда - одно название. Так же как и ихние транзюкции.
4 авг 10, 15:01    [9208566]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
Di_LIne,

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

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

Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.
4 авг 10, 19:50    [9211165]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
- Привет, ДокаОлл! :-)

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


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

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

Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.[/quot]
4 авг 10, 20:13    [9211236]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
DocAl
А чем транзакции-то не угодили? Вполне себе нормальные транзакции.

Небось опять ток в одном каком-нить двишке... ;-)


DocAl

Но в целом, мне кажется, вёб -- не самая подходящая среда для Firebird.

- Аргументируй! (С)
4 авг 10, 20:16    [9211245]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
с транзакциями у mysql/innodb много лучше. во первых там нет гемора со сборкой мусора т.к. есть нормальный UNDO, во вторых там нормальный для версионника READ COMMITED, в отличие от ...
4 авг 10, 20:23    [9211285]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Yo.!
с транзакциями у mysql/innodb ...
... а в остальных - оных ва-аще нету.
4 авг 10, 20:59    [9211422]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Di_LIne
Yo.!
с транзакциями у mysql/innodb ...
... а в остальных - оных ва-аще нету.

и это здорово ...
4 авг 10, 21:20    [9211529]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
Di_LIne,

Ну слушай, мы же это уже обсуждали... Я говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД, в классическом режиме не шарится кеш, в а суперсервере -- нет SMP. Мне отвечали, что всё это ерунда, потому что... потому что ерунда, в общем.
4 авг 10, 21:45    [9211640]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
Di_LIne
Yo.!
с транзакциями у mysql/innodb ...
... а в остальных - оных ва-аще нету.
А у фаербёрда и остальных-то нет, о чём говорить?)
4 авг 10, 21:45    [9211643]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
DocAl
Я говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД

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

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

p.s.Какой, блин, кэш ФС на веб-сервере, при чем тут веб-сервер, и т.д.?
4 авг 10, 22:37    [9211778]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
DocAl
Ну слушай, мы же это уже обсуждали...

А чё они опять....

DocAl
Я говорил, что кэш ФС на веб-сервере -- не самое подходящее место для буферов БД,

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

DocAl
в классическом режиме не шарится кеш

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

DocAl
в а суперсервере -- нет SMP.

А пАчиму в супере он дАлжон быть? ;-)
4 авг 10, 22:38    [9211786]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

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

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

ЗЫ. только одна просьба, когда пойдешь, забери весь свой цирк вместе с шатром, пожааалуйста ...
4 авг 10, 22:57    [9211869]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
и действительно, что за фигня, что за дурацкое место, как только начинаю нести несусветную чушь тут же приходит Yo! тыкает носом в авно

в говно обычно тыкают носом Yo!, когда он начинает нести несусветную чушь о том, в чем ничего не понимает.

Yo!
ЗЫ. только одна просьба, когда пойдешь, забери весь свой цирк вместе с шатром, пожааалуйста ...

нет уж. Ваш шапито с 40к и 200к коннектов на двузвенке оставьте себе.
4 авг 10, 23:42    [9211992]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
kdv, с тобой неинтересно общаться. Аргументировать свою позицию ты не хочешь, а давить авторитетом -- много ума не надо.
5 авг 10, 00:54    [9212213]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
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

уже начали давать одинаковые результаты?
5 авг 10, 09:30    [9212734]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
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

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

Бо это сей конструкций - рудимент файлманагера.
Но ни как не клиент-серверной архитектуры.
5 авг 10, 09:52    [9212875]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
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?
Ии как тогда гасится рекурсия?
5 авг 10, 10:06    [9212956]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
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?
Ии как тогда гасится рекурсия?

Firebird же козыряет своей версионностью, вот бы её тут и применить?
5 авг 10, 10:11    [9212994]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
DocAl
Firebird же козыряет своей версионностью, вот бы её тут и применить?

Тут и козырять, вопчем, нечем и незачем...
Так как еще стоит заглянуть в тригер на UPDATE:
- Мошь чё еще там наваято...
Но раз муюслик настоко... однофазный, на пролетарский штык, то...
5 авг 10, 10:27    [9213133]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
Gluk (Kazan)

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

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

уже начали давать одинаковые результаты?
А что ФБ не умеет такого делать? о_О
5 авг 10, 10:29    [9213145]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Пока мюсля рекурсию
автор

... и впихивал, и всовывал,
хрипел, с натуги сплёвывал,
и желтый клык высовывал...

вся табля так и стоит, блокированная насмерть?
5 авг 10, 10:33    [9213187]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7014
Gluk (Kazan)
уже начали давать одинаковые результаты?

огорчу тебя - таки начали :-)
5 авг 10, 10:33    [9213189]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
dimitr
Gluk (Kazan)
уже начали давать одинаковые результаты?

огорчу тебя - таки начали :-)
Щас еще какую-нибудь мульку вспомнит пятилетней давности
5 авг 10, 10:35    [9213203]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
dimitr
[quot Gluk (Kazan)]огорчу тебя - таки начали :-)

Ну вот... Им жеж терь и покуражится нечем будет.
5 авг 10, 10:36    [9213224]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
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
5 авг 10, 10:50    [9213345]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7014
Yo.!,

причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?
5 авг 10, 10:55    [9213398]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
dimitr

причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?

при том insert into и update частные случаи бредятины из одной проблемы - стабильность курсора.
update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...
5 авг 10, 11:10    [9213551]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DocAl
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?
Ии как тогда гасится рекурсия?

Firebird же козыряет своей версионностью, вот бы её тут и применить?


+1

Значит от детских болезней не избавились ?
И продолжают учить не ковырять в носу, ой же ей
5 авг 10, 11:15    [9213607]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
dimitr
Gluk (Kazan)
уже начали давать одинаковые результаты?

огорчу тебя - таки начали :-)


Ну слава яйцам :)
нашли таки куда версионность применить
5 авг 10, 11:17    [9213623]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
Yo.!
update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...
Это вгде и в каком году?
5 авг 10, 11:29    [9213712]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Ну слава яйцам :)
нашли таки куда версионность применить

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 11:30    [9213719]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
eBase
Это вгде и в каком году?

Firebird 2.0
5 авг 10, 11:32    [9213742]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6722
Yo.!
dimitr

причем тут стабильность курсора относительно поведения присваивания в update? Снова говорим о том, чего не понимаем?

при том insert into и update частные случаи бредятины из одной проблемы - стабильность курсора.
update ... set a=b, b=a
сначала колонке а присваивается значение b, потом b снова присваивается значение b т.к. ФБ не способен обеспечить стабильность курсора ...

И причем тут Web? MySQL тоже много чего не умеет, но это ей не мешает.

Вот то, что провайдера для указанной комбинации (FB+Delphi) будет дорого найти, это проблема...
5 авг 10, 11:32    [9213745]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
Yo.!
eBase
Это вгде и в каком году?

Firebird 2.0
Ну если быть любителем старины то можно и в 1.0 поковыряться, может там еще осталось что-то интересное что можно по-закидывать ка...ми
5 авг 10, 11:35    [9213782]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7014
Yo.!,

про "частные случаи одной проблемы" - ты свечку держал, когда оно фиксилось? Или дальше поверхностной схожести симптомов копать выше твоего достоинства?
5 авг 10, 11:43    [9213877]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7014
Gluk (Kazan)
нашли таки куда версионность применить

ну хоть ты до уровня Ё не опускайся :-) Причем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)
5 авг 10, 11:47    [9213924]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Ну слава яйцам :)
нашли таки куда версионность применить

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


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

Но вообще согласен, раздражает
5 авг 10, 12:00    [9214079]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
dimitr
Gluk (Kazan)
нашли таки куда версионность применить

ну хоть ты до уровня Ё не опускайся :-) Причем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)


версионность это больше про астрал при insert из select-а той-же таблицы :)
где там :new и :old???
5 авг 10, 12:02    [9214097]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Аналогия не очень уместна

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

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 12:13    [9214229]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
версионность это больше про астрал при insert из select-а той-же таблицы :)
И опять пальцем в небо
5 авг 10, 12:17    [9214287]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
DocAI
kdv, с тобой неинтересно общаться. Аргументировать свою позицию ты не хочешь, а давить авторитетом -- много ума не надо.

где я давлю авторитетом? Это вы наоборот давите не-авторитетом, долбя одно и то же как заведенные.

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 для опровержения Вашего бреда. А в отношении тех, кто этих внутренностей не знает, Вы фактически являетесь ВРЕДИТЕЛЕМ, потому что дезинформируете их. Впрочем, Вы и сами дезинформированы (сами собой), хотя я до сих пор не уверен, специально все это делается или "по доброте душевной".
5 авг 10, 12:30    [9214424]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Аналогия не очень уместна

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

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


Я вообще-то где-то говорил про триггеры???
5 авг 10, 12:45    [9214614]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
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
Вауууу
5 авг 10, 12:47    [9214640]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Gluk (Kazan)
версионность это больше про астрал при insert из select-а той-же таблицы :)
И опять пальцем в небо


Мысль расшифруешь?
Или это просто рефлекторно-коллективное забрасывание какашками???
5 авг 10, 12:48    [9214646]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
dimitr
Причем тут нафиг версионность? В любом махровом блокировочнике есть OLD и NEW контексты записи при апдейте. Что теперь, все СУБД в один момент стали версионниками? :-)

блокировочный мсскл 2000 OLD вычислял прочесывая лог транзакций, мсскл 2005 для этой же цели юзает версионный механизм (не важно включен ли он)

2kdv

а ты действительно не помнишь кто тебе разжевывал этот баг в 2005 году ?
5 авг 10, 12:52    [9214688]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
hvlad
Gluk (Kazan)
версионность это больше про астрал при insert из select-а той-же таблицы :)
И опять пальцем в небо


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

Gluk (Kazan)
Или это просто рефлекторно-коллективное забрасывание какашками???
Не увлекаюсь
5 авг 10, 12:54    [9214712]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Сначала расскажи мне, каким боком версионность может влиять на insert into t select * from t, а я уже дополню\опровергну\расскажу как на самом деле.


А я и не говорил, что она влияет :)
Я говорил, что ее можно применить, для решения этих нежданчиков (что собственно Oracle и делает)
Как он это делает, объяснять надеюсь не надо ???
5 авг 10, 13:11    [9214919]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Я вообще-то где-то говорил про триггеры???

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

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

О да :) я совсем забыл


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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 13:13    [9214939]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo.!
а ты действительно не помнишь кто тебе разжевывал этот баг в 2005 году ?

спаси и сохрани! Неужели я в 2005 году, за 10 лет работы с InterBase и 5 лет работы с Firebird не знал о "нестабильности курсора"? И только великий Yo!, автор многих статей по версионности IB/FB, наставил меня на путь истинный?

Так что насчет "разжевывания" - это вряд ли. А вот обсуждение (вообще) вполне могло быть, включая вопросы к терминологии.
5 авг 10, 13:16    [9214964]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)

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

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 13:16    [9214970]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
hvlad
Сначала расскажи мне, каким боком версионность может влиять на insert into t select * from t, а я уже дополню\опровергну\расскажу как на самом деле.


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

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

PS Решение этой проблемы в разработке, оно обкатывается. И конкретно для insert версионность не нужна. Вот для update\delete - да, помогает.
5 авг 10, 13:23    [9215062]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Я вообще-то где-то говорил про триггеры???

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

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

О да :) я совсем забыл


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


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

Если задел религиозные чувства, прошу прощения
5 авг 10, 13:28    [9215123]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)

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

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


Надо :) Но если ломает, не обязательно
Поскольку в моем случае, любопытство на тему как сделать всех счастливыми, применив версионность в триггерах против мутаций, мне дюже интересно (я всегда стараюсь слушать, что умные люди говорят), но в какие-то исправления в Oracle вылиться не может
5 авг 10, 13:31    [9215154]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

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

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

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 13:34    [9215185]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad

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

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


А чоб не объяснить Особенно если юродствовать перестанешь.
Применяется просто. В момент начала SQL-запроса, фиксируется SCN и все данные для выполнения этого запроса берутся из блоков согласованными на момент этого SCN. insert (и update тоже) просто не видят то что они наизменяли физически. Есть правда толстый нюанс с миниоткатами, но кто-ж сказал, что надо делать именно как в Oracle???
5 авг 10, 13:36    [9215205]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

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


надо, надо. давай, жуть как хочется услышать как же ФБ борется с мутациями. попкорн приготовлен.
5 авг 10, 13:36    [9215208]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

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

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

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


ну яж так и говорю - все довольны
5 авг 10, 13:37    [9215213]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Надо :)

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 13:42    [9215281]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Надо :)

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


Если не возражаешь, я послушаю, что скажет hvlad
5 авг 10, 13:44    [9215306]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

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


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

Dimitry Sibiryakov

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

ну-ну, и в чем же заключается защита от произведенных изменений ? как решена проблема мутаций ? ты главное не пропадай !
5 авг 10, 13:51    [9215412]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
в чем собственно отличие такого поведения от любой другой версионной субд ?

В отсутствии запрета на чтение таблиц из триггеров.

Posted via ActualForum NNTP Server 1.4

5 авг 10, 13:57    [9215485]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

В отсутствии запрета на чтение таблиц из триггеров.


я потрясен и у меня просто открылись глаза. ведь firebird действительно решил проблему мутировавших данных! он просто читатет мутировавшие данные и в этом и есть решение !!
спасибо дорогой, у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили не нужных проверок, жить эксепшенами мешают, а ведь можно так просто решить проблему - просото читать муйню тихо молча, никого не раздражая. как же я не понимал такую простую истину
5 авг 10, 14:06    [9215597]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
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 версионность никак не нужна :)
5 авг 10, 14:09    [9215627]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Многовато-же блоков приходится ему запоминать...


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

hvlad

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


не нужна, так не нужна ...
5 авг 10, 14:16    [9215703]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!

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

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 14:29    [9215876]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Yo.!

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

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


Ну видать индусы и умные попадаются :)
Индия большая
5 авг 10, 14:47    [9216089]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Ну видать индусы и умные попадаются :)
Индия большая

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 14:54    [9216170]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

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

на уровне serializable SCN согласован, но мутация из-за своих же изменений происходит, может ты предлагаешь забив на любые изменения своей транзакции ? отличный солюшен был бы
5 авг 10, 14:54    [9216172]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
мутация из-за своих же изменений происходит,

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

И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой...

Posted via ActualForum NNTP Server 1.4

5 авг 10, 14:59    [9216224]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Ну видать индусы и умные попадаются :)
Индия большая

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


Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"
5 авг 10, 15:24    [9216510]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Dimitry Sibiryakov

И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой...

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

Dimitry Sibiryakov

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

вот это интересно, не поделишься ли своим виденьем этой цены ? типа отсутствие стабильности курсора в запросе оправдывает позволение читать мутируюшие данные или родилась более глубокая мысль ? у меня попкорн не закончился :-)
5 авг 10, 15:30    [9216600]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)
Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 16:32    [9217352]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
Да нет, это как раз умное решение. Не гениальное, но умное.
В отличие от неумного решения позволять читать несогласованную "муйню"

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


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

Неумное решение - позволить читать несогласованные данные
5 авг 10, 16:48    [9217515]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)

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

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


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

Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их
"несогласованность"?

Posted via ActualForum NNTP Server 1.4

5 авг 10, 16:57    [9217587]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их
"несогласованность"?


В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса.
В том что изменения выполненные update-ом еще не существовали на момент его начала.
5 авг 10, 17:01    [9217616]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Gluk (Kazan)

В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса.
В том что изменения выполненные update-ом еще не существовали на момент его начала.

И в чём же "несогласованность"? Да, не существовали. Они так же не существовали на момент
старта транзакции. Как сказал Ё: "может ты предлагаешь забив на любые изменения своей
транзакции ? отличный солюшен был бы"

Posted via ActualForum NNTP Server 1.4

5 авг 10, 17:27    [9217905]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6722
hvlad
Многовато-же блоков приходится ему запоминать...

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


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

ЗЫ. Надо каждый топик в "Сравнении СУБД" вовремя форкать, чтобы опять не скатывался в орафайресрач )
5 авг 10, 18:04    [9218377]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Siemargl
Интересно, а памяти как хватает при массовых операциях, см.как у Оракла?
Промежуточные бекверсии переливаются на диск, после превышения некоторого порога в памяти.
5 авг 10, 18:24    [9218541]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Читал-читал-читал...
Но так и не вкурил, почему ПРИНЦИПИЯЛЬНО нельзя использовать СУБД, успешно используемую во многих офф-лайн системах и интранетах, на Веб-сервере в инете? (со всеми её потрохами)

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

Паралеьно второй вопрос, с пируетом на 180о...
- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?
5 авг 10, 19:04    [9218841]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6722
1. Виртуальный сервер - дорого. SQL2008 vs VPD для FB.
2.Возможно, потому что по сути гуано? Разработчики избалованы, им фичи подавай, удобства там, визуализацию.
5 авг 10, 19:26    [9218982]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Siemargl
Виртуальный сервер - дорого. SQL2008 vs VPD для FB.

это всего-лишь тарифы такие. VPD начинается за 800 руб там, где SQL2008 кончается за 1400 руб. То есть, грубо говоря с SQL2008 тарифы до 700 руб это просто замануха.

К сожалению, это только моя теория, интересно было бы посмотреть для каких задач могут использоваться тарифы SQL до 700р в месяц.
5 авг 10, 20:22    [9219175]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Di_LIne

- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?

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

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 21:26    [9219329]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
Dimitry Sibiryakov

Di_LIne

- Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне?

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

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

Дааа, самомнения у разработчиков ФБ не занимать :)
5 авг 10, 22:27    [9219543]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Apex
Дааа, самомнения у разработчиков ФБ не занимать :)

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

Posted via ActualForum NNTP Server 1.4

5 авг 10, 22:29    [9219553]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
Dimitry Sibiryakov

Apex
Дааа, самомнения у разработчиков ФБ не занимать :)

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

Не только чтением и не только Оракла. А ФБ у тебя на лбу написан.
5 авг 10, 23:07    [9219696]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Apex
Не только чтением и не только Оракла. А ФБ у тебя на лбу написан.

ок, а у Вас на лбу что написано?

Кстати. Топик этот как называется? коршуны чего налетели-то, не пойму.
5 авг 10, 23:29    [9219771]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
kdv

ок, а у Вас на лбу что написано?

Ну уж точно не только Оракл,если вы об этом.
5 авг 10, 23:35    [9219794]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Saller
Member

Откуда: exUSSR
Сообщений: 1141
Apex
Дааа, самомнения у разработчиков ФБ не занимать :)
А при чем тут самомнение? Или факты это такая страшная вещь чтобы их принимать как они есть? Откройте документацию того же MySQL и FireBird и сравните возможности триггеров и там и там. А так только пустозвон в Ваших постах.
6 авг 10, 09:57    [9220850]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
А я лублу Постгре. А если вы тут будите оффтопить - будем вместе изучать ФыВыМас - в наказание. А то там керды-перды-кун что-то молчит.
6 авг 10, 10:55    [9221413]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Warstone, ну и луби... Те кто-то(что-то) мешает?
6 авг 10, 11:33    [9221821]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Warstone
А я лублу Постгре.

Вот и расскажи нам: что он позволяет читать/писать в триггерах и к каким результатам это
приводит. Чтобы можно было решить куда в этой линейке его поместить.

Posted via ActualForum NNTP Server 1.4

6 авг 10, 12:06    [9222180]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

Warstone
А я лублу Постгре.

Вот и расскажи нам: что он позволяет читать/писать в триггерах и к каким результатам это
приводит. Чтобы можно было решить куда в этой линейке его поместить.
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);
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.
6 авг 10, 13:19    [9222962]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Warstone

Т.е. PG позволяет читать из модифицируемой таблицы. В этом он обставил "старшего брата". А
писать в неё?

Posted via ActualForum NNTP Server 1.4

6 авг 10, 13:30    [9223088]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

Warstone

Т.е. PG позволяет читать из модифицируемой таблицы. В этом он обставил "старшего брата". А
писать в неё?
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);
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.
6 авг 10, 13:35    [9223143]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

О, круто. Индусы могут плакать от зависти.

А что будет если убрать "IF NEW.a<>10"?

Posted via ActualForum NNTP Server 1.4

6 авг 10, 13:57    [9223324]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

О, круто. Индусы могут плакать от зависти.

А что будет если убрать "IF NEW.a<>10"?
Бесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.
6 авг 10, 14:01    [9223366]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Warstone
Бесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.

какая неожиданность
что-то индусы мне все больше нравятся. к стате интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где оракл мниоткат делает ?
6 авг 10, 14:43    [9223887]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!

интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где
оракл мниоткат делает ?

Запросы знаю... таблицы знаю... индексы знаю... Предикатов не знаю. Что индусы называют
"предикатами"?

Posted via ActualForum NNTP Server 1.4

6 авг 10, 14:59    [9224054]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Yo.!
Warstone
Бесконечный цикл. Хз, может пото отвалится по оверфлоу стека - не дождался.

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

Может пойдем еще дальше, и для того чтобы ликвидировать опасность попадание в бесконечный цикл запретим на уровне PSQL все операторы циклов и переходов, а? Бог с тем Тьюрингом, пусть будет только последовательное выполнение и ветвление. Ерунда, что программы смогут реализовать значительно меньше алгоритмов, зато бесконечного цикла не будет ни у кого, и никогда. На смену беспорядку прийдет порядок! Как на кладбище.
6 авг 10, 15:00    [9224071]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Yo.!
что-то индусы мне все больше нравятся. к стате интересно блокировок предикатов ни в ФБ ни постгрес не имеют, что они выдадут там где оракл мниоткат делает ?
Ну та сначала по русски расскажи что ты хочешь услышать. Я-же с Ораклом не работал. Я тебе отвечу - что будет. Хотя что-то мне кажется что ответ будет такой:

Механизм сейвпоинтов и BEGIN EXCEPT - который реализован через вложенную транзакцию.
6 авг 10, 15:06    [9224135]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
мне кажется, Yo! уже объясняли про сэйвпойнты в Firebird. Если нет, то тут:
www.ibase.ru/devinfo/savepoints.htm
6 авг 10, 15:20    [9224310]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
kdv
мне кажется, Yo! уже объясняли про ... Firebird
Это бесполезно...
6 авг 10, 15:36    [9224557]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
artemana

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

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

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

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

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

ЗЫ. для Firebird вопрос снимается, там же Read Commited и не пытается консистентный набор выдать.
6 авг 10, 17:17    [9225736]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
уход в бесконечный цикл это самый безобидный из косяков при отсутствии
защиты

Рекурсии бояться - в программисты не ходить.

Yo.!

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

Вообще-то DML никакого набора и не выдаёт... Firebird при подобном конфликте не станет
заниматься фрикциями, а просто откатит всю предыдущую работу запроса и вернёт ошибку
пользователю.

Posted via ActualForum NNTP Server 1.4

6 авг 10, 17:57    [9226113]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
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. А про микро-снапшот, стартуемый Ораклом в начале оператора, я сказал выше.
6 авг 10, 18:23    [9226317]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
kdv
Что в отношении ФБ справедливо для уровня изолированности SNAPSHOT.

блин, записался. Имел в виду что поведение Оракла относительно оператора в RC эквивалентно снапшоту в ФБ потому что в начале оператора Оракл как раз как бы стартует микро-снапшот-транзакцию на время работы оператора.
6 авг 10, 18:24    [9226329]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

блин, записался. Имел в виду что поведение Оракла относительно оператора в RC эквивалентно снапшоту в ФБ потому что в начале оператора Оракл как раз как бы стартует микро-снапшот-транзакцию на время работы оператора.

ну хоть что-то FB умеет делать как все

kdv

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

смеялсо.
6 авг 10, 18:50    [9226497]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Yo.!
artemana

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

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

Это будут твои, как прикладного программиста, косяки. Сам сделал, сам и разбирайся.
То есть в данном случае мне не нужна защита для дураков, ограничивающая мои возможности.
Подавляющее большинство языков программирования разрешает
а. вызов проц.A из A.
б.Перекрестный вызов проц.B из A и A из B.
Умеешь и считаешь возможным - пользуйся, не умеешь - учись или меняй профессию.
6 авг 10, 18:55    [9226526]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
artemana

Это будут твои, как прикладного программиста, косяки. Сам сделал, сам и разбирайся.

ясно, этот безнадежный.
6 авг 10, 19:04    [9226577]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
смеялсо.

да, я тоже поржал. там Оракл столько телодвижений производит, явно видно тяжелое наследие прошлого.
6 авг 10, 19:09    [9226605]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Yo.!, твой слив принят.
6 авг 10, 19:09    [9226606]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
ясно, этот безнадежный.

Так и запишем: Oracle - сервер для криворуких домохозяек, которые научились
программировать за курсах за 21 день, а про отладку и тестирование ничего не слышали.

Posted via ActualForum NNTP Server 1.4

6 авг 10, 19:17    [9226649]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
хи-хи, и как же Yo! переживет такой позор
kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?
6 авг 10, 19:26    [9226687]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Yo.!
хи-хи, и как же Yo! переживет такой позор
kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?

Конечно. Если записи, отрабатываемые (вставляемые, удаляемые) триггерами, имеют такие значения полей, которые делают их недоступными для внешней команды. Соблюдай это правило и никаких сюрпризов не будет. Ты же настаиваешь на ликвидации возможности как таковой.

Повторю, напортачить в программирование можно с помошью всего. Если это 'всего' запретить, то программирования исчезнет. Нужен взвешенный подход, и в данном случае оракловский запрет не оправдан.
P.S.
Не позорь свою седую ...., не переходи на личности.
6 авг 10, 19:43    [9226775]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
и как же Yo! переживет такой позор

Так же как и раньше: продолжишь долдонить "FoxPro - лучшая СУБД всех времён и
народов
а у вас лога нет".

Posted via ActualForum NNTP Server 1.4

6 авг 10, 19:51    [9226819]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo!
kdv, скажи честно, ты как и наш молодняк считаешь, что отладив на определенном наборе данных тригера на этом же наборе и этих же тригерах сюрпризов не получить ?

гм, мое понимание разработки исключает "отладку триггера на определенном наборе данных". я уже давно пишу код, который практически не требует отладки :-)
Впрочем, я и не пишу таких триггеров, которые вызывают рекурсию, прямую или косвенную, и т.п.
Люди - пишут. Но у этих людей смутные понятия о структурах данных и записях вообще, не говоря про транзакции, или триггеры.

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

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

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

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

Но можно и закопаться в ад. Кто-то меня в начале 2000 годов спрашивал про видимость изменений в нескольких before-триггерах которые еще и модифицируют эту же таблицу, и т.п. К сожалению подробностей не помню, а мой мозг самостоятельно такой ужас придумывать отказывается.
6 авг 10, 20:50    [9227076]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv

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


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

kdv

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


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

kdv

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


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

kdv

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


Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.
Что Вы там говорили, про то что Ваши решения не нужно отлаживать ???
6 авг 10, 22:08    [9227272]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
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 нравится не все.
Мне вот, в ФБ действительно нравится не все.
7 авг 10, 00:23    [9227743]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

Вообще я бы разделял нестабильность курсоров, триггеры, и т.п.

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

kdv

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

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

kdv

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

мда, представляю сколько говнокода налабано этой братией. ладно, пробую разжувать: уход в бесконечный цикл это просто один из побочных фифектов, причем самый дружественный, т.к. его не возможно не заметить. основная проблема мутирующих таблиц в декларативной природе SQL. модифицирующий запрос не может гарантировать порядок попадание строк в триггер, соответственно если тригер обращается к мутирующей таблице он не сможет гарантировать того что в следующий раз этот же запрос отошлет в тригер строки в этом же порядке. вот это страшно: до обеда простенький DML дергал тригер так, а после обеда оптимайзер нашел более оптимальный план и тригер теперь на ТОТ ЖЕ DML выдаст другие результаты.
7 авг 10, 00:41    [9227791]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Yo.!
а это я бы назвал национальной чертой ФБ-лабателей

Пациенты с лоботомускультомией исчезли из топика.
7 авг 10, 01:47    [9227949]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
Gluk (Kazan)
Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.
Вы приобрели себе хрустальный шар и видите у кого как построена база и когда она рухнет? :) Ваши домыслы полная фигня ибо спорите сами не понимаете о чем, какой-то штатный програмистик учит разработчиков СУБД как правильно нужно жить, ну-ну...
7 авг 10, 09:21    [9228210]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Yo.!
мда, представляю сколько говнокода налабано этой братией. ладно, пробую разжувать: уход в бесконечный цикл это просто один из побочных фифектов, причем самый дружественный, т.к. его не возможно не заметить. основная проблема мутирующих таблиц в декларативной природе SQL. модифицирующий запрос не может гарантировать порядок попадание строк в триггер,

Но множество строк, подвергающихся операции (попадающих в тригер), определяется однозначно. И этого достаточно (управление порядком не нужно) для избежание любых проблем мутации. Это понятно?
7 авг 10, 12:46    [9228437]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30379
Yo.!
а это я бы назвал национальной чертой ФБ-лабателей

я уже объяснял свою позицию на тему нестабильности select в readcommitted в ФБ.
https://www.sql.ru/forum/actualthread.aspx?bid=2&tid=173455&pg=1#1449214
(и далее, со следующей страницы, там много на эту тему, кстати, как раз 2005 год)
только я там "стабильность курсора" называю "атомарностью select".

Вот еще оттуда же, зачем обычно используют RC
https://www.sql.ru/forum/actualthread.aspx?bid=2&tid=173455&pg=3#1460836

Yo!
мда, представляю сколько говнокода налабано этой братией.

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

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

какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).
7 авг 10, 13:33    [9228483]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
kdv

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

какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).

Он утверждает, что раз в командах update и delete нет order by, значит проблемы, вызваные мутацией, неизбежны. Такой вот он ошибочный логический вывод сделал.
7 авг 10, 14:30    [9228582]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana
проблемы, вызваные мутацией, неизбежны.

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

Posted via ActualForum NNTP Server 1.4

7 авг 10, 15:51    [9228731]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
eBase
Gluk (Kazan)
Три года безупречной работы бомбы замедленного действия, это безусловно очень грамотно, завидую.
Вы приобрели себе хрустальный шар и видите у кого как построена база и когда она рухнет? :) Ваши домыслы полная фигня ибо спорите сами не понимаете о чем, какой-то штатный програмистик учит разработчиков СУБД как правильно нужно жить, ну-ну...


Ой как все всполошились :)
Видаь\ть чего-то живое зачепил, даром что штатный программистик
8 авг 10, 21:19    [9231179]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

artemana
проблемы, вызваные мутацией, неизбежны.

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


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

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

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???
8 авг 10, 21:26    [9231198]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv

какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).


Дык тебе и говорят про order by, чудак (в update-е правда )
какой к чертям свинячим rownum? Это у Вас такие фантазии про ораклистов??? Ну ну, проецируйте дальше
8 авг 10, 21:30    [9231206]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv

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

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


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

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

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


я ее тоже не нашел
Да были демоны ... напарывались на рекурсию в триггерах, но после того как Старшие Товарищи объясняли им Политику Партии, они самоликвидировались и больше не появлялись.
Наверное, потому, что у них ВСЕ хорошо, ага ... я тоже на это надеюсь
8 авг 10, 21:38    [9231229]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv
Gluk
Потому что все их можно поршать одним средством, не придумывая костыли на каждый отдельный случай. Но это IMHO, разумеется.

о каких костылях идет речь я не понял. Потому что со стороны-то порешать можно легко. Но в наших дискуссиях я уже объяснял, что решить проблему нестабильности курсора, а именно
insert into select from
update/delete from select
неатомарность select

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


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

kdv

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


А вот эти ужасы вообще непонятно откуда придуманы :(
Можете расшифровать на простом примере, где там долботня, перечитывания и блокировки (кстати в Oracle очень дешевые). Конкретно и предметно обсудим, так ли страшен чорт
8 авг 10, 21:44    [9231243]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Думаю что тут порылась собака:

kdv

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


В Oracle считают, что он обязан видеть все что закомичено к моменту начала запроса, и не должен видеть, того что появилось позже. Благо версионность это позволяет (дорого ли дешево - это другой вопрос). Ситуацию же когда видим не кратное 100 записям, в случае если комитим по 100 (я все правильно понял?) иначе как ахтунгом назвать вообще сложно Мы должны видеть изменения, выполненные транзакцией либо целиком, либо не видеть их вообще.
8 авг 10, 21:54    [9231286]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
kdv

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

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


И это Вы мне объясняете про бред и домыслы ???
Успокойтесь, можно модифицировать таблицы из их же триггера. Способ еще в 7 Oracle придумали, если склероз мне не изменил. Просто при этом надо отчетливо понимать, ччто именно ты делаешь, но это ведь Вас не должно пугать ???
8 авг 10, 21:58    [9231303]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
protector
Member

Откуда: Иваново, Россия
Сообщений: 601


Gluk (Kazan)



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

Posted via ActualForum NNTP Server 1.4

8 авг 10, 22:06    [9231315]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

protector
Нельзя было ответить в одном?

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

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

Posted via ActualForum NNTP Server 1.4

8 авг 10, 22:30    [9231361]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
protector
Member

Откуда: Иваново, Россия
Сообщений: 601


Dimitry Sibiryakov

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

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


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

Posted via ActualForum NNTP Server 1.4

8 авг 10, 22:46    [9231380]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
protector


Gluk (Kazan)



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



По делу есть что сказать?
9 авг 10, 08:51    [9232030]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
И все равно, я лублу Пг. А вы фсе дауны (да простят меня модераторы).

Вот вам больше нечем заняться, кроме как кидаться содержимым своих ночных горшков?
9 авг 10, 08:55    [9232036]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
eBase
Member

Откуда: Ukraine, Kharkiv
Сообщений: 142
Gluk (Kazan)
Dimitry Sibiryakov

artemana
проблемы, вызваные мутацией, неизбежны.

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


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

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

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???
И что Вы там говорили про бомбу замедленного действия у kdv? Или Вы думаете что Ваша никогда не рванет?
9 авг 10, 08:59    [9232050]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

protector
Нельзя было ответить в одном?

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

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


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

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

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

Если в FB одна транзакция инсертит-комиттит ровно по 100 записей, а другая считает количество записей при помощи count(*), может ли случиться, что она подсчитает некратное 100 число.
Ответ да меня устроит без объяснений, к ответу нет хотелось бы видеть минимальные комментарии
9 авг 10, 09:00    [9232052]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
eBase
Gluk (Kazan)
Dimitry Sibiryakov

artemana
проблемы, вызваные мутацией, неизбежны.

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


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

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

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


С чего-б ей рвать-та?
Кто Вам с kdv вообще сказал, что я против записи в таблицу из ее-же триггера???
9 авг 10, 09:01    [9232055]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
protector


Dimitry Sibiryakov

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

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


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



Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом студентов учат
9 авг 10, 09:02    [9232062]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
А теперь хотелось бы таки услышать ответ на мегаволнительный вопрос:
А чего это он такой мегаволнительный ?
У вас проблемы ? Хотите поговорить об этом ? (ц)


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

Волнение снято ? Ну, хотя-бы мега- ? :)
9 авг 10, 10:05    [9232323]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)
Мгм... наверное я таки не в курсе... но
Почему PL\SQL в случае (1) есть удар по производительности, а в случае (3) - не удар ?

PS Я тоже сторонник работы только через процедуры
PPS (3) в общем случае неверно, но не хотелось бы устраивать очередной спор ещё и по этому поводу
9 авг 10, 10:09    [9232342]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
hvlad

PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?
9 авг 10, 10:36    [9232560]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
vadiminfo
hvlad

PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?
Задайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
9 авг 10, 10:38    [9232577]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Gluk (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-ится большое количество записей, получаем нефиговый выхлоп по производительности :)
9 авг 10, 10:46    [9232636]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad

Concurrency (оно-же snapshot, оно-же умолчательное) - нет

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


Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???
9 авг 10, 10:48    [9232650]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Gluk (Kazan)
hvlad

Concurrency (оно-же snapshot, оно-же умолчательное) - нет

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


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


Sorry, в Read Committed конечно
9 авг 10, 10:52    [9232681]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
vadiminfo
hvlad

PS Я тоже сторонник работы только через процедуры

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


Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
9 авг 10, 10:56    [9232714]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
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 процедуры\тригера
(передача параметров и т.п.)
9 авг 10, 10:59    [9232735]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
hvlad
Задайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...

Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.
9 авг 10, 11:14    [9232860]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Gluk (Kazan)
Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)

Не совсем понял. Я думал из контекста предыдущего процедуры противопоставляются триггерам. Но мож я не все прочитал? А как стронники процедур получают доступ к данным, и как их модифицируют?
9 авг 10, 11:22    [9232920]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
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 :)
9 авг 10, 11:24    [9232938]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
vadiminfo
hvlad
Задайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...

Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.
Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

PS А давайте я сейчас тоже расскажу что с вами должно происходить и в каком случае ?
9 авг 10, 11:26    [9232958]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
hvlad
Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается.
Впрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.
9 авг 10, 11:38    [9233064]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
vadiminfo
hvlad
Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

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

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


vadiminfo
Впрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.
Вот этого вы не понимаете - вы выискиваете, чем бы померяться, а суть не в этом.
9 авг 10, 11:46    [9233125]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
hvlad
vadiminfo
hvlad
Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

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

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


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

Ну вам сторонникам только процедур виднее. Однако, думаю, что этого все еще не достаточно, чтобы становиться таковым сторонником. Думау, пока юзать все возможности СУБД, но в первую очередь язык БД. Вплоть до выяснения новых обстоятельств, про которые не лень буит рассказвать сторонникам.
9 авг 10, 11:57    [9233229]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
vadiminfo, спокойней.
У нас вся система построена на триггерах (их больше 10 000). Там есть все и сервис (первичные ключи, простые проверки) и сложная бизнес логикак, и различное логирование. Но я представляю как можно было бы построить эту систему и без них, только на процедурах. Общая концепция такова, всем пользователям и ролям, запрещаются любые операции редактирования таблиц. Вместо этого на каждую необходимую операцию (insert,delete,update) создается процедура, в которой пишется сама операция редактирования плюс обрамляющий ее код (аналоги триггеров). В пределе таких процедур создается N*3, где N количество таблиц. Каждой процедуре даются права на операции редактирования таблиц. Пользователям и ролям даются права процедуры. В клиентском приложение операции редактирования перенаправляются с команд (insert, delete, update) на вызовы соответствующих процедур. Ранее упомянутый обрамляющий код в них, как и в случае триггеров, может состоять как из обычных ddl команд, так и из вызовов процедур.
Аргументов в пользу такого подхода высказываются следующие:
1. Система на процедурах более понятна, так как в триггерах люди часто так запутывают логику, что не поймешь какое из каксадных событие привело к чему. На мой взгляд аргумент слабый, так как каскад вызываемых процедур, запутывается профанами не менее легко. При правильном общем стиле программирование проблем не должно возникать ни там, ни там. И наоборот при неправильном, проблему будут в обоих подходах.
2. Решение определенных проблем безопасности. Тут подробности я не помню. Возможно, речь идет о закрытие каких либо дырок, но может и нет.
3. Дополнительный уровень абстракции. Ну это на любителя. Есть свои плюсы и минусы.
9 авг 10, 12:21    [9233445]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Итак пошел холивар ХП vs пярмые селекты в приложении??

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

Из своей практики с Постгре:
Есть одна схема api, в которую может смотреть public(все пользователи) или application_user(группа пользователей). В этой схеме вынесены только заглушки в другие схемы и выглядит это примерно так:
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 процедуры еще добавляют верификацию пользователя. Но это больше для веб приложений или приложений с расширенной системой ролей и прав.
9 авг 10, 12:26    [9233488]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
vadiminfo
Gluk (Kazan)
Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)

Не совсем понял. Я думал из контекста предыдущего процедуры противопоставляются триггерам. Но мож я не все прочитал? А как стронники процедур получают доступ к данным, и как их модифицируют?


Нельзя противопоставлять теплое мягкому, но можно вести разработку, в частности, так, что триггеры (в основном) не будут нужны. Подчеркну, я не призываю фанатично отказываться от использования триггеров. Просто у них есть минусы, знать о которых необходимо.
9 авг 10, 12:27    [9233501]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
artemana
В пределе таких процедур создается N*3, где N количество таблиц.
4, как минимум. Полный CRUD + что-нибудь типа sign и любые другие действия над сущностью, типа провода документа и т.д.
9 авг 10, 12:28    [9233505]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
А... пардон... Холивар триггеры vs хп...

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

Оба подхода имеют право на существование, 2-й подход ИМХО более ООП-style. Потом мне, как разработчику всего комплекса - удобнее.
9 авг 10, 12:31    [9233528]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
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
9 авг 10, 12:37    [9233577]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Mexanik
Member

Откуда: из России
Сообщений: 260
AlexPhil
Mexanik,

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

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


Это нужно для разового решения одной задачи - сделать общую базу данных для нескольких филилалов, разбросанных по городам (сбор заявок на услуги, контроль исполнения и прочая небольшая чушь). В веб проектирование ударяться глобально не собираюсь и этот проект раскручивать тоже не думаю.... Клиент поговаривает о собственном веб-узелке, на который можно напихать необходимых сервисов. Теперь подход к задаче не выглядит таким извратным?
9 авг 10, 12:38    [9233586]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
kdv

да Вы идеалист. Можно подумать, что на Оракле говнокод не пишут. Еще как, не сомневайтесь, я абсолютно уверен в этом.

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

kdv
какой еще в дуду "порядок"... может, в оракле привыкли пользоваться rownum, я не знаю, но у людей, использующих FB, привычки к "порядку строк" нет, потому что в SQL тоже порядок строк не гарантируется (кроме сортировок order by).

по моему я достаточно разжувал ...
9 авг 10, 12:39    [9233599]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad

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

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

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

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


Возможно я неправ, но для меня немножко дико видеть изменения, выполненные другой транзакцией не целиком. Да, та транзакция была выполнена атомарно, но то что она наизменяла, мы таковым не видим, со всеми возможными вытекающими ...
9 авг 10, 12:40    [9233610]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
Просто есть разные способы вести разработку. При некоторых методах разработки, триггеры становятся не очень нужны. У этих метод есть сторонники и противники, плюсы и минусы ...
Согласен

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

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

Gluk (Kazan)
Это специфика Oracle
Именно. Каждый имеет право на специфику. В разумных пределах :)
9 авг 10, 13:14    [9233987]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Gluk (Kazan)
Возможно я неправ, но для меня немножко дико видеть изменения, выполненные другой транзакцией не целиком. Да, та транзакция была выполнена атомарно, но то что она наизменяла, мы таковым не видим, со всеми возможными вытекающими ...
Ну так никто не заставляет пользоваться rc там, где нужен snapshot.
Тем более, что snapshot в Firebird/Interbase был изначально и является уровнем изоляции по-умолчанию.
Всё остальное - дело вкуса, привычек и специфики, если не оговорено стандартом.
9 авг 10, 13:18    [9234036]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
protector
Member

Откуда: Иваново, Россия
Сообщений: 601
Gluk (Kazan)

Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом
студентов учат

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


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

Posted via ActualForum NNTP Server 1.4

Сообщение было отредактировано: 9 авг 10, 13:39
9 авг 10, 13:20    [9234063]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Gluk (Kazan)

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

На практике, я вседа пытаюсь предупреждать проггеров, чтобы не писали триггеров из каких-то идей оптимизации приложения, под тем предолгом, что это применение средств не по назначению. Однако, если процедукра должна запускаться на событие БД, например, таково типа бизнес правило, то для этого триггер подходит, скорее всего, луче всего. Исключение триггеров где они могли бы быть на своем месте тоже может нести риски увеличения энтропии программного обеспечения.
9 авг 10, 13:24    [9234109]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!

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

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

Posted via ActualForum NNTP Server 1.4

9 авг 10, 13:24    [9234116]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
protector
Gluk (Kazan)

Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом
студентов учат

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


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

Posted via ActualForum NNTP Server 1.4


Ok, твое решение проблемы???
9 авг 10, 13:50    [9234369]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

protector
Назвать подобный бред решением проблем с мутацией...

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

Posted via ActualForum NNTP Server 1.4

9 авг 10, 13:50    [9234370]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Yo.!

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

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


Ты просто нефтеме
9 авг 10, 13:55    [9234406]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Gluk (Kazan)


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


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

Dimitry Sibiryakov

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

т.е. один раз сесть в лужу на вопросе как ты себе представляешь использование версионности для искоренения мутации тебе было не достаточно. что же прошу снова в туже лужу или может на этот раз ты нам поведаешь свою болезенную фантазию как версионность могла бы тут помочь ?
9 авг 10, 14:56    [9234908]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov

protector
Назвать подобный бред решением проблем с мутацией...

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

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

А приплетать сюда версионность... ну это наверное очень неподумавши...
9 авг 10, 15:14    [9235116]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Yo.!
Gluk (Kazan)


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


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


Гммм ... а я что сказал?
Кстати я протектора спрашивал :) Твое видение проблемы мне и так понятно
9 авг 10, 15:23    [9235198]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Yo.!

я уже лет 10 не сталкивался с тригерами, но по моему обычно все таки учат в row-level before сохранять во времянку или pl/sql табличку, а писать в таблу уже statement тригером.
А в Постгре об этом подумали =) в statment триггере нет доступа к данным. Он только в row-level.
9 авг 10, 15:26    [9235220]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

SergSuper

проблема мутаций в том, что мы должны иметь две сущности таблицы в триггере: после
изменений в операторе, вызвавшим триггер и после изменений в самом триггере

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

Posted via ActualForum NNTP Server 1.4

9 авг 10, 15:27    [9235228]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov

SergSuper

проблема мутаций в том, что мы должны иметь две сущности таблицы в триггере: после
изменений в операторе, вызвавшим триггер и после изменений в самом триггере

Вот как раз "иметь две сущности таблицы" и называется "версионностью". В триггере просто
должна быть доступна версия таблицы до старта DML.
и в FB так и сделано?
(но в любом случае версионность это несколько другое)
9 авг 10, 15:44    [9235401]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

SergSuper
и в FB так и сделано?
(но в любом случае версионность это несколько другое)

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

И что же такое версионность в Вашем понимании?

Posted via ActualForum NNTP Server 1.4

9 авг 10, 15:51    [9235468]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

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

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

А версионность нужна для того, чтоб когда один пишет - другие не видели что он написал. Что-то типа "Ты сундук видешь? Нет. И я нет. А он есть. Шас вон тот-вот пацанчик commit сделает и будет."
9 авг 10, 15:55    [9235496]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Warstone

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

Т.е. чтобы триггер не видел что уже написал вызвавший его DML.

Posted via ActualForum NNTP Server 1.4

9 авг 10, 16:02    [9235562]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Yo.!
Guest
Gluk (Kazan)

Гммм ... а я что сказал?

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

Dimitry Sibiryakov

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

ага, тут у нас транзакция видит изменения которая внесла, в тригере не видит, а тут мы рыбу заворачивали. славо ундуским богам, даже у индусов мозгов хватает так не делать ...
9 авг 10, 16:08    [9235599]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Dimitry Sibiryakov

SergSuper
и в FB так и сделано?
(но в любом случае версионность это несколько другое)

Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...
я тут подумал - как Вы предлагаете тоже плохо
получается что каждая запись может апдейтится несколько раз и непонятно какое надо брать изменение за окончательное
Dimitry Sibiryakov
И что же такое версионность в Вашем понимании?
каждый конект видит свою версию БД
9 авг 10, 16:14    [9235647]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

Т.е. чтобы триггер не видел что уже написал вызвавший его DML.
Э-э-э... Нет... Не для этого. В реализации пг, как ты видел, before триггер не видит, так как данных еще нет, а after - уже видит.

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

За счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.
9 авг 10, 16:14    [9235650]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
SergSuper
каждый конект видит свою версию БД
И, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.
9 авг 10, 16:16    [9235664]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Warstone
Версионность нужна для другого. Основная идея в том, что в 2-х транзакциях может быть инсерт с одинаковым первичным ключем и это пройдет (на момнет инсерта), а вот на момент коммита - какая-то транзакция отроллбэчится (если в это время не сделали удаления одного из первичных ключей, конечно).
Это называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

Warstone
За счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.
Без обид, перечитайте ещё несколько раз.
Ну и про версионность тоже не помешает :)
9 авг 10, 16:22    [9235696]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Yo.!
тут у нас транзакция видит изменения которая внесла, в тригере не видит

Опять ты зарапортовался и пропустил statement. DML это statement. Statement не видит
изменения которые внёс. И триггеру тоже их видеть ни к чему.

Warstone

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

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

Версионность это всего лишь один из способов реализовать принцип "писатели не блокируют
читателей".

Posted via ActualForum NNTP Server 1.4

9 авг 10, 16:26    [9235716]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
roden
Member

Откуда:
Сообщений: 741
Warstone
SergSuper
каждый конект видит свою версию БД
И, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.

+1
Но что ещё более интересно. пока эти глюки не поймаешь, не поймешь что конкретно тупит: мозг, логика или СУБД ;)
9 авг 10, 17:10    [9235925]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
hvlad
]Это называется DEFERRED CONSTRAINTS CHECKING

А она есть в планах для FB?
9 авг 10, 17:21    [9236022]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
artemana
hvlad
Это называется DEFERRED CONSTRAINTS CHECKING

А она есть в планах для FB?
Пока нет.
На моей памяти это просили лишь пару раз.
9 авг 10, 18:03    [9236269]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
hvlad
artemana
hvlad
Это называется DEFERRED CONSTRAINTS CHECKING

А она есть в планах для FB?
Пока нет.
На моей памяти это просили лишь пару раз.

Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.
9 авг 10, 18:41    [9236422]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

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

Posted via ActualForum NNTP Server 1.4

9 авг 10, 19:03    [9236512]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

artemana

Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

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

Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.
9 авг 10, 19:12    [9236549]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

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

Posted via ActualForum NNTP Server 1.4

9 авг 10, 19:43    [9236620]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

artemana

Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

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

У тебя лог не полный, ты знаешь текущее состояния записи, а не то, каким оно было на момент операции. А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном режиме не справляешься. Сам же рассказывал. Или я где то тебя не правильно понял в обозначение границ "штатного режима работы"?
9 авг 10, 20:00    [9236674]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Dimitry Sibiryakov

Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.
А вот в Постгре есть механизм WAL. Который ведет журнал изменений и его можно проигрывать или для восстановления базы или для репликации. В 9.0 (Сейчас бета4 или уже бета 5... В сентябре будет релиз, скорей всего) доставка WAL на запасной сервер будет оптимизирована и "практически" моментальная. Таким образом в Пг появится нативная master-slave репликация с hot stand. Это отбрасывает необходимость "сторонних репликантов".
9 авг 10, 20:04    [9236681]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
hvlad
Это называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

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

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

Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"
9 авг 10, 20:08    [9236691]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Warstone

Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"


Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорном
9 авг 10, 20:13    [9236695]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном
режиме не справляешься. Сам же рассказывал.

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

Warstone
Таким образом в Пг появится нативная master-slave репликация с hot stand.
Это отбрасывает необходимость "сторонних репликантов".

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

Вон, у того же мускуля WAL уже давно есть, а мультимастер репликация ограничена ровно
двумя мастерами, причём один slave не может принимать изменения с двух мастеров одновременно.

Posted via ActualForum NNTP Server 1.4

9 авг 10, 20:29    [9236730]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Warstone
Member

Откуда:
Сообщений: 4896
Блог
Gluk (Kazan)
Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорном
Я-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.
Dimitry Sibiryakov
Щаззз... Оптимизм.
Да, согласен, мультимастера нету на нативном уровне. Да и его сложно сделать вообще-то. Хотя если сиквенсы настроить на чередование, логгировать только изменения и данные с других мастеров - readonly... Ну да это все не мне вам рассказывать. Наверняка не один раз такое делали.
Тут, кстати, Хранимки опять-таки дают большой плюс к возможности масштабирования =))
9 авг 10, 21:49    [9236890]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

Warstone
Да и его сложно сделать вообще-то.

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

Первое тривиально делается разнесением диапазонов у последовательностей или (не мелочась)
гуидами, а второе обычно магией пользовательских имён.

Posted via ActualForum NNTP Server 1.4

9 авг 10, 22:32    [9237025]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Warstone
Ну ИМХО DEFERRED легче отрабатывается на версионнике.
А на чём основано это мнение ?

Warstone
Конечно перечитаю. Я вообще к версионности относился так: Это такая штука, которая позволяет не делать блокировки. Но проблемы с ней будут на коммитах. Если у меня не будет откатов транзакций, то все будет хорошо. Если будут - надо разбираться - почему откатилось и что делать. Но это как и везде.
Я вам рекомендую сначала хоть что-то почитать о версионности, хотя бы что-то об известных практических реализациях, а уж потом высказываться публично.
Ибо уже даже не улыбает.
9 авг 10, 22:41    [9237069]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Warstone
Я-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.


Начать можно отсюда.
Продолжать в BOL
10 авг 10, 07:22    [9237598]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

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


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

Кстати, этот так называемый DEFERRED, в таком или другом виде вроде работает для методанных, то есть внутри транзакции можно объявить ‘невалидную’ процедуру, а если к концу транзакции дополнить методанные базы необходимыми процедуре объектами, то транзакция завершится успешно.
10 авг 10, 11:13    [9238754]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

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

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

Posted via ActualForum NNTP Server 1.4

10 авг 10, 11:36    [9238972]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

artemana

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

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

Что ты имеешь виду?
10 авг 10, 11:44    [9239028]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana
Что ты имеешь виду?

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

Posted via ActualForum NNTP Server 1.4

10 авг 10, 12:02    [9239218]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Dimitry Sibiryakov
Т.е. надо хранить журнал всех изменённых записей, а он уже на "небольшой" не тянет.
Он уже есть и называется undo-log.
Проблема не в этом журнале. Проблема в том, чтобы сделать отложенную проверку максимально эффективной.
10 авг 10, 12:08    [9239281]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

hvlad
Он уже есть и называется undo-log.

Разве он не уничтожается при достижении определённого размера?

Posted via ActualForum NNTP Server 1.4

10 авг 10, 12:15    [9239348]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

artemana
Что ты имеешь виду?

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

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

Тут самое главное что проигрыш в производительности при отсутствие нарушений или при малом их количестве совсем небольшой так журнал либо пуст либо содержит малое количество элементов, а значит поиск в нем не займет многого.
10 авг 10, 12:36    [9239537]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной записи и
идентификатору ее таблице.

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

Posted via ActualForum NNTP Server 1.4

10 авг 10, 12:52    [9239683]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
hvlad
Member

Откуда:
Сообщений: 11640
Dimitry Sibiryakov

hvlad
Он уже есть и называется undo-log.

Разве он не уничтожается при достижении определённого размера?
Не совсем так. Ну и для таблиц, участвующих в отложенной проверке можно не чистить лог.
Сдаётся мне, это тема не для этого форума :)
10 авг 10, 13:05    [9239795]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

artemana

Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной записи и
идентификатору ее таблице.

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

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

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

Плюс не надо
забывать unique constraints, check constraints и т.д. и т.п.

Ну и ?
10 авг 10, 13:32    [9240068]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55288

artemana

artemana
Запись в таком журнале идентифицируется по типу ограничения, PK-невалидной
записи и идентификатору ее таблице.

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

Ты упомянул РК невалидной записи. Значение РК может достигать в размере четырёх килобайт.
Журнал при таких условиях в память может и не влезть.

Posted via ActualForum NNTP Server 1.4

10 авг 10, 13:51    [9240216]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
artemana
Member

Откуда: Днепропетровск
Сообщений: 1929
Dimitry Sibiryakov

Ты упомянул РК невалидной записи. Значение РК может достигать в размере четырёх килобайт.
Журнал при таких условиях в память может и не влезть.


А почему он (журнал) должен быть только в памяти??? Пусть, как и обычные таблицы, располагается на страницах БД, которые если журнал небольшой, за счет частого обращения, будут в кеше, или если он большой, будут вытесняться на диск. При большом количестве больших "инвалидов" падение производительности вполне допустимо. И кстати, оно не будет больше, чем при проверке уникальности PK или другого уникального ограничение на поле.
10 авг 10, 14:07    [9240381]     Ответить | Цитировать Сообщить модератору
 Re: MySQL и Firebird для Web  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5028
vadiminfo
Исключение триггеров где они могли бы быть на своем месте тоже может нести риски увеличения энтропии программного обеспечения.

Точно так. В ряде случаев применение триггеров позволяет сократить программный код в разы.
Имхо, не стоит делать категоричный выбор между ХП и Триггерами. Истина где-то посередине. :)
Разумное сочетание обеих средств!
26 авг 10, 10:10    [9327483]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7 8 9 10 .. 12      [все]
Все форумы / Сравнение СУБД Ответить