Архитектура программного обеспечения
Архитектура, ориентированная на базу данных или архитектура, ориентированная на данные, имеет несколько различных значений, в основном относящихся к архитектурам программного обеспечения , в которых базы данных играют решающую роль. Часто это описание призвано противопоставить дизайн альтернативному подходу. Например, характеристика архитектуры как «ориентированной на базу данных» может означать любую комбинацию из следующего:
- используя стандартную, реляционную систему управления базами данных общего назначения , в отличие от настраиваемых структур данных в памяти или на основе файлов и методов доступа . С развитием сложного программного обеспечения СУБД , большая часть которого либо бесплатна, либо включена в операционную систему , разработчики приложений стали все больше полагаться на стандартные инструменты баз данных, особенно ради быстрой разработки приложений .
- использование динамической, таблично -управляемой логики, в отличие от логики, воплощенной в ранее скомпилированных программах . Использование таблично-управляемой логики, т. е. поведения, которое в значительной степени диктуется содержимым базы данных, позволяет программам быть более простыми и гибкими. Эта возможность является центральной особенностью динамических языков программирования . См. также управляющие таблицы для таблиц, которые обычно кодируются и встраиваются в программы как структуры данных (т. е. не скомпилированные операторы), но могут в равной степени быть считаны из плоского файла , базы данных или даже извлечены из электронной таблицы .
- использование хранимых процедур , которые выполняются на серверах баз данных , в отличие от большей зависимости от логики, выполняемой на серверах приложений среднего уровня в многоуровневой архитектуре . Степень, в которой бизнес-логика должна быть размещена на внутреннем уровне по сравнению с другим уровнем, является предметом продолжающихся дебатов. Например, Toon Koppelaars представляет подробный анализ альтернативных архитектур на основе Oracle , которые различаются по размещению бизнес-логики, делая вывод, что подход, ориентированный на базу данных, имеет практические преимущества с точки зрения простоты разработки и обслуживания [1] и производительности. [2]
- использование общей базы данных в качестве основы для связи между параллельными процессами в распределенных вычислительных приложениях, в отличие от прямой межпроцессной связи через функции передачи сообщений и промежуточное программное обеспечение, ориентированное на сообщения . Потенциальное преимущество архитектуры, ориентированной на базу данных, в распределенных приложениях заключается в том, что она упрощает проектирование за счет использования обработки транзакций и индексации , предоставляемых СУБД, для достижения высокой степени надежности, производительности и емкости. [3] Например, Base One описывает архитектуру распределенных вычислений, ориентированную на базу данных, для сетевых и кластерных вычислений и объясняет, как эта конструкция обеспечивает повышенную безопасность, отказоустойчивость и масштабируемость . [4]
- общая корпоративная архитектура , которая отдает предпочтение общим моделям данных [5], а не позволяет каждому приложению иметь свою собственную, уникальную модель данных.
Была предложена даже экстремальная архитектура, ориентированная на базу данных, называемая архитектурой RDBMS-only [6] [7] , в которой три классических уровня приложения хранятся в RDBMS . Эта архитектура активно использует DBPL (язык программирования баз данных) RDBMS. Примером программного обеспечения с такой архитектурой является Oracle Application Express (APEX).
Смотрите также
Ссылки
- ^ Коппелаарс, Тун (2004). "ОСНОВНОЙ НА БАЗЕ ДАННЫХ ПОДХОД К РАЗРАБОТКЕ ПРИЛОЖЕНИЙ J2EE" (PDF) . Группа пользователей инструментов разработки Oracle (ODTUG). Архивировано из оригинала (PDF) 2006-05-25 . Получено 2024-09-26 .
- ^ Мульт Коппелаарс (31 октября 2016 г.). NoPLSql и подходы к работе с толстыми базами данных с помощью Toon Koppelaars (Видео). Обучение Oracle . Получено 26 сентября 2024 г. - через Youtube.
- ^ Линд П., Альм М. (2006), «Виртуальная химическая система, ориентированная на базу данных», J Chem Inf Model , 46 (3): 1034–9, doi : 10.1021/ci050360b, PMID 16711722.
- ^ Сетевые и кластерные вычисления, ориентированные на базы данных
- ^ "Датацентрическая революция". TDAN.com . Получено 2017-01-09 .
- ^ Висенте, Альфонсо; Эчеверри, Лорена; Сабигеро, Ариэль (2021). «Архитектура RDBMS-only для веб-приложений». XLVII Латиноамериканская компьютерная конференция 2021 г. (CLEI) . стр. 1–9. doi :10.1109/CLEI53233.2021.9640017. ISBN 978-1-6654-9503-5. S2CID 245387844.
- ^ Висенте, Альфонсо (30 июня 2023 г.). «В защиту экстремальной архитектуры, ориентированной на базы данных». Memoria Investigaciones en Ingeniería . 24 . дои : 10.36561/ing.24.9 . ISSN 2301-1106. S2CID 259690085.