Система управления базами данных (СУБД) - это программное обеспечение, которое обеспечивает управление и доступ к базам данных. Основная цель СУБД - обеспечить надежное и эффективное хранение данных, а также обеспечить возможность выполнять различные операции с данными, такие как добавление, изменение, удаление и поиск.
Функции СУБД включают:
- Создание баз данных и их таблиц, определение структуры данных.
- Управление доступом к данным и обеспечение безопасности.
- Оптимизация выполнения запросов для повышения производительности.
- Поддержка транзакций для обеспечения целостности данных.
- Резервное копирование и восстановление данных.
- Обеспечение масштабируемости и отказоустойчивости баз данных.
СУБД играют ключевую роль в управлении данными и обеспечивают централизованное управление информацией для различных приложений и систем, что делает их важным элементом в информационной технологии и бизнесе.
Какие есть виды СУБД?
СУБД различаются по способу доступа к базе данных:
- Клиент-серверные СУБД
- Файл-серверные СУБД
- Встраиваемые СУБД
В клиент-серверных СУБД (Microsoft SQL Server, Oracle, Firebird, PostgreSQL, InterBase, MySQL и др.)
- Вся обработка данных ведётся в одном месте, на сервере, в том же месте, где хранятся (обычно) данные.
- К файлам данных имеет доступ только один сервер, одна система — это сама СУБД.
- Приложения-клиенты посылают запросы на обработку и получение данных из СУБД и получают ответы.
- Приложения-клиенты не имеют непосредственного доступа к файлам данных.
Все промышленные СУБД на данный момент являются именно клиент-серверными.
В файл-серверных СУБД (Paradox, Microsoft Access, FoxPro, dBase и др.), наоборот,
- Приложения имеют общий доступ ко всем файлам базы данных (хранящимся обычно в каком-то разделяемом файловом хранилище) и совместно обрабатывают эти данные.
- Каждое приложение самостоятельно обрабатывает данные.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком. Проблема в том, что файл-серверные СУБД не имеют многих преимуществ клиент-серверных, таких как кэширование данных, параллелизм запросов, высокая производительность и обладают рядом недостатков (сложности с поддержанием целостности базы, восстановлением, блокировками и т.д.), что приводит в свою очередь к пониженной надёжности и производительности. Состояние базы в файловых СУБД необходимо постоянно отслеживать и проводить операции по её «лечению» с помощью встроенных или сторонних утилит.
Встраиваемые СУБД (SQLite, Firebird Embedded, Microsoft SQL Server Compact и др.)
- Поставляются в составе готового программного продукта, не требуя процедуры самостоятельной установки.
- Предназначены для локального хранения данных приложения и не рассчитаны на коллективное использование в сети.
Встраиваемая бесплатная СУБД SQLite широко используется в известной мобильной ОС Android, разработанной в компании Google, и во многих мобильных приложениях.
Требования к СУБД в современном мире:
- Надёжность: никакие данные не должны пропасть.
- Производительность: СУБД должна обеспечивать приемлемый уровень производительности для решения возложенных на неё задач.
- Уверенность в том, что СУБД будет поддерживаться производителем.
- Легкость в администрировании и использовании всего функционала.