|
|
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)я спрашивал как дела с update-ом и insert-ом мне сказали намана - вроде все довольны ??? или нет ? Про апдейт тебе сказали, про инсерт - дела точно так же как и у Оракула с мутациями, т.е. всем известные грабли, но все и так довольны ибо знают способы обхода. А вот знают ли разработчики MySQL способы обхода запрета на DML в триггерах - вопрос пока без ответа. ну яж так и говорю - все довольны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 13:37 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Надо :) А чоб не объяснить Особенно если юродствовать перестанешь. Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной транзакции. Есть правда толстый нюанс с видимостью изменений, произведённых в той же транзакции, но кто-ж сказал, что надо делать именно как в Firebird??? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 13:42 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)Надо :) А чоб не объяснить Особенно если юродствовать перестанешь. Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной транзакции. Есть правда толстый нюанс с видимостью изменений, произведённых в той же транзакции, но кто-ж сказал, что надо делать именно как в Firebird??? Если не возражаешь, я послушаю, что скажет hvlad ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 13:44 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov А чоб не объяснить Особенно если юродствовать перестанешь. Применяется просто. В момент начала транзакции, фиксируется её номер и все данные для выполнения этого запросов подчиняются общим правилам видимости для транзакции с данным номером. insert (и update тоже) просто видят то, что и любой другой запрос в данной транзакции. ого, точно что ли ? вот это да. я потрясен. у меня нет слов. единственно уважаемый не могли бы вы пояснить в чем собственно отличие такого поведения от любой другой версионной субд ? Dimitry Sibiryakov Есть правда толстый нюанс с видимостью изменений, произведённых в той же транзакции, но кто-ж сказал, что надо делать именно как в Firebird??? ну-ну, и в чем же заключается защита от произведенных изменений ? как решена проблема мутаций ? ты главное не пропадай ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 13:51 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Yo.!в чем собственно отличие такого поведения от любой другой версионной субд ? В отсутствии запрета на чтение таблиц из триггеров. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 13:57 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov В отсутствии запрета на чтение таблиц из триггеров. я потрясен и у меня просто открылись глаза. ведь firebird действительно решил проблему мутировавших данных! он просто читатет мутировавшие данные и в этом и есть решение !! спасибо дорогой, у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили не нужных проверок, жить эксепшенами мешают, а ведь можно так просто решить проблему - просото читать муйню тихо молча, никого не раздражая. как же я не понимал такую простую истину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:06 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
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 версионность никак не нужна :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:09 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
hvladМноговато-же блоков приходится ему запоминать... Бесплатных пирожных не завезли hvlad ... Так что для insert from select в FB версионность никак не нужна :) не нужна, так не нужна ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:16 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Yo.! у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили не нужных проверок, жить эксепшенами мешают, а ведь можно так просто> решить проблему - просото читать муйню тихо молча, никого не раздражая. Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не могут. Индусы, что с них возьмёшь... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:29 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Yo.! у меня просто открылись глаза, а эти индусы в оракле просто ничего не смыслат, наворотили не нужных проверок, жить эксепшенами мешают, а ведь можно так просто> решить проблему - просото читать муйню тихо молча, никого не раздражая. Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не могут. Индусы, что с них возьмёшь... Ну видать индусы и умные попадаются :) Индия большая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:47 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Ну видать индусы и умные попадаются :) Индия большая Поэтому вероятность того, что умные индусы попадутся именно в команде разработки Оракула, стремится к нулю. Раз уж они так и не смогли разрешить триггерам читать версии на момент начала запроса. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:54 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Читать муйню они не хотят, читать "данные ... согласованными на момент этого SCN" - не могут. Индусы, что с них возьмёшь... на уровне serializable SCN согласован, но мутация из-за своих же изменений происходит, может ты предлагаешь забив на любые изменения своей транзакции ? отличный солюшен был бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:54 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Yo.!мутация из-за своих же изменений происходит, Ты открыл мне глаза! Мутации происходят из-за своих изменений! А нестабильность курсора - из-за чужих. Чудо! Стабильность курсора не в состоянии справиться с мутациями! Мутации запрещены чтобы не дай бог курсор не дестабилизировался. Ценой стабильности курсора являются мутации. Логика - сила! И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 14:59 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)Ну видать индусы и умные попадаются :) Индия большая Поэтому вероятность того, что умные индусы попадутся именно в команде разработки Оракула, стремится к нулю. Раз уж они так и не смогли разрешить триггерам читать версии на момент начала запроса. Да нет, это как раз умное решение. Не гениальное, но умное. В отличие от неумного решения позволять читать несогласованную "муйню" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:24 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov И эти люди удивляются, что Firebird не хочет покупать стабильность курсора такой ценой... именно, удивляет, что введеное ораклом отслеживание кому-то приходит в голову объявить недостатком аргументируя тем, что где-то такой проверки и вовсе нет. Dimitry Sibiryakov Ценой стабильности курсора являются мутации. вот это интересно, не поделишься ли своим виденьем этой цены ? типа отсутствие стабильности курсора в запросе оправдывает позволение читать мутируюшие данные или родилась более глубокая мысль ? у меня попкорн не закончился :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:30 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Да нет, это как раз умное решение. Не гениальное, но умное. В отличие от неумного решения позволять читать несогласованную "муйню" Что означает, что позволить "читать данные, согласованными на момент этого SCN" - решение неумное. Ну-ну... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:32 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)Да нет, это как раз умное решение. Не гениальное, но умное. В отличие от неумного решения позволять читать несогласованную "муйню" Что означает, что позволить "читать данные, согласованными на момент этого SCN" - решение неумное. Ну-ну... Ну-ну, меня несколько обескураживает Ваша логика (расшифруете логический вывод?) Позволить читать данные согласованными на момент начала запроса это гениальное решение. К сожалению, индусы сподобились выдать только умное. Неумное решение - позволить читать несогласованные данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:48 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Позволить читать данные согласованными на момент начала запроса это гениальное решение. К сожалению, индусы сподобились выдать только умное. Т.е. на всех таблицах они сподобились на гениальность, а вот на ту, для которой был вызван DML у них гениальности не хватило. Gluk (Kazan)Неумное решение - позволить читать несогласованные данные Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их "несогласованность"? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 16:57 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Несогласованные с чем? С мнением Ё? Эти данные не нарушают RI, так в чём же их "несогласованность"? В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса. В том что изменения выполненные update-ом еще не существовали на момент его начала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:01 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) В том, что данные вставленные insert-ом еще не существовали, на момент начала запроса. В том что изменения выполненные update-ом еще не существовали на момент его начала. И в чём же "несогласованность"? Да, не существовали. Они так же не существовали на момент старта транзакции. Как сказал Ё: "может ты предлагаешь забив на любые изменения своей транзакции ? отличный солюшен был бы" Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 17:27 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
hvladМноговато-же блоков приходится ему запоминать... Ага, есть интересная проблема (фича) "большой АНДЫ", которую и хрен шринкуешь потом и откатываться может сутками ) hvladFirebird (думаю как и все остальные транзакционные СУБД) имеет (в основном в памяти) лог изменений, сделанных каждым запросом (undo-log). Конкретно для insert'ов это разреженный битмап с номерами вставленных записей. Использовать его для корректной работы insert from select не просто, а очень просто. Для отслеживания изменений, произведенных update\delete, используется всё тот же undo-log. Иногда бекверсия хранится прямо в нём, иногда приходится доставать её с диска (в основном из кеша, конечно). Расписывать подробности пока не хочу. Интересно, а памяти как хватает при массовых операциях, см.как у Оракла? ЗЫ. Надо каждый топик в "Сравнении СУБД" вовремя форкать, чтобы опять не скатывался в орафайресрач ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:04 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
SiemarglИнтересно, а памяти как хватает при массовых операциях, см.как у Оракла?Промежуточные бекверсии переливаются на диск, после превышения некоторого порога в памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 18:24 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
Читал-читал-читал... Но так и не вкурил, почему ПРИНЦИПИЯЛЬНО нельзя использовать СУБД, успешно используемую во многих офф-лайн системах и интранетах, на Веб-сервере в инете? (со всеми её потрохами) Ответ: - Нету хостеров - не взачиот. Так как, кто тебе мешает быть сам-себе-хостер, кроме собственной лени... Паралеьно второй вопрос, с пируетом на 180 о ... - Почему столь успешно юзаемая в он-лайне СУБД, не приживается в офф-лайне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:04 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
1. Виртуальный сервер - дорого. SQL2008 vs VPD для FB. 2.Возможно, потому что по сути гуано? Разработчики избалованы, им фичи подавай, удобства там, визуализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 19:26 |
|
||
|
MySQL и Firebird для Web
|
|||
|---|---|---|---|
|
#18+
SiemarglВиртуальный сервер - дорого. SQL2008 vs VPD для FB. это всего-лишь тарифы такие. VPD начинается за 800 руб там, где SQL2008 кончается за 1400 руб. То есть, грубо говоря с SQL2008 тарифы до 700 руб это просто замануха. К сожалению, это только моя теория, интересно было бы посмотреть для каких задач могут использоваться тарифы SQL до 700р в месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 20:22 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36777480&tid=1552773]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 144ms |

| 0 / 0 |
