Какие продукты относятся к локальным субд

Умение выбрать СУБД важно при разработке любого ПО. Мы собрали 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 | 
А какую СУБД предпочитаете вы? Аргументируйте свой выбор 😉
Источник
|  Классификация СУБДПо способу доступа к БД:         ·             В файл-серверных СУБД файлы данных         ·             Клиент-серверная СУБД располагается ·             Встраиваемая СУБД — СУБД, которая По степени распределённости:     ·         По модели данных, примеры:     ·         ЧТО ТАКОЕ ПРАВИЛЬНАЯ БАЗА ДАННЫХ?     Стоит запомнить  два общих принципа построения “правильной     Таблица находится в третьей нормальной форме, если | 
Источник
По модели данных¶
Иерархические¶
Используется представление базы данных в виде древовидной (иерархической) структуры,
 состоящей из объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов
 более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню)
 к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет
 потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок.
 Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре
 данных дерево устоялось название братья).
Иерархической базой данных является файловая система, состоящая из корневого каталога,
 в котором имеется иерархия подкаталогов и файлов.
Примеры: Caché, Google App Engine Datastore API.
Сетевые¶
Сетевые базы данных подобны иерархическим, за исключением того,
 что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.
Примеры: Caché.
Реляционные¶
Практически все разработчики современных приложений,
 предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД.
 По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым
 приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов.
 В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft,
 с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2
 и Microsoft SQL Server.
Объектно-ориентированные¶
Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.
Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в
 объектно-ориентированных языках программирования. ООСУБД расширяет языки программирования, прозрачно
 вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и
 другие возможности.
Примеры: GemStone.
Объектно-реляционные¶
Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности
 объектно-ориентированного подхода: бъекты, классы и наследование.
Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными.
В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД.
Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server.
По степени распределённости¶
- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
- Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
По способу доступа к БД¶
Файл-серверные¶
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере.
 СУБД располагается на каждом клиентском компьютере (рабочей станции).
 Доступ СУБД к данным осуществляется через локальную сеть.
 Синхронизация чтений и обновлений осуществляется посредством файловых блокировок.
 Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера.
 Недостатки: потенциально высокая загрузка локальной сети;
 затруднённость или невозможность централизованного управления;
 затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность,
 высокая доступность и высокая безопасность.
 Применяются чаще всего в локальных приложениях, которые используют функции управления БД;
 в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей,
 а её использование в крупных информационных системах — недостатком.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверные¶
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД
 непосредственно, в монопольном режиме.
 Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.
 Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу.
 Достоинства: потенциально более низкая загрузка локальной сети;
 удобство централизованного управления;
 удобство обеспечения таких важных характеристик как высокая надёжность,
 высокая доступность и высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server,
 Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемые¶
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта,
 не требуя процедуры самостоятельной установки.
 Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не
 рассчитана на коллективное использование в сети.
 Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки.
 Доступ к данным со стороны приложения может происходить через SQL либо через специальные
 программные интерфейсы (API).
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Стратегии работы с внешней памятью¶
- СУБД с непосредственной записью — это СУБД, 
 в которых все измененные блоки данных незамедлительно записываются во внешнюю память
 при поступлении сигнала подтверждения любой транзакции.
 Такая стратегия используется только при высокой эффективности внешней памяти.
- СУБД с отложенной записью — это СУБД, в которых изменения аккумулируются в буферах 
 внешней памяти до наступления любого из следующих событий:- контрольной точки;
- конец пространства во внешней памяти, отведенное под журнал.
 СУБД выполняет контрольную точку и начинает писать журнал сначала, затирая предыдущую информацию;
- останов. СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во внешнюю
 память, после чего делает отметки, что останов базы данных выполнен корректно;
- при нехватке оперативной памяти для буферов внешней памяти.
 
Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить
 эффективность работы СУБД.
Источник
