Здравствуйте, Merle, Вы писали:
A>>Щазззз. Все равно человек который примерно понимат как запросы выполняются гораздо более полезен чем тот кто RDBMS вообще не видел. M>Ага, ты это расскажи тому, кто за MSSQL'истом под Oracle переписывал, или наоборот... M>Каждый случай индивидуален.
Это так же как переписывает с GNU C на MSVC и наоборот. Гоблины лепят. Хорошие программисты задумываются о переносимости(не пишут переносимо все т.к. иногда это невозможно или того не стоит, но хотя бы могут сказать что вот эти 15% запросов нужно будет переписать а остальные нет)
A>>В теории RDBMS ничего кардинально не изменилось годов так с 70-80. Так что опыт в любой базе пригодится. А Transisolation под конкретный сервер выучить это фигня все. M>То, что в теории ничего не изменилось — полностью согласен, но есть некоторые нюансы. Во первых практикующие программисты не очень склонны увлекаться теорией.
Писать правильные быстрые запросы это практика и она тоже не изменилась.
>Во вторых людам свойственно думать, что если похоже, то уж как-нибудь разбирусь, SELECT-то — он везде одинаково пишется и ленятся заглянуть лишний раз в документацию, что может закончится очень печально.
А у люжей без опыта есть тендеция лепить как получится и это почти всегда оканчивается печально.
>И, наконец, в третьих, теория RDBMS конечно практически не поменялась, но даже в этой теории Multiversioning и Blocking Concurrency Control местами довольно серьезно отличаются, не говоря уже о том, что конкретные реализации всегда имеют свои далеко не очевидные особенности.
Здесь проблемы будут при OLTP системах с длинными транзакциями или которые удаляют большое количество записей по ходу работы. И то и другое редкость(иногда встречаются системы которые делают это но неоправданно, т.е. можно сделать без этого и проще). Никто и не сомневается что в 10% случаях без профи не обойтись. Но тогда нужно например и искать выделенного спеца по Oracle.
M>Вообщем суть в том, что навыки наработанные для одного сервера не всегда годятся для другого, и в некоторых случаях проще научить заново чем периучивать, новичек по крайней мере не будет питать иллюзий, что он что-то знает.
Как правило новички считают что они знают все, либо их просто ничего не волнует. Классический пример — возмешь новичка первое что сделает это начнет SQL формировать с помощью сложения строк вместо параметров. Наступит потом что в параметре будет кавычка. Человек с опытом в любом сервер на это уже наступал наверняка
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев