Классификация и сравнительная характеристика современных СУБД
Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Она обеспечивает хранение, защиту данных и взаимодействие пользователя с БД, позволяя пользователям производить поиск, сортировку и выборку информации в базе данных, а некоторым пользователям - добавлять, удалять и изменять записи в БД.
В силу многогранности баз данных и СУБД имеется множество классификационных признаков. Классификация БД и СУБД по основным признакам приведена на рисунке на следующем слайде
В зависимости от того, с какой базой данных работает СУБД , она может быть:
иерархической
сетевой
реляционной
объектно-реляционной
объектно-ориентированной.
По степени универсальности различают два класса СУБД:
• системы общего назначения;
• специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели компьютеров в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
По технологии обработки данных БД делятся на централизованные БД и распределённые БД.
Централизованная БД хранится в памяти одной вычислительной системы Централизованные БД могут быть с сетевым доступом.
По способу доступа к БД системы управления ими подразделяются на три типа:
Файл-серверные
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. Ядро СУБД располагается на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком — высокая загрузка локальной сети.
На данный момент файл-серверные СУБД считаются устаревшими. Они могут применяться для обучения работе с базами данных или для хранения информации в небольших информационных системах.
Примеры: Microsoft Access, Paradox, dBase.
Клиент-серверные
Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера . Клиент-серверные СУБД обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и его можно заменить другим.
Недостаток клиент-серверных СУБД - существование сервера и большие вычислительные ресурсы, потребляемые сервером.
Клиент-серверные СУБД предоставляют больше возможностей для профессиональной работы с данными, поэтому они чаще всего используются в крупных предприятиях и организациях. Они больше всего подходят к крупным информационным системам с одним или несколькими серверами, обладающими большой производительностью.
Даже в случае большого количества пользователей, работающих с ними, они не очень сильно загружают сеть.
Примеры: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, ЛИНТЕР.
Встраиваемые
Встраиваемая СУБД — библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы).
Примеры : OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.
Таким образом, для использования в крупных организациях, в том числе на промышленных предприятиях, больше подходят клиент-серверные СУБД. Мы рассмотрим особенности таких распространенных СУБД, как Oracle и MS SQL Server.
СУБД могут классифицироваться и с точки зрения экономической : по условиям предоставления услуг - бесплатные и платные (бесприбыльные, коммерческие); по форме собственности - государственные, негосударственные; по степени доступности - общедоступные, с ограниченным кругом пользователей.
Так как СУБД - это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями СУБД можно классифицировать еще следующим образом:
Примеры СУБД
- dBase подобные (dbf - формат):
dBase, FoxPro, Clipper
Paradox, Clarion, de_Vista
Access, Works (Microsoft), Approach (Lotus),
Paradox (Borland)OpenOffice Base
- SQL-технология(клиент-сервер)
SQL, Oracle, Centura, Sybase, Informix,
ОО реляционные СУБД
Популярные реляционные СУБД
Наиболее популярны три основных свободно - распространяемых СУБД:
- SQLite - мощная встраиваемая система управления
- MySQL - самая популярная и распространённая СУБД
- PostgreSQL - наиболее продвинутая СУБД.
SQLite
Легко встраиваемая в приложения база данных. Так как это система базируется на файлах, то она предоставляет довольно широкий набор инструментов для работы с ней, по сравнению с сетевыми СУБД. При работе с этой СУБД обращения происходят напрямую к файлам (в эти файлах хранятся данные), вместо портов и сокетов в сетевых СУБД. Именно поэтому SQLite очень быстрая, а также мощная благодаря технологиям обслуживающих библиотек.
Преимущества SQLite
- Файловая структура - вся база данных состоит из одного файла, поэтому её легко переносить на разные машины
- Используемые стандарты - она использует основные возможности языка SQL.
- Отличная при разработке и тестировании - в процессе разработки приложений допускает масштабирование. Недостатки SQLite
- отсутствие системы пользователей - крупные СУБД включают в свой состав системы управления правами доступа пользователей. СУБД используется в небольших приложениях.
- отсутствие возможности увеличения производительности
MySQL
- MySQL - это самая распространенная серверная СУБД. MySQL, свободно распространяемая СУБД, которая успешно работает с различными сайтами и веб приложениями.
Преимущества MySQL
- Простота в работе
- Богатый функционал - MySQL поддерживает большинство функционала SQL.
- Безопасность - большое количество функций обеспечивающих безопасность, которые поддерживается по умолчанию
- Масштабируемость - MySQL легко работает с большими объемами данных и легко масштабируется
- Скорость - упрощение некоторых стандартов позволяет MySQL значительно увеличить производительность.
.
Недостатки MySQL
- Известные ограничения - в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в приложениях.
- Проблемы с надежностью - из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности.
- Медленная разработка - MySQL технически открытое ПО. Существуют другие довольно успешные СУБД, созданные на базе MySQL, например MariaDB.
- Недостаток функционала - некоторые движки MySQL, не поддерживают полнотекстовый поиск.
Когда следует использовать MySQL
Если функционала SQLite не хватает, то можно использовать MySQL. Так как эта СУБД сочетает в себе продвинутый функционал и свободный доступ к исходному коду
PostgreSQL
- PostgreSQL является профессиональной СУБД. Она свободно распространяемая и максимально соответствует стандартам SQL. PostgreSQL или Postgres стараются полностью применять ANSI/ISO SQL стандарты своевременно с выходом новых версий.
- От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и/или реляционного подхода к базам данных. Например, полная поддержка надежных транзакций, т.е. атомарность, последовательность, изоляционность, прочность. Благодаря мощным технологиям Postgre очень производительна. PostgreSQL легко расширять своими процедурами, которые называются хранимые процедуры . Эти функции упрощают использование постоянно повторяемых операций.
- Хотя PostgreSQL не имеет большой популярности в отличии от MySQL, существует большое число приложений, облегчающих работу с PostgreSQL, несмотря на всю мощность функционала. Достоинства PostgreSQL
- Открытое бесплатное ПО с открытым исходным кодом, соответствующее стандарту SQL.
- Большое сообщество - существует большое сообщество, в котором можно найти ответы на свои вопросы.
- Большое количество дополнений - несмотря на огромное количество встроенных функций, существует очень много дополнений, позволяющих разрабатывать данные для этой СУБД и управлять ими.
- Расширения - существует возможность расширения функционала за счет сохранения своих процедур.
- Объектность - PostrgreSQL это не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и много другого.
Недостатки PostgreSQL
- Производительность - при простых операциях чтения PostgreSQL может значительно замедлить сервер и быть медленнее своих конкурентов, таких как MySQL.
- Популярность - по своей природе, популярностью эта СУБД похвастаться не может, хотя и присутствует довольно большое сообщество.
- Хостинг - в силу выше перечисленных факторов иногда довольно сложно найти хостинг с поддержкой этой СУБД.