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

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

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

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

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

Эти соображения могут казаться совершенно очевидными, но я убедился, что слишком многие относятся к базе данных как к черному ящику - чему-то такому, о чем знать не обязательно. Возможно, они располагают генератором SQL-кoдa, который, по их мнению, избавит от бремени изучения языка 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... 5778 просмотров sepia Tue, 08 May 2018, 08:52:34
Oracle IDE: JDeveloper, SQL De...
Oracle IDE: JDeveloper, SQL De... 4546 просмотров Ольга Потемкина Tue, 21 Nov 2017, 13:18:46
Язык PL/SQL Oracle для програм...
Язык PL/SQL Oracle для програм... 2637 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:28:01
Деятельность Oracle в XML-инду...
Деятельность Oracle в XML-инду... 7959 просмотров Дэн Tue, 21 Nov 2017, 13:33:37
Печать
Войдите чтобы комментировать