Разработка успешных приложений для Oracle
ные возможности Oracle 8i, — для этого понадобилась бы отдельная большая книга.
Новым возможностям СУБД Oracle 8i посвящена специальная книга в наборе докумен-
тации по СУБД Oracle. Если учесть, что вместе с СУБД Oracle поставляется документа-
ция общим объемом около 10 000 страниц, детальное рассмотрение каждой возможно-
сти и функции практически нереально. В этом разделе просто показано, почему даже
поверхностное представление об имеющихся возможностях дает огромные преимуще-
ства.
Как уже было сказано, я отвечаю на вопросы о СУБД Oracle на Web-сайте. Если че-
стно, процентов 80 моих ответов — ссылки (URL) на документацию. Меня спрашива-
ют, как реализовать те или иные сложные функциональные возможности в базе данных
(или вне ее). А я просто даю ссылку на соответствующее место в документации, где
написано, как это уже реализовано в СУБД Oracle и как этими возможностями пользо-
ваться. Часто такие случаи бывают с репликацией. Я получаю вопрос: "Хотелось бы со-
хранять копию данных в другом месте. Эта копия должна быть доступна только для
чтения. Обновление должно выполняться раз в сутки, в полночь. Как написать соответ-
ствующий код?". Ответ простой: см. описание оператора CREATE SNAPSHOT. Вот что
такое встроенные возможности СУБД.
Можно, конечно, для интереса написать собственный механизм репликации, но это
будет не самое разумное действие. СУБД делает многое и, как правило, лучше, чем
создаваемые нами приложения. Репликация, например, встроена в ядро, написанное на
языке С. Она работает быстро, сравнительно проста в использовании и надежна. Рабо-
тает в разных версиях, на разных платформах. При возникновении проблем служба
поддержки Oracle поможет их решить. После обновления версии репликация будет под-
держиваться с новыми, дополнительными возможностями. Теперь предположим, что вы
разработали собственный механизм репликации. Вам придется заняться его поддерж-
кой во всех версиях СУБД, которые вы собираетесь поддерживать. Одинаковое функ-
ционирование в версии 7.3, 8.0, 8.1 и 9.0 и так далее вы должны будете обеспечивать
сами. Если произойдет сбой, обращаться будет не к кому. По крайней мере, пока не
удастся получить маленький тестовый пример, демонстрирующий основную проблему.
При выходе новой версии вам придется самостоятельно переносить в нее код механиз-
ма репликации.
Недостаточное понимание того, что предлагает СУБД, может серьезно помешать в
будущем. Недавно разработчики демонстрировали мне созданное ими "очень нужное"
программное обеспечение. Это была система обмена сообщениями, решавшая пробле-
му очередей в базе данных. Она обычно возникает при необходимости использования
таблицы несколькими сеансами в качестве "очереди". Необходимо, чтобы несколько
пользователей могли заблокировать очередную запись, пропустив все уже заблокирован-
ные записи (они уже обрабатываются). Проблема в том, что нет задокументированной
возможности СУБД для пропуска заблокированных строк. Поэтому, не зная о существо-
вании средств, предоставляемых СУБД Oracle, можно приняться за реализацию поддер-
жки очередей самостоятельно (или приобрести готовое решение).
Именно это и сделала упомянутая группа разработчиков. Они создали набор процес-
сов и придумали функциональный интерфейс для организации очередей сообщений в
СУБД. Они потратили на это немало времени и сил и были уверены, что сделали нечто
Do'stlaringiz bilan baham: