Oracle для профессионалов Том Кайт торгово-издательский дом DiaSoft



Download 0,99 Mb.
Pdf ko'rish
bet45/93
Sana16.03.2022
Hajmi0,99 Mb.
#495509
1   ...   41   42   43   44   45   46   47   48   ...   93
Bog'liq
tom kait oracle dlia professionalov[0001-0091]

 SELECT FOR UPDATE.
Оказалось, что разработчики хотели добиться повторяемо-
сти при чтении.


Разработка успешных приложений для Oracle
Повторяемость при чтении — это такой режим работы приложения, когда повтор-
ное чтение в транзакции строки, которая уже один раз прочитана в этой транзак-
ции, дает тот же результат.
Зачем им это было нужно? Они слышали, что "это хорошо". Ладно, предположим,
повторяемость при чтении действительно необходима. В СУБД Oracle это делается пу-
тем установки уровня изолированности транзакции SERIALIZABLE (что дает не толь-
ко повторяемость при чтении строки, но и повторяемость при выполнении любого зап-
роса — если два раза выполнить один и тот же запрос в пределах транзакции с таким
уровнем изолированности, будут получены одинаковые результаты). Для обеспечения
повторяемости при чтении в Oracle не нужно использовать SELECT FOR UPDATE —
это делается только для обеспечения последовательного доступа к данным. К сожале-
нию, использованное разработчиками инструментальное средство это не учитывало —
оно было создано для использования с другой СУБД, где именно так повторяемость при
чтении и достигалась.
Итак, в данном случае для установки уровня изолированности транзакций
SERIALIZABLE пришлось создать триггер на регистрацию в базе данных, изменяющий
параметры сеанса (уровень изолированности транзакций) для данного приложения. За-
тем мы отключили все установки повторяемости при чтении в использовавшемся инст-
рументальном средстве и повторно запустили приложение. Теперь, без конструкции FOR
UPDATE, в базе данных определенные действия стали выполняться одновременно.
Это была далеко не последняя проблема данного проекта. Нам пришлось разобрать-
ся:
• как настраивать операторы SQL, не изменяя их кода (это сложно — некоторые
методы мы рассмотрим в главе 11);
• как измерять производительность;
• как находить узкие места;
• что и как индексировать, и так далее.
В конце недели разработчики, никогда ранее не работавшие с СУБД, были удивле-
ны тем, что в действительности она дает возможность сделать, как легко получить ука-
занную выше информацию и, что наиболее важно, как существенно все это может ска-
заться на производительности приложения. Тестированием производительности в течение
этой недели мы не занимались (им кое-что пришлось переделывать!), но в конечном
итоге проект завершился успешно — просто на пару недель позже запланированного
срока.
Это не критика инструментальных средств или современных технологий, таких как
компоненты EJB и поддержка постоянного существования на базе контейнеров. Это —
критика намеренного игнорирования особенностей СУБД, принципов ее работы и ис-
пользования. Технологии, выбранные в этом проекте, работали отлично, но лишь пос-
ле того, как разработчики немного разобрались в самой СУБД.
Подводя итоги: СУБД — это краеугольный камень приложения. Если она не работа-
ет как следует, все остальное не имеет значения. Если плохо работает черный ящик, что

Download 0,99 Mb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   ...   93




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish