Какие программные продукты можно использовать в качестве сервера бд

Умение выбрать СУБД важно при разработке любого ПО. Мы собрали 10 систем управления базами данных и разобрались в их преимуществах.
Популярные системы управления базами данных
Разработчик | Лицензия | Написана на | |
Oracle | Oracle Corporation | Проприетарная | Assembly, C, C++ |
MySQL | Oracle Corporation | GPL v2 или проприетарная | C, C++ |
Microsoft SQL Server | Microsoft Corporation | Проприетарная | C, C++ |
PostgreSQL | PostgreSQL Global Development Group | Лицензия PostgreSQL (бесплатное ПО с открытым исходным кодом, либеральная лицензия) | C |
MongoDB | MongoDB Inc. | Различные варианты лицензирования | C++, C, JavaScript |
DB2 | IBM | Проприетарная EULA | Assembly, C, C++ |
Microsoft Access | Microsoft Corporation | Пробное ПО | |
Redis | Salvatore Sanfilippo | Лицензия BSD | ANSI C |
Рейтинг СУБД
SQL-базы данных
1. Oracle
Oracle RDBMS (она же Oracle Database) на первом месте среди СУБД. Система популярна у разработчиков, проста в использовании, у нее понятная документация, поддержка длинных наименований, JSON, улучшенный тег списка и Oracle Cloud.
- Разработчик: Oracle Corporation
- Написана на:Assembly, C, C++
- Блог: Oracle NoSQL
- Скачать: Oracle NoSQL
- Последняя версия: 18.3
Особенности
- Обрабатывает большие данные.
- Поддерживает SQL, к нему можно получить доступ из реляционных БД Oracle.
- Oracle NoSQL Database с Java/C API для чтения и записи данных.
2. MySQL
MySQL работает на Linux, Windows, OSX, FreeBSD и Solaris. Можно начать работать с бесплатным сервером, а затем перейти на коммерческую версию. Лицензия GPL с открытым исходным кодом позволяет модифицировать ПО MySQL.
Эта система управления базами данных использует стандартную форму SQL. Утилиты для проектирования таблиц имеют интуитивно понятный интерфейс. MySQL поддерживает до 50 миллионов строк в таблице. Предельный размер файла для таблицы по умолчанию 4 ГБ, но его можно увеличить. Поддерживает секционирование и репликацию, а также Xpath и хранимые процедуры, триггеры и представления.
- Разработчик: Oracle Corporation
- Написана на C, C++
- Последняя версия: 8.0.16
- Скачать: MySql
Особенности
- Масштабируемость.
- Лёгкость использования.
- Безопасность.
- Поддержка Novell Cluster.
- Скорость.
- Поддержка многих операционных систем.
3. Microsoft SQL Server
Самая популярная коммерческая СУБД. Она привязана к Windows, но это плюс, если вы пользуетесь продуктами Microsoft. Зависит от платформы. И графический интерфейс, и программное обеспечение основаны на командах. Поддерживает SQL, непроцедурные, нечувствительные к регистру и общие языки баз данных.
- Разработчик: Microsoft Corporation
- Написана на C, C++
- Блог: SQL Server Blog
- Скачать: Microsoft SQL Server
Особенности
- Высокая производительность.
- Зависимость от платформы.
- Возможность установить разные версии на одном компьютере.
- Генерация скриптов для перемещения данных.
4. PosgreSQL
Масштабируемая объектно-реляционная база данных, работающая на Linux, Windows, OSX и некоторых других системах. В PostgreSQL 10 есть такие функции, как логическая репликация, декларативное разбиение таблиц, улучшенные параллельные запросы, более безопасная аутентификация по паролю на основе SCRAM-SHA-256.
- Разработчик: PostgreSQL Global Development Group
- Написана на C
- Используется в компаниях: Apple, Cisco, Fujitsu, Skype, and IMDb
- Последняя версия: 11.2
- Блог: PostgreSQL
- Скачать: PostgreSQL
Особенности
- Поддержка табличных пространств, а также хранимых процедур, объединений, представлений и триггеров.
- Восстановление на момент времени (PITR).
- Асинхронная репликация.
NoSQL-базы данных
5. MongoDB
Самая популярная NoSQL система управления базами данных. Лучше всего подходит для динамических запросов и определения индексов. Гибкая структура, которую можно модифицировать и расширять. Поддерживает Linux, OSX и Windows, но размер БД ограничен 2,5 ГБ в 32-битных системах. Использует платформы хранения MMAPv1 и WiredTiger.
- Разработчик: MongoDB Inc. в 2007
- Написана на C++
- Последняя версия: 4.1.9
- Блог: MongoDB
- Скачать: MongoDB
Особенности
- Высокая производительность.
- Автоматическая фрагментация.
- Работа на нескольких серверах.
- Поддержка репликации Master-Slave.
- Данные хранятся в форме документов JSON.
- Возможность индексировать все поля в документе.
- Поддержка поиска по регулярным выражениям.
6. DB2
Работает на Linux, UNIX, Windows и мейнфреймах. Эта СУБД идеально подходит для хост-сред IBM. Версию DB2 Express-C нельзя использовать в средах высокой доступности (при репликации, кластеризации типа active-passive и при работе с синхронизируемым доступом к разделяемым данным).
- Разработчик: IBM
- Написана на C, C++, Assembly
- Последняя версия: 11.1
- Скачать: DB2
Особенности DB2 11.1
- Улучшенное встроенное шифрование.
- Упрощённая установка и развёртывание.
7. Microsoft Access
Система управления базами данных от Microsoft, которая сочетает в себе реляционное ядро БД Microsoft Jet с графическим интерфейсом пользователя и инструментами разработки ПО.
Идеально подходит для начала работы с данными, но производительность не рассчитана на большие проекты. В MS Access можно использовать C, C#, C++, Java, VBA и Visual Rudimental.NET. Access хранит все таблицы БД, запросы, формы, отчёты, макросы и модули в базе данных Access Jet в виде одного файла.
- Разработчик: Microsoft Corporation
- Последняя версия: 16.0
- Скачать: Microsoft Access
Особенности
- Можно использовать VBA для создания многофункциональных решений с расширенными возможностями управления данными и пользовательским контролем.
- Импорт и экспорт в форматы Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server и Oracle.
- Формат базы данных Jet.
8. Cassandra
СУБД активно используется в банковском деле, финансах, а также в Facebook и Twitter. Поддерживает Windows, Linux и OSX. Для запросов к БД Cassandra используется SQL-подобный язык — Cassandra Query Language (CQL).
- Разработчик: Apache Software Foundation
- Написана на: Java
- Последняя версия: 3.11.4
- Блог: Cassandra
- Скачать: Cassandra
Особенности
- Линейная масштабируемость.
- Быстрое время отклика.
- Поддержка MapReduce и Apache Hadoop.
- Максимальная гибкость.
- P2P архитектура.
9. Redis
Redis или Remote Dictionary Server — СУБД с открытым исходным кодом, которая снабжена механизмами журналирования и снимков. Поддерживаются списки, строки, хэши, наборы. Используется для БД, брокеров сообщений и кэшей. Все операции в Redis атомарные. Система написана на языке C и поддерживается практически всеми языками программирования.
- Разработчик: Salvatore Sanfilippo
- Последняя версия: 5.0.5
- Блог: Redis
- Скачать: Redis
Особенности
- Автоматическая обработка отказа.
- Транзакции.
- Сценарии LUA.
- Вытеснение LRU-ключей.
- Поддержка Publish/Subscribe.
10. Elasticsearch
Легко масштабируемая поисковая система корпоративного уровня с открытым исходным кодом. Благодаря обширному и продуманному API обеспечивает чрезвычайно быстрый поиск, работает в том числе с приложениями для обнаружения данных. Используется такими компаниями, как Википедия, The Guardian, StackOverflow, GitHub. ElasticSearch позволяет создавать копии индексов и сегментов.
- Разработчик: Elastic NV
- Написана на Java
- Последняя версия: 7.2.0
- Блог: Elasticsearch
- Скачать: Elasticsearch
Особенности
- Масштабируемость вплоть до нескольких петабайт структурированных и неструктурированных данных.
- Многопользовательская поддержка.
- Масштабируемый поиск, поиск в режиме реального времени.
Рейтинги СУБД
Рейтинг | СУБД | Модель базы данных | Балл | ||||
Июль 2017 | Июнь 2017 | Июль 2016 | Июль 2017 | Июнь 2017 | Июль 2016 | ||
1 | 1 | 1 | Oracle | Реляционная СУБД | 1374.88 | +23.11 | -66.65 |
2 | 2 | 2 | MySQL | Реляционная СУБД | 1349.11 | +3.8 | -14.18 |
3 | 3 | 3 | Microsoft SQL Server | Реляционная СУБД | 1226 | +27.03 | +33.11 |
4 | 4 | 5↑ | PostgreSQL | Реляционная СУБД | 369.44 | +0.89 | +58.28 |
5 | 5 | 4↓ | MongoDB | Документная СУБД | 332.77 | -2.23 | +17.77 |
6 | 6 | 6 | DB2 | Реляционная СУБД | 191.25 | +3.74 | +6.17 |
7 | 7 | 8↑ | Microsoft Access | Реляционная СУБД | 126.13 | -0.42 | +1.23 |
8 | 8 | 7↓ | Cassandra | СУБД типа BigTable | 124.12 | -0.0 | -6.58 |
9 | 9 | 10↑ | Redis | СУБД типа «ключ-значение» | 121.51 | +2.63 | +13.48 |
10 | 11↑ | 11↑ | Elasticsearch | Поисковая система | 115.98 | +4.42 | +27.36 |
А какую СУБД предпочитаете вы? Аргументируйте свой выбор 😉
Источник
Систе́ма управле́ния ба́зами да́нных, сокр. СУБД (англ. Database Management System, сокр. DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].
СУБД — комплекс программ, позволяющих создать базу данных (БД) и манипулировать данными (вставлять, обновлять, удалять и выбирать). Система обеспечивает безопасность, надёжность хранения и целостность данных, а также предоставляет средства для администрирования БД[2].
Основные функции СУБД[править | править код]
- управление данными во внешней памяти (на дисках);
- управление данными в оперативной памяти с использованием дискового кэша;
- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
- поддержка языков БД (язык определения данных, язык манипулирования данными).
Состав СУБД[править | править код]
Обычно современная СУБД содержит следующие компоненты:
- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;
- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
- сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Классификации СУБД[править | править код]
По модели данных
Примеры:
- Иерархические
- Сетевые
- Реляционные
- Объектно-ориентированные
- Объектно-реляционные
По степени распределённости
- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
- Распределённые СУБД (части СУБД могут размещаться не только на одном, но на двух и более компьютерах).
По способу доступа к БД
- Файл-серверные
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок.Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера.Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик, как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком[3].Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
- Клиент-серверные
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу.Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик, как высокая надёжность, высокая доступность и высокая безопасность.Примеры: Oracle Database, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
- Встраиваемые
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети.Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Стратегии работы с внешней памятью[править | править код]
СУБД с непосредственной записью
В таких СУБД все изменённые блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.
СУБД с отложенной записью
В таких СУБД изменения аккумулируются в буферах внешней памяти до наступления любого из следующих событий:
- Контрольная точка.
- Нехватка пространства во внешней памяти, отведенного под журнал. СУБД создаёт контрольную точку и начинает писать журнал сначала, затирая предыдущую информацию.
- Останов. СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во внешнюю память, после чего делает отметки, что останов базы данных выполнен корректно.
- Нехватка оперативной памяти для буферов внешней памяти.
Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить эффективность работы СУБД.
См. также[править | править код]
- Архитектура ANSI — SPARC
- Информационная система
Примечания[править | править код]
Литература[править | править код]
- Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4.
- Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с. — ISBN 978-5-94774-736-2.
- Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: Вильямс, 2005. — 1328 с. — ISBN 5-8459-0788-8 (рус.) 0-321-19784-4 (англ.).
- Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management. — 3-е изд. — М.: Вильямс, 2003. — 1436 с. — ISBN 0-201-70857-4.
- Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X.
- C. J. Date. Date on Database: Writings 2000–2006. — Apress, 2006. — 566 с. — ISBN 978-1-59059-746-0, 1-59059-746-X.
Ссылки[править | править код]
- Database of Databases — онлайн-энциклопедия СУБД, составляемая группой баз данных Университета Карнеги — Меллона (руководитель — Энди Павло)
- Список всех коммерческих СУБД, доступных в США на 1987 год (англ.) // Computerworld, 10 августа 1987
- Рейтинг «популярности» СУБД, согласно ресурсу DB-Engines, основан, в основном, на частоте упоминаний СУБД и не учитывает количество установок и реальное использование в информационных системах (см. описание метода ранжирования)
Источник
IT-отделы работают с мизерным бюджетом. Поэтому сокращение расходов позволит компании не только оставаться на плаву, но и направить сэкономленные средства на развитие. Чтобы рациональнее использовать имеющийся бюджет, познакомимся с 7 бесплатными программными продуктами для разработки баз данных и решениями DBM с открытым исходным кодом.
Бесплатный вариант с открытым исходным кодом, оптимизированный специально для веб-приложений. Сервис предназначен для обработки больших объемов данных и генерации многочисленных параллельных запросов. Это решение реализовано на языке программирования C.
Достоинства
- Множественная степень дробления блокировок;
- Создание резервных копий онлайн;
- Инструменты GUI и драйверы для JDBC, PHP, Python, Perl и Ruby;
- Поддержка встроенного сегментирования базы данных для масштабирования;
- В крупных системах данные разделяются по нескольким экземплярам базы данных;
- Репликация полнотекстовых баз данных и согласованность транзакций.
Недостатки
- Не работает в системах Apple;
- Нет отладчика сценариев;
- Руководство доступно только на английском и корейском языках;
- Обсуждения на официальном форуме, как правило, устаревшие (большинству из них несколько лет).
Эта реляционная база данных использовалась в производственных системах (под разными названиями) с 1981 года и реализует многие стандарты ANSI SQL. Firebird может работать на Linux, Windows и различных Unix-платформах.
Достоинства
- API трассировки для мониторинга в реальном времени;
- Аутентификация с проверкой подлинности Windows;
- Четыре поддерживаемые архитектуры: SuperClassic, Classic, SuperServer и Embedded;
- Разнообразные средства разработки: коммерческие инструменты – FIBPlus и IBObjects;
- Возможность автоматического развертывания для очистки базы данных;
- Уведомления о событиях из триггеров базы данных и хранимых процедур;
- Бесплатная поддержка глобального сообщества Firebird. Что важно при разработке требований к базам данных.
Недостатки
- Интегрированная поддержка репликации не включена и доступна только в качестве дополнения;
- Нехватка временных таблиц и интеграции с другими системами управления базами данных;
- Аутентификация с проверкой подлинности Windows недостаточна по сравнению с решениями, доступными в других операционных системах.
Созданная разработчиками MySQL, MariaDB используется такими техническими гигантами, как Wikipedia, Facebook и даже Google. MariaDB – это сервер базы данных, который предлагает встраиваемую замену функционала MySQL. Безопасность является главным принципом и приоритетом разработчиков СУБД. В каждом релизе они добавляют все патчи безопасности MySQL и при необходимости улучшают их.
Достоинства
- Масштабируемость с простой интеграцией;
- Доступ в режиме реального времени;
- Основные функции MySQL (MariaDB является альтернативой MySQL);
- Альтернативные механизмы хранения, оптимизация серверов и патчи;
- Обширная база знаний по разработке баз данных SQL, накопленная в течение 20 лет работы MariaDB.
Недостатки
- Отсутствует плагин проверки сложности пароля;
- Отсутствует memcached интерфейс (распределённая система кэширования в оперативной памяти);
- Нет трассировки оптимизатора.
MongoDB была основана в 2007 году и известна как «база данных для великих идей». Проект финансируется такими известными инвесторами, как Fidelity Investments, Goldman Sachs Group, Inc., и Intel Capital. С момента своего создания MongoDB была скачена 20 миллионов раз и поддерживается более чем 1000 партнерами. Эти партнеры придерживаются принципа бесплатного решения с открытым исходным кодом.
Достоинства
- Проверка документов;
- Зашифрованный механизм хранения.
Популярные варианты использования:
- мобильные приложения;
- каталоги продуктов;
- управление контентом;
- Real-time Приложения с механизмом хранения в памяти (бета-версия);
- сокращает время между первичным сбоем и восстановлением.
Недостатки
- Не подходит для приложений, требующих сложных транзакций;
- Не подходит для устаревших приложений;
- Молодое решение: программное обеспечение меняется и быстро развивается.
Самый именитый представитель нашего обзора программ для разработки базы данных. MySQL существует с 1995 года и теперь принадлежит компании Oracle. СУБД имеет открытый исходный код. Также существует несколько платных версий, которые предлагают дополнительные функции, такие как гео-репликация кластера и автоматическое масштабирование.
Поскольку MySQL является отраслевым стандартом, она совместима практически со всеми операционными системами и написана на языках C и C ++. Это решение является отличным вариантом для международных пользователей. Сервер СУБД может выводить клиентам сообщения об ошибках на нескольких языках.
Достоинства
- Проверка на стороне сервера;
- Возможность локального использования;
- Гибкая система привилегий и паролей;
- Безопасное шифрование всего трафика паролей;
- Библиотека, которая может быть встроена в автономные приложения;
- Предоставляет сервер в качестве отдельной программы для сетевого окружения клиент/сервер.
Недостатки практической разработки и администрирования баз данных MySQL Приобретена компанией Oracle:
- пользователи полагают, что MySQL больше не подпадает под категорию бесплатного и открытого программного обеспечения;
- больше не поддерживается сообществом;
- пользователи не могут исправлять ошибки и патчи;
- проигрывает другим решениям из-за медленных обновлений.
PostgreSQL является еще одним выдающимся решением с открытым исходным кодом, работающим во всех основных операционных системах, включая Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) и Windows. PostgreSQL полностью отвечает принципам ACID (атомарность, согласованность, изолированность, устойчивость).
Достоинства
- Возможность создания пользовательских типов данных и методов запросов;
- Среда разработки баз данных выполняет хранимые процедуры более чем на десятке языков программирования: Java, Perl, Python, Ruby, Tcl, C/C ++ и собственный PL/pgSQL;
- GiST (система обобщенного поиска): объединяет различные алгоритмы сортировки и поиска: B-дерево, B+-дерево, R-дерево, деревья частичных сумм и ранжированные B+ -деревья;
- Возможность создания для большего параллелизма без изменения кода Postgres, например, CitusDB.
Недостатки
- Система MVCC требует регулярной «чистки»: проблемы в средах с высокой скоростью транзакций;
- Разработка осуществляется обширным сообществом: слишком много усилий для улучшений.
Провозгласившая себя самой распространенной СУБД в мире, SQLite зародилась в 2000 году и используется Apple, Facebook, Microsoft и Google. Каждый релиз тщательно тестируется. Разработчики SQLite предоставляют пользователям списки ошибок, а также хронологию изменений кода каждой версии.
Достоинства
- Нет отдельного серверного процесса;
- Формат файла – кросс-платформенный;
- Транзакции соответствуют требованиям ACID;
- Доступна профессиональная поддержка.
Недостатки
Не рекомендуется для:
- клиент-серверных приложений;
- крупномасштабных сайтов;
- больших наборов данных;
- программ с высокой степенью многопоточности.
Есть идеи?
Я пропустила что-то из существенных преимуществ или недостатков решений для разработки баз данных, перечисленных выше? Считаете, что есть лучшие альтернативные СУБД? Поделитесь своим мнением в комментариях.
Данная публикация представляет собой перевод статьи «The Top 7 Free and Open Source Database Software Solutions» , подготовленной дружной командой проекта Интернет-технологии.ру
Источник