В современном мире очень часто случаются разногласия по поводу того, какие программные решения использовать в той или иной ситуации. А уж тем более, если дело касается разработки программного обеспечения. Каждый администратор, как и разработчик, имеет свое мнение о том, какие средства разработки и администрирования лучше. Если вы спросите 5 разных человек, вы получите 5 разных мнений.
Поэтому давайте рассмотрим преимущества и недостатки, а также конкретные случаи их применения.
ORACLE DATABASE
Oracle Database (Oracle RDBMS) – объектно-реляционная система управления базами данных от крупного гиганта в сфере разработки программного обеспечения.
Основные особенности:
— Закрытый источник; бесплатная версия имеет очень ограниченный набор функций.
— Временные таблицы сохраняются во всех сеансах и должны быть удалены пользователями.
— Поддержка четырех различных типов символов строк: CHAR, VARCHAR2, NCHAR, NVARCHAR2.
— Предлагает блокировку столбцов и строк.
— Обширная и гибкая настройка хранилища с помощью команд.
— Обширные механизмы резервного копирования.
— Предназначен для управления таблицами и базами на широкомасштабной основе.
MySQL
MySQL –свободная система управления базами данных, которая также разрабатывается компанией ORACLE.
Основные особенности:
- Открытый исходный код.
- Один из самых популярных инструментов базы данных, легко найти поддержку в интернете.
- Отсутствие соответствия ACID.
- Можно разделять таблицы используя: LIST, HASH, SET и RANGE.
- Поддержка двух разных типов символов строк/символов: CHAR и VARCHAR.
- Недостатки вариантов просмотра таблиц.
- Ограничения настройки хранилищ.
- Мощные инструменты администратора.
- Два механизма резервного копирования.
- Проблема с надежностью.
- Ограничения по безопасности в отличие от других СУБД.
- Предназначена для транзакционных рабочих нагрузок и плохо подходит для аналитических нагрузок.
MSSQL Server
MSSQL Server – системы управления базами данных от компании MicroSoft.
Основные особенности:
- Закрытый источник, ориентированный на корпоративные решения.
- Предлагает полную поддержку общих табличных выражений.
- Требует более глубокое понимание конфигураций баз данных.
- Можно точно настроить функции безопасности, вплоть до того — какой пользователь какие процедуры может запускать.
- Используется более ресурсоемкий и менее быстрый движок, который полностью совместим с ACID.
- Чрезвычайно всеобъемлющая система отчетности, настройки базы данных.
- Высокая степень контроля за транзакциями и процедурами.
- Предлагает различные более простые функции, такие как инструменты ETL, Аналитическая СУБД, реляционная СУБД.
- Изменения схемы не блокируют таблицы.
- Относительно высокие нагрузки ресурсов.
IBM DB2
DB2 – система управлении базами данных от еще одного ИТ-гиганта — компании IBM.
Основные особенности:
- Закрытый источник. Платная корпоративная версия.
- Управление таблицы на основе схемы.
- Не поддерживает XML.
- Нет встроенных возможностей памяти.
- Предназначен для реляционной целостности.
- Более надежное управление таблицами и данными, чем у MySQL.
- Материализованное представление таблиц.
- Отсутствие родной поддержки символов/строк.
- Несколько вариантов аварийного восстановления, доступность и масштабируемость.
POSTGRESQL
PostgreSQL – свободная система управления базами данных, поддерживает Unix OC и Windows.
Основные особенности:
- Открытый исходный код.
- Поддержка современных стандартов SQL.
- Большая занимаемая площадь делает его непригодным для операций чтения.
- Расширенная функция определения местоположения.
- Богатое разнообразие данных и типов символов.
- Полностью ACID-совместимое.
- Предназначен для обеспечения надежности и целостности данных.
- Полнотекстовый поиск, поддержка мощных серверных языков.
- Можно эффективно объединять большое количество таблиц.
- Репликация плохо реализована.
- Не подходит для проекта с низким уровнем параллелизма.
И так что же использовать?
Вы должны использовать ORACLE, если:
— Вам требуется гибкость с точки зрения контроля транзакций.
— Вы планируете разместить большую базу данных.
— Вам требуется высокая степень масштабируемости.
— Вы хотите, чтобы ваша база была независимой от платформы.
Вы должны использовать MySQL, если:
— Вы не собираетесь масштабироваться в значительной степени.
— Вы планируете создать веб-приложение или сайт только для чтения.
— Вам требуется высокая степень репликации.
— Ваш проект требует только простых запросов и имеет низкий уровень параллелизма.
Вы должны использовать MS SQL Server, если:
— Вы разработчик под .Net.
— Ваша база данных должна обслуживать корпоративную среду.
— Вы обрабатываете рабочие нагрузки, а не разрабатываете приложения.
— Вам требуется точный контроль над вашей базой.
Вы должный использовать DB2, если:
— Ваша компания уже поддерживает собственную установку DB2.
— Вы хотите объединить данные из нескольких источников.
— Вы должны иметь доступ к данным на высокой скорости.
— Оптимизация производительности чрезвычайно важна для вашего проекта.
Вы должны использовать PostgreSQL, если:
— Вы планируете использовать сложные пользовательские процедуры.
— Вы собираетесь работать с Java.
— Ваша база данных будет большой и сложной, с высоким параллелизмом и несколькими типами запросов.
— Вы будете выполнять много операций записи, и скорость чтения не является важным фактором.
— Ваш проект ориентирован на разработчика.
Надеюсь, что это даст вам понятие, в чем разница между различными СУБД.