Разработка успешных приложений Oracle

Светлана Комарова

Светлана Комарова

Автор статьи. Системный администратор, Oracle DBA. Информационные технологии, интернет, телеком. Подробнее.

Создание успешных приложений по oracleКак создать успешное приложение под базу данных Oracle? Приведу в данной заметке рассуждения гуру в данном вопросе - Тома Кайта. Очень много времени я провожу, работая с программным обеспечением системы управления базами данных (СУБД) Oracle и, что еще важнее, общаясь с теми, кто использует это программное обеспечение. В течение последних 25 лет или около того мне довелось работать над многим проектами - как успешными, так и совершенно неудачными - и мой опыт можно было бы обобщить следующим образом.

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

Эти соображения могут казаться совершенно очевидными, но я убедился, что слишком многие относятся к базе данных как к черному ящику - чему-то такому, о чем знать не обязательно. Возможно, они располагают генератором SQL-кoдa, который, по их мнению, избавит от бремени изучения языка SQL. Или же они полагают, что будут пользоваться базой данных только как двумерным файлом и выполнять "чтение по ключам". Как бы там ни было, я могу утверждать, что в большинстве случаев такая точка зрения ошибочна: без понимания базы данных просто не обойтись. В этой главе будет показано, почему требуется знание базы данных, в частности, зачем необходимо разбираться в перечисленных ниже вопросах.

  • Архитектура базы данных: как она работает и что собой представляет.
  • Что такое средства управления параллельной обработкой, и каков в них смысл.
  • Как выполнять повседневную настройку своего приложения.
  • Каким образом в базе данных реализованы некоторые вещи - они не обязательно реализованы так, как вы могли подумать.
  • Какие функциональные возможности база данных уже предлагает, и почему в общем случае лучше применять предоставленное средство, чем строить собственное.
  • Почему может требоваться знание языка SQL, выходящее за рамки общего курса.
  • Администраторы баз данных и разработчики находятся в одной команде, а не представляют два враждующих лагеря, которые постоянно пытаются перехитрить друг друга.

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

Например, сравним ОС Windows и UNIX/Linux. Если вы являетесь опытным программистом в Windows, которого попросили разработать новое приложение для платформы UNIX/Linux, то вам придется заново изучить ряд вопросов. Управление памятью реализовано совершенно по-другому. Построение процессов сервера существенно отличается: в среде Windows должен быть разработан единственный процесс - единственный исполняемый модуль с множеством потоков. В среде UNIX/ Linux разработка не сводится к построению одного автономного исполняемого модуля; вместо этого приходится иметь дело с множеством совместно работающих процессов. Это верно, что и Windows, и UNIX/Linux являются операционными системами. Обе они предлагают разработчикам множество одинаковых служб - управление файлами, управление памятью, управление процессами, обеспечение безопасности и т.п. Однако они серьезно отличаются по архитектуре, и большая часть того, что вы изучили в среде Windows, не применимо к UNIX/Linux (и, справедливости ради, наоборот). Чтобы добиться успеха на новой платформе, вы должны забыть все, что знали о старой платформе. То же самое касается и среды базы данных.

Все моменты, связанные с приложениями, которые выполняются непосредственно в среде ОС, относятся также и к приложениям, которые будут выполняться в среде базы данных: необходимо осознавать, что база данных является критически важной для успеха приложения. Если вы не понимаете, что делает конкретная база данных и как она это делает, то ваше приложение будет обречено на неудачу. Если вы считаете, что раз уж ваше приложение нормально работает в среде SQL Server, то оно обязательно будет успешно функционировать в среде Oracle, то это приложение, скорее всего, потерпит неудачу. Разумеется, корректно также и обратное утверждение: вовсе не обязательно, что масштабируемое, аккуратно разработанное приложение Oracle сможет работать в среде SQL Server без существенных архитектурных изменений. Подобно тому, как Windows и UNIX/Linux являются операционными системами, но фундаментально отличаются друг от друга, Oracle и SQL Server (здесь можно было бы упомянуть практически любую базу данных) представляют собой базы данных, существенно отличающиеся в архитектурном плане.

Вас заинтересует / Intresting for you:

Oracle и Java: использование P...
Oracle и Java: использование P... 5750 просмотров sepia Tue, 08 May 2018, 08:52:34
Oracle IDE: JDeveloper, SQL De...
Oracle IDE: JDeveloper, SQL De... 4522 просмотров Ольга Потемкина Tue, 21 Nov 2017, 13:18:46
Язык PL/SQL Oracle для програм...
Язык PL/SQL Oracle для програм... 2630 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:28:01
Деятельность Oracle в XML-инду...
Деятельность Oracle в XML-инду... 7951 просмотров Дэн Tue, 21 Nov 2017, 13:33:37
Войдите чтобы комментировать