Значительная часть программного обеспечения — будь то ПО для банков, страховых организаций, фондов, денежного рынка, платежных сервисов — разрабатывается на основе базы данных.
Но многие разработчики испытывают трудности при выборе подходящей БД: иногда лучший выбор действительно не очевиден. Если реляционные и нереляционные базы данных сразу приходят на ум, то о системах управления базами данных (СУБД) часто забывают или не знают разницу между ними.
Восполним этот пробел и простыми словами расскажем, какие решения существуют на рынке СУБД, из каких продуктов стоит выбирать и как сделать правильный выбор в соответствии с решаемыми задачами.
Вот список наиболее часто используемых СУБД:
- Реляционная СУБД.
- Графовая СУБД.
- Документная СУБД.
- Столбцовая СУБД.
- СУБД типа «Ключ — значение».
- СУБД временных рядов.
- СУПБД (система управления пространственными базами данных).
- Поисковая СУБД.
- Объектно-ориентированная СУБД.
В конце статьи приведена резюмирующая таблица с кратким описанием того, в каких случаях подходит конкретный тип СУБД и какие популярные решения существуют. Так что самые нетерпеливые могут перейти прямо к таблице.
Системы управления базами данных
Отметим, что у ряда крупных поставщиков имеется по нескольку типов СУБД — в виде отдельных продуктов или внутренних реализаций.
У Oracle, например, есть все: классическая реляционная БД; отдельный продукт Oracle NoSQL Database (нереляционная БД Oracle), применяющийся в качестве столбцовой, документной и базы данных типа «ключ — значение»; автономная база данных, ориентированная на хранилища данных; сервер для графов Oracle Graph Server и многие другие продукты.
Типы СУБД. Как выбрать правильный?
Реляционная СУБД
Это классическая система, которая чаще используется для создания OLTP-решений (обработка транзакций в реальном времени), когда СУБД работает с большим количеством маленьких транзакций. Системе требуется короткое время отклика и возможность отменять любые изменения, сделанные во время транзакции при определенных условиях.
Реляционная СУБД подойдет для создания системы, предназначенной для хранения значительного числа сущностей — таблиц — с различными типами отношений между ними (один к одному, один ко многим, многие ко многим).
Самые известные реляционные СУБД:
- Oracle;
- Microsoft SQL;
- PostgreSQL;
- MySQL;
- IBM DB2.
Когда следует выбирать реляционную базу данных?
Во-первых (1), при высокой нормализации данных. А во-вторых (2), при обработке большого количества коротких транзакций, среди которых немалый процент транзакций с вставкой.
Когда не следует выбирать реляционную СУБД?
Для хранения 1) неструктурированных данных и 2) очень простых структур «ключ — значение». Для первых лучше подойдет документная СУБД. А для вторых — специализированная СУБД типа «ключ — значение».
Системы управления базами данных. Типы баз данных. Видеоурок по информатике 9 класс
А еще 3) при необходимости часто обновлять значения в одних и тех же строках. Это дорого обойдется реляционной СУБД: чтобы сделать все корректно, понадобятся «танцы с бубном». Но при наличии умелого танцора (или когда вы точно знаете, как это делать) используйте реляционную СУБД.
Графовая СУБД
Это особый тип СУБД для работы с графами, их узлами и свойствами, а также произвольными отношениями между узлами.
Простой пример — создание приложений типа соцсетей, где нужно хранить соединения между пользователями (узлами) в соответствии с критериями: общие интересы, коллеги, родственники.
Самые известные графовые СУБД:
- Neo4j;
- Amazon Neptune;
- InfiniteGraph;
- InfoGrid.
Когда следует выбирать графовую базу данных?
1) При создании соцсети или реализации рейтинговой и рекомендательной системы и 2) при глубоком понимании графов и их назначения.
Когда не следует выбирать графовую базу данных?
Почти во всех остальных случаях.
Документная СУБД
Документная или документоориентированная СУБД — это одна из самых популярных разновидностей нереляционных СУБД. В качестве базовой единицы логической модели данных у нее структурированный текст со специфическим синтаксисом (документ).
Считается, что модели данных документных и объектно-ориентированных БД аналогичны. Это так, хотя разница все же есть: документные БД не хранят поведение объектов, а только их состояние. Документные СУБД активно развиваются — некоторые даже поддерживают проверку схемы.
Самые известные документные СУБД:
- CouchDB;
- MongoDB;
- Amazon DocumentDB.
Когда следует выбирать документную БД?
У документной СУБД широкий диапазон применения: от 1) компактной БД для одного микросервиса до 2) крупномасштабных решений в качестве хранилища состояния.
Лучше хранить объекты в одной сущности, но с разными структурами. Кстати, очень полезны они и 3) для хранения структур (включая объекты, списки и словари), особенно в JSON-подобном формате.
Когда не следует выбирать документную СУБД?
Документная система не подходит для реализации модели транзакций и, конечно, это не лучшее решение для формирования отчетов.
Столбцовая СУБД
Столбцовая СУБД очень непохожа на реляционную: хотя так же состоит из сгруппированных в таблицы строк с атрибутами и по логической модели мало чем от нее отличается — на уровне физического хранилища имеет существенные различия.
Реляционная СУБД хранит данные построчно. То есть для считывания значения конкретного столбца приходится считывать почти всю строку — от первого до этого столбца.
Столбцовая СУБД хранит данные по столбцам. То есть столбец предстает в виде отдельной таблицы. А считывание выполняется прямо из конкретного столбца. На самом деле работает очень быстро — протестировано на нескольких реализованных хранилищах данных.
Преимущества столбцовой СУБД:
- эффективно выполняет сложные аналитические запросы для большого объема данных;
- простое и почти мгновенное реструктурирование таблиц с данными;
- существенное сжатие, которое экономит много места.
Самые известные столбцовые СУБД:
- Sybase IQ (SAP IQ);
- Vertica;
- ClickHouse;
- Google BigQuery;
- InfoBright;
- Apache Druid.
Когда следует выбирать столбцовую БД?
1) При создании хранилища данных и осуществлении выборки со сложными аналитическими вычислениями. 2) Когда количество запрашиваемых строк превышает сотни миллионов.
Когда не следует выбирать столбцовую СУБД?
1) Когда количество строк в таблице, из которой делаются запросы, меньше сотен миллионов. Здесь у столбцовой СУБД перед реляционной преимуществ будет немного.
2) Когда запросы достаточно простые и со статичными параметрами. В этом случае — учитывая специфику системы — столбцовая СУБД будет неэффективна.
К тому же у столбцовой СУБД есть и другие ограничения. Например, язык запросов может отличаться от классического SQL или отсутствует поддержка транзакций.
СУБД типа «ключ — значение»
Это одна из простейших СУБД, что-то вроде таблицы с уникальным ключом и связанным значением, в котором может быть что угодно. Такие СУБД чаще всего используются для кеширования, потому что они быстры — ведь есть уникальный ключ и запрос возвращает только одно значение.
Некоторые СУБД типа «ключ — значение» полностью работают в памяти, а другие устанавливают для записи время жизни, по истечении которого запись автоматически удаляется.
Самые известные СУБД типа «ключ — значение»:
Когда следует выбирать БД типа «ключ — значение»?
Она идеальна, когда 1) необходимо кеширование данных или брокеры сообщений и когда 2) надо хранить довольно простые структуры с быстрым доступом к ним.
Когда не следует выбирать БД типа «ключ — значение»?
Когда 1) в БД хранится много сущностей (таблиц), имеющих сложные структуры с разными типами данных. Когда 2) надо выполнять сложные запросы, возвращающие много строк.
СУБД временных рядов
Эта СУБД оптимизирована для хранения данных с метками времени или данных временных рядов. Данные временных рядов содержат измерения или события, которые отслеживаются, собираются или объединяются за определенный период времени.
Это данные с датчиков отслеживания движения, метрики JVM из приложений на Java, данные о рыночной торговле, сетевые данные, ответы от API, время безотказной работы процесса и т. д.
Данные хранятся с метками времени — это ключевая особенность — и индексируются и записываются так, чтобы данные этого временного ряда запрашивались намного быстрее, чем при использовании в классической реляционной БД.
Самые известные СУБД временных рядов:
Когда следует выбирать СУБД временных рядов?
Основная область применения таких СУБД — мониторинг, обработка телеметрии и финансовые системы.
Когда не следует выбирать СУБД временных рядов?
Воздержитесь от использования такой СУБД в задачах, не связанных с временными рядами и метками времени.
Объектно-ориентированная СУБД
Эта СУБД предназначена для хранения и обработки объектов. Как и в ООП (объектно-ориентированном программировании), у этих объектов в СУБД есть свойства и методы. И они тоже реализуют инкапсуляцию и полиморфизм.
Главная цель применения объектно-ориентированной СУБД — облегчить жизнь разработчикам, использующим модель объектного программирования. Им не придется преобразовывать объекты в таблицы и строки со связями и обратно.
Самые известные объектно-ориентированные СУБД:
- MongoDB Realm ;
- InterSystems Caché ;
- ObjectStore ;
- Actian NoSQL DB ;
- Objectivity/DB .
Когда следует выбирать объектно-ориентированную СУБД?
Вообще-то не доводилось видеть много успешных реализаций с такими СУБД. Объектно-ориентированные базы данных обычно рекомендуется использовать при 1) высокопроизводительных манипуляциях с объектами, имеющими сложную структуру.
В то же время разработка 2) предполагает применение объектно-ориентированных языков программирования. Объектно-ориентированные БД распространены в системах реального времени, архитектуре и инженерии для 3D-моделирования, телекоммуникациях и научных продуктах, молекулярной науке и астрономии.
Когда не следует выбирать объектно-ориентированную СУБД?
1) При использовании классического языка SQL, 2) когда не применяется ООП или 3) при переходе на другую БД. И 4) при отсутствии глубокого понимания ООП. Тогда стоит выбрать документную СУБД.
Поисковая СУБД
Этот тип СУБД используется для осуществления полнотекстового поиска. А также поиска по различным данным, например из других БД, электронной почты, RSS-канала, текста, JSON, XML, CSV и даже PDF и документам MS Office.
Поисковая СУБД имеет собственные оптимизированные подходы к индексированию данных, в том числе использование так называемых инвертированных и фасетных индексов для поиска почти в реальном времени.
Различные СУБД этого типа применяют разные языки запросов.
Самые известные поисковые СУБД:
Когда следует выбирать поисковую СУБД?
Идеальные примеры — подходящие для быстрого полнотекстового поиска в различных источниках данных системы сбора и поиска по журналам структурированных, полуструктурированных и неструктурированных данных.
Когда не следует выбирать поисковую СУБД?
При поиске по ограниченному числу полей структурированных данных.
СУПБД (система управления пространственными базами данных)
Этот тип СУБД оптимизирован для работы с объектами, определенными в геометрическом пространстве — как простыми (точки, кривые, многоугольники), так и сложными (3D-объекты, топологическое покрытие, линейные сети).
СУПБД имеет набор специальных функций для обработки создания, преобразования, измерения (расстояние, площадь, объем), вычисления (пересечение/контакт) и выбора на основе определенных критериев. И содержит специальные индексы, оптимизирующие обработку объектов, и особый стандартизированный язык SQL/MM.
Самые известные СУПБД:
Когда следует выбирать СУПБД?
При создании ГИС-решений — не только для хранения, но и для работы с геометрическими объектами на уровне СУПБД.
Когда не следует выбирать СУПБД?
Для хранения геометрических объектов в качестве координат.
Определиться с выбором СУБД бывает нелегко, ведь их так много! Надеемся, вы немного прояснили для себя этот вопрос и теперь легко выберите подходящую.
Хотите создать сложное решение? Тогда понадобится несколько типов СУБД. И не торопитесь с выбором поставщиков СУБД: обычно это тема второстепенная.
Выбирайте тип СУБД на основе следующих трех факторов:
- тип решаемых задач;
- типы обрабатываемых данных;
- перспективы роста и масштабирование.
Обратите внимание на популярные СУБД — такой выбор гарантирует наличие большого разнообразия инструментов разработки и единомышленников, которые помогут быстро найти решение возникающих вопросов.
В таблице в сжатом виде собрано все, что описывалось в статье:
Источник: dzen.ru
Программные системы управления базами данных SQL, какую систему управления базами данных SQL выбрать
База данных
На чтение 7 мин Просмотров 905 Опубликовано 08.04.2020
Легко отслеживать данные, используя простую электронную таблицу, верно? До определённого момента это так. Однако ситуации очень разные, когда вы работаете с информацией о десяти элементах, и, скажем, о нескольких тысячах. Поэтому, рано или поздно вы начнёте искать более разумные решения для хранения данных. Это где системы управления базами данных входят.
Весьма распространено разделять все системы управления базами данных на две группы в зависимости от того, можете ли вы использовать для них SQL. В этой статье мы познакомим вас с теми, кто его поддерживает.
Немного терминологии
Прежде чем мы начнём изучать мир систем управления базами данных, мы должны убедиться, что мы полностью понимаем, с чем мы имеем дело. Прежде всего, у нас есть данные. Разработчики используют этот термин для определения всей информации, которая хранится в памяти компьютера. Например, веб-сайт электронной коммерции обычно хранит данные, относящиеся к пользователю. Такие как его имя, адрес, заказы и, возможно, банковская информация.
Вводя свои данные на веб-странице, пользователь отправляет свои данные на свой сервер, который затем сохраняет их в базе данных . Без него было бы трудно получить доступ к данным и использовать их: база данных — это то, что вносит в структуру. Это система, в которой вы можете хранить, обновлять, манипулировать и получать доступ к вашим данным. Проще говоря, каждая база данных состоит из данных и метода для удобного доступа к нему.
Теперь, что такое система управления базами данных (СУБД для краткости)? Это особый вид программного обеспечения, которое вы используете для создания ваших баз данных и управления ими. Можно сказать, что система управления базой данных является посредником между базой данных и пользователем или приложением, которое использует её данные.
Хотя существуют различные модели, большинство согласен, что системы управления реляционными базами данных являются самыми популярными. Данные, которые они содержат, должны быть связаны по своей природе. Стандартный способ работы с такими базами данных — использование SQL — языка структурированных запросов. Когда предлагается указать несколько примеров систем управления реляционными базами данных, большинство из них упоминают наиболее известные из них: MySQL, Oracle, Microsoft SQL Server и PostgreSQL. Все они были написаны на C или C ++.
MySQL: титан индустрии
Размышляя о системах управления базами данных SQL, большинство пользователей инстинктивно думают о MySQL . Это естественно: не только само имя содержит «SQL», но и является самой популярной системой в мире. Дэвид Аксмарк и Майкл «Монти» Видениус начали работать над ним в 1994 году и сделали первую версию доступной для публики в 1995 году. С тех пор MySQL стал отраслевым стандартом. Список его нынешних клиентов содержит такие известные имена, как NASA, Tesla, GitHub, Facebook и целый ряд других гигантов. Более того, MySQL прост и абсолютно бесплатен для загрузки и использования. Разработчики также хвалят его хорошо написанную и обширную документацию .
С 2010 года MySQL принадлежит корпорации Oracle. Это приобретение вызвало огромный шум , так как общественность боялась, что Oracle положит конец MySQL. Майкл «Монти» Видениус даже начал работать над заменой системы управления базами данных, создав новую ветвь MySQL того времени и назвав её MariaDB. Однако, несмотря на беспокойство, Oracle сохранил MySQL бесплатно и с открытым исходным кодом. Он легко остался на вершине благодаря уникальным функциям, которые никогда не были представлены в MariaDB . Крупная компания, владеющая и поддерживающая систему, сделала её ещё более надёжной.
Самая последняя версия — MySQL 8.0, опубликованная в 2018 году. Команда выпускает небольшие обновления каждые два или три месяца. В новейшей версии обновлено управление безопасностью, шифрованием учётных записей, ресурсов и таблиц, а также словарь транзакционных данных. Большинство компаний ценят MySQL как очень масштабируемый и достаточно надёжный для обработки огромных объёмов данных. Кроме того, он хорошо работает на многих различных платформах, включая, помимо прочего, Microsoft Windows, macOS и Linux.
Oracle: один шаг вперёд
До того, как корпорация Oracle приобрела MySQL, у неё также была своя собственная система управления реляционными базами данных, называемая Oracle Database или просто Oracle . Первоначально выпущенный в 1979 году, теперь в версии 19с, представленный в 2019 году буква С в названии обозначает облака.
Сравнивая MySQL и Oracle, вы заметите, что последний может предложить гораздо больше. Он поддерживает формат XML, имеет больше типов данных, больше возможностей хранения, улучшенную безопасность и хранилище аудита. И это ещё не всё! В 2018 году Ларри Эллисон представил версию 18c как первую полностью автономную систему управления базами данных.
Обладая мощными возможностями машинного обучения, новый Oracle способен выполнять множество задач без вмешательства человека, что снижает риск ошибок. Компания представляет новейшую версию как самоходную, самозащищающуюся и самовосстанавливающуюся . Трудно не согласиться с тем, что это огромный шаг к максимальной безопасности и простоте использования.
Тем не менее, впечатляющие функции имеют свою цену. Самое большое различие между MySQL и Oracle заключается в том, что, MySQL является бесплатным и открытым исходным кодом, Oracle является коммерческим продуктом. Есть несколько вариантов оплаты , в зависимости от ваших потребностей. Существует также бесплатная версия Oracle Database Express Edition , но у неё есть определённые ограничения: вы не можете иметь более двенадцати гигабайт пользовательских данных, два гигабайта оперативной памяти и три три подключаемых базы данных.
Microsoft SQL Server: гибкость за цену
Другая популярная система управления реляционными базами данных называется Microsoft SQL Server. Первоначально группа выпустила его в 1989 году, а в 1998 году представила несколько основных обновлений с версией 7.0. К настоящему моменту существуют две последние версии : база данных SQL Azure 12.0 (2014) и SQL Server 2017. Смущены? Позвольте нам объяснить.
Для удовлетворения потребностей пользователей с различными потребностями и предпочтениями SQL Server предлагает несколько разных выпусков. Помимо основных выпусков (Standard, Enterprise, Web, Express и некоторых других), существуют специализированные. Azure может быть одним из самых популярных. Что отличает его от простых типов, так это то, что он полностью основан на облаке.
Редакция Developer в основном такая же, как Enterprise, но не может использоваться в качестве рабочего сервера. Список выпусков можно продолжать и продолжать — важно отметить, что Developer и Express — единственные две версии, которые можно использовать бесплатно. Чтобы воспользоваться всеми преимуществами Microsoft SQL Server, вам нужно будет заплатить — и затраты тоже не низкие .
SQL Server прост в использовании, кроме того, он обнаруживает и загружает любые доступные обновления автоматически. После начальной установки вы также можете добавить дополнительные компоненты. Вы можете использовать эту систему управления базами данных на одном из нескольких языков на нескольких платформах . Кроме того, SQL Server содержит подробную документацию и удобные функции сообщества, такие как форумы и даже блог технической поддержки .
PostgreSQL: поздний расцвет
Система управления базами данных PostgreSQL может показаться самой молодой из всех. Команда Калифорнийского университета в Беркли официально опубликовала её только в 1997 году. Однако первые шаги в её разработке были сделаны ещё в 1982 году.
Сначала был проект Ingres. Однако, вскоре, как это было сделано, команда заметила несколько явных проблем в использовании систем управления реляционными БД. Поэтому три года спустя Майкл Стоунбрейкер, начал разработку того, что тогда называлось Postgres (Post Ingres). Его проект претерпел множество обновлений и улучшений. В 1994 году он начал поддерживать SQL и был переименован в PostgreSQL в 1996 году.
В январе следующего года он был наконец выпущен для общественности. На данный момент последней версией является PostgreSQL 12.0 , которая была опубликована осенью 2019 года.
По сравнению с другими СУБД PostgreSQL обладает большинством функций , плюс он надёжен и довольно быстр. Хотя это выбор по умолчанию для баз данных на сервере MacOS. Его можно использовать во всех основных операционных системах. PostgreSQL также довольно уникален с точки зрения расширяемости. Вы можете создавать свои собственные функции и типы данных.
Он поддерживает множество языков программирования, включая C, C ++, Java, JavaScript, Python и другие.
Заключение
Как видите, каждая система управления реляционными базами данных имеет свои плюсы и минусы. Выбор правильного зависит от ваших приоритетов. Вам нужно, чтобы он был бесплатным, или вы предпочитаете платить и получать больше возможностей? Вы предпочитаете облачные решения или хотите попробовать автономную систему? Выбор остаётся за вами.
Источник: bestprogrammer.ru
Виды баз данных
База данных (БД) — это набор структурированной информации, хранящейся в электронном виде. Как правило, БД управляются системой управления базами данных — СУБД. В самых распространенных типах БД информация структурируется с помощью строк и таблиц. Это упрощает работу с данными: управление, изменение, обработку и обновление.
Существует много типов БД, мы опишем только самые популярные.
Иерархические базы данных
Иерархические базы имеют древовидную схему, где единый ствол порождает множество расходящихся ветвей. В такой структуре данные структурируются согласно отношениям родитель-потомок. Схематично это похоже на папки на рабочем столе компьютера — у каждой записи есть физическая связь только с одной предыдущей, а отношение многих ко многим невозможно.
Так как структура БД иерархична, каждая запись дерева данных должна иметь хотя бы одного родителя. Пользователь получает доступ к данным, следуя структуре, всегда инициируемой из корня древа или первого родителя.
Преимущества
Отношения родитель-потомок обеспечивают целостность данных. Каждое изменение, сделанное в родительской таблице, автоматически обновляется и в дочерней таблице.
Еще одно преимущество иерархических баз данных — высокий уровень безопасности.
Недостатки
Жесткая иерархия усложняет работу с данными. Если родительская и дочерняя таблицы не связаны между собой, то добавление новой записи в дочернюю таблицу усложняется, потому что ее необходимо добавить и в родительскую таблицу.
Изменение структуры БД приводит к изменению всех прикладных программ, которые с ней работают.
Иерархическая БД поддерживает отношения один к многим и не поддерживает отношения многие к многим.
Реляционные базы данных
Это самый распространенный тип БД. Реляционная модель распределяет данные по таблицам. В каждом столбце таблицы указывается атрибут объекта, о котором идет речь, например, цена, почтовый индекс или дата рождения. Вместе атрибуты называются доменом. Конкретный атрибут или комбинация атрибутов выбирается в качестве первичного ключа.
Когда на ключ ссылаются другие таблицы, то он называется внешним ключом.
В отличие от иерархических, реляционные БД поддерживают не только модель один к многим, но и многие ко многим. Вдобавок любое изменение в нескольких таблицах БД влияет и на остальные таблицы. Благодаря этому, реляционная БД сохраняет целостность данных во всех приложениях и копиях БД.
Для запросов БД использует язык запросов SQL, что упрощает работу с данными.
Преимущества
В отличие от других типов БД, реляционная обеспечивает целостность очень больших объемов данных. Это критически важно для операционной деятельности бизнеса, например, банковской сферы с миллионами ежедневных транзакций.
Реляционная БД предоставляет доступ для нескольких сотрудников одновременно, с возможностью настройки уровней доступа.
Недостатки
Для обеспечения целостности данных реляционная БД использует длительные и кратковременные блокировки. Это приводит к задержкам и недоступности данных на некоторое время.
Реляционная база данных требует большого объема физической памяти. Кроме того, сравнительно с другими БД, у нее невысокая производительность. И чем больше объем БД, тем медленнее обрабатываются запросы.
Организация, хранение и обработка слабо структурированных или неструктурированных данных из разных источников достаточно трудная задача.
Нереляционные базы данных или базы данных NoSQL
В отличие от реляционных, NoSQL БД не используют табличную схему строк и столбцов и поэтому способны обрабатывать неструктурированные данные. Вместо таблиц БД применяют несколько моделей, в зависимости от типа обрабатываемых данных. Рассмотрим модели подробнее.
Документоориентированные базы данных
Такой тип БД управляет так называемым документом: набором значений и данных объекта. Важно, что один документ может содержать сведения, которые в реляционной СУБД обычно распределяются по нескольким реляционным таблицам. Вдобавок документоориентированные БД не требуют, чтобы все документы имели одинаковую структуру. Доступ к документам дается через ключ — уникальный идентификатор документа.
Колоночные базы данных
Такие БД упорядочивают данные по столбцам и строкам, подобно тому, как это делается в реляционной базе данных. Столбцы разделяются на группы, в каждую включен набор логически связанных столбцов, которые извлекаются или управляются как единое целое.
Графовые базы данных
Такой тип БД делит данные на два типа: узлы и ребра. Узлами называются объекты, а ребрами — связи между ними и направления этих связей.
Графовые базы данных помогают быстро анализировать огромное количество данных со сложными связями.
Другие типы баз данных NoSQL:
- Базы данных временных рядов.
- Объектные базы данных.
- Базы данных внешних индексов.
- Базы данных «Ключ — значение» .
Преимущества
NoSQL БД обладают высокой гибкостью, способны хранить обрабатывать как структурированные, так и неструктурированные данные. Кроме того, такие БД быстро масштабируются с ростом количества данных, сохраняя высокую производительность.
Недостатки
Отсутствие единого общепризнанного стандарта, определяющего правила и роли баз данных NoSQL. Структура и языки запросов сильно различаются в разных продуктах NoSQL.
У NoSQL БД могут быть проблемы с обработкой информации, требующей строгой согласованности во всем наборе данных.
Объектно-ориентированная база данных
Объектно-ориентированные базы данных — это постреляционная модель БД. Она включает в себя таблицы, но не ограничивается ими. В таких БД информация хранится в виде набора объектов или программных элементов многократного использования.
Объектно-ориентированные базы данных делятся на несколько видов:
- База данных мультимедиа включает мультимедийные данные, например, изображения, что невозможно в реляционной базе данных.
- База данных гипертекста позволяет любому объекту ссылаться на любой другой объект. Это полезно для организации множества разрозненных данных, но не идеально для численного анализа.
Преимущества
Объектно-ориентированная модель БД помогает точнее моделировать «реальный мир» и работать объектами, с которыми трудно справиться другим типам БД.
БД позволяют создавать новые типы данных из уже существующих, выделять общие свойства нескольких классов и сформировать из них суперкласс, который можно использовать совместно с подклассами. Это помогает уменьшить избыточность внутри системы и считается одним из основных преимуществ объектно-ориентированного подхода.
В них можно хранить самые разные типы данных, например, изображения и видео.
Недостатки
У большинства пользователей еще мало опыта работы с такими БД, вдобавок работу с ними усложняет отсутствие универсальной модели данных и общепризнанного языка запросов.
Невозможно разграничить доступ пользователей к отдельным объектам или классам.
Системы управления базами данных — СУБД
СУБД — это ПО для создания и управления базами данных.
Самые популярные СУБД
Российские СУБД
Ведущими поставщиками СУБД являются IBM, Oracle и Microsoft. Сейчас доступ к иностранным СУБД из России ограничен, поэтому корпоративные заказчики стали переходить на российские разработки: Postgres Pro, Arenadata DB и СУБД Ред База Данных. Важно понимать, что выбор СУБД в каждом случае зависит от приложений, которыми она будет управляться, поэтому выбор СУБД — привилегия разработчика, а не пользователя.
Postgres Pro
Объектно-реляционная СУБД Postgres Pro разработана компанией Postgres Professional с использованием свободно распространяемой СУБД PostgreSQL и значительно переработана под требования корпоративного сегмента. Входит в реестр российского ПО.
Arenadata DB
Реляционная СУБД Arenadata DB (ADB) — построена на свободно распространяемой СУБД Greenplum. Входит в реестр российского ПО.
СУБД Ред База Данных
Реляционная СУБД, основанная на свободно распространяемой СУБД Firebird. Входит в реестр российского ПО.