Какие есть базы данных список
Перейти к содержимому

Какие есть базы данных список

  • автор:

Базы данных и СУБД, список лучших баз данных

Большинству сайтов база данных необходима. Исключение – одностраничники, сайты-визитки и другие подобные ресурсы со статичной, редко изменяемой информацией, которую можно прописать прямо в файлах сайта.

Что такое СУБД

Системой управления базой данных (СУБД) называют программное обеспечение, с помощью которого можно управлять данными в базе – изменять их, удалять, добавлять, отбирать по определенным признакам для отображения на сайте и т. д. Чаще всего, когда говорят о базе данных, подразумевают не только набор информации, но и систему управления этими данными – то есть комплекс этих понятий.

СУБД для веб-проектов делятся на два основных типа:

  • Реляционные БД. Информация в них структурирована с помощью строк и столбцов, собранных в таблицы. Это старый, удобный и наиболее распространенный тип баз данных.
  • Нереляционные БД. Их еще называют noSQL, так как управление данными в них происходит не только с помощью языка запросов SQL. Информация в этих БД структурирована не таблицами, а по совершенно другим принципам. Например, базы данных для социальных сетей часто имеют структуру графов, а нереляционные БД для кеширования – структуру «key-value». NoSQL БД чаще всего используются на очень больших проектах, где есть необходимость работы с Big Data.

Сайт может иметь и несколько баз данных,например основную реляционную (для хранения основных данных) плюс БД типа «ключ-значение» (для быстрой обработки запросов).

Как устроены и работают базы данных для сайта

Заглянем краем глаза в СУБД условного интернет-магазина. Все товары в базе данных собраны в единую таблицу product, где каждая строка – это отдельный товар, а столбцы – различные признаки этого товара. Отдельно есть таблица category-product, в которой прописаны отношения «товар-каталог» – то есть то, к какой категории относится каждый товар. Пример структуры условный, так как она может отличаться для разных БД и CMS.

Что происходит, когда пользователь заходит на страницу каталога (например, «Стиральные машины»)? А происходит вот что:

  • Код в файле, который отвечает за отображение страницы каталога, обращается к СУБД сайта с помощью специального языка запросов (SQL, Structured Query Language) и выбирает список всех товаров в таблице category-product, которые относятся к категории «Стиральные машины».
  • Далее происходит обращение по каждому товару из этого списка в таблицу product и «вытягиваются» данные для отображения товара на сайте:его наименование, артикул, краткое описание, ссылка на картинку товара и т. п., смотря что запрограммировано отображать на странице каталога.

Примерно так же происходит взаимодействие движка сайта и его БД на всех страницах.

Обратите внимание, как с помощью БД обеспечивается актуальность информации на сайте. Как только вы внесли изменение в базу данных (например, изменили наименование товара), у всех пользователей на странице будет отображаться новое наименование (конечно, после перезагрузки страницы и с поправкой на кэш браузера).

Также в базу данных может записываться информация, которую посетитель сайта вводит в различные формы – данные регистрации, адрес доставки и тому подобное.

Как выбрать систему управления базами данных для веб-проекта?

Ниже мы рассмотрим преимущества и недостатки 4 самых популярных СУБД для сайтов. Все это реляционные СУБД, они используются в подавляющем большинстве веб-проектов.

Отметим, что на практике часто решающим фактором становятся не плюсы и минусы определенной СУБД, а такие вещи, как:

  • данная БД установлена у хостера по умолчанию, есть удобные и простые инструменты для работы с ней;
  • у вас есть эксперт (штатный сотрудник, фрилансер, организация), который может предоставить качественное сопровождение этой БД – разработку под нее, оптимизацию скорости и т. п.

SQLite

SQLite

Облегченная СУБД, которая работает не по принципу «клиент-сервер», как большинство других систем управления базами данных, а по принципу встроенной библиотеки. Вся база располагается в одном файле, на той же машине, где размещено основное приложение.

  • бесплатная;
  • кроссплатформенная;
  • за счет встроенности и файловой структуры обеспечивает высокую скорость выполнения простых операций, таких как чтение-запись;
  • легко переносится в другое место, так как представляет собой один файл;
  • поддерживает все основные стандарты SQL.
  • нет разграничений прав пользователей для доступа к данным;
  • слабая производительность – SQLite подходит только для небольших проектов.

MySQL

MySQL

Самая популярная СУБД, с которой работает большинство небольших и средних проектов. Благодаря оболочке phpMyAdmin управлять ею можно даже с помощью визуальных инструментов, а не только SQL-запросов.

  • бесплатная, есть и коммерческая лицензия, но многим хватает и бесплатного функционала;
  • имеет больше функций и возможностей, чем SQLite;
  • кроссплатформенная;
  • довольно надежная и отказоустойчивая;
  • хорошая скорость работы.
  • не полностью стандартизирована под SQL, поэтому некоторых возможностей в ней нет и могут возникнуть сложности при «переезде» на другую СУБД;
  • имеет определенные ограничения, которые могут ощущаться, если у вас крупный проект.

PostgreSQL

PostgreSQL

СУБД PostgreSQL полностью стандартизирована под Structured Query Language. Благодаря этому она наиболее продвинута, по сравнению с другими бесплатными аналогами, но по этой же причине – более сложная и непопулярная.

  • полная совместимость с SQL – никаких проблем при смене РСУБД, а также множество функций и возможностей настройки;
  • поддержка объектно-ориентированных компонентов (JSON);
  • хорошая производительность и масштабируемость, PostgreSQL способна быстро обрабатывать большие объемы данных;
  • высокие показатели надежности;
  • бесплатная;
  • есть сообщество, в котором можно получить поддержку и ответы на вопросы.
  • на простых операциях показывает скорость обработки хуже, чем та же MySQL. Это обратная сторона полного соответствия SQL-стандартам;
  • сложно найти специалиста, умеющего работать с этой базой данных;
  • поддерживается не каждым хостингом.

Oracle

Oracle

Платная СУБД с высоким уровнем буквально всего: отказоустойчивости, стандартизации, внедрения новых методов и инструментов, скорости работы, масштабируемости и т. д.

  • эталон надежности и производительности;
  • поддерживает все новые инструменты и стандарты Structured Query Language.
  • высокая стоимость, доступная не каждому бизнесу;
  • высокая требовательность к ресурсам.

Заключение

Кратко подытожим советы по выбору базы данных для вашего проекта:

  • Небольшие сайты с малой посещаемостью вполне могут обойтись простой SQLite.
  • Большинству проектов с простыми операциями подойдет MySQL. При необходимости можно нанять эксперта, который поможет оптимизировать ее скорость.
  • Если для вас важна надежность и (или) на вашем проекте будут выполняться сложные операции, лучше остановиться на PostgreSQL (при наличии хорошего специалиста по работе с ней).
  • При наличии крупных проектов с огромными базами данных, расширенной функциональностью, высокими требованиями к отказоустойчивости нужно смотреть в сторону Oracle.

Что такое СУБД

Система управления базами данных (СУБД) – это комплекс программно-языковых средств, позволяющих создать базы данных и управлять данными. Иными словами, СУБД — это набор программ, позволяющий организовывать, контролировать и администрировать базы данных. Большинство сайтов не могут функционировать без базы данных, поэтому СУБД используется практически повсеместно.

  • Подробнее о СУБД
  • SQL и реляционные БД: почему в них важно разбираться
  • Наиболее популярные СУБД

Подробнее о СУБД

Основные функции СУБД:

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти с использованием дискового кэша;
  • журнализация изменений (сохранение истории), резервное копирование и восстановление базы данных после сбоев;
  • поддержка языков БД (язык определения данных, язык манипулирования данными).

Каждая СУБД основывается на какой-либо модели данных, это является одним из признаков классификации. По модели данных СУБД бывают:

  1. Иерархические. В этой модели данных используется представление БД в виде древовидной структуры, состоящей из данных разных уровней.
  2. Сетевые. Данная модель является расширением иерархического подхода. Иерархическая модель подразумевает, что запись-потомок может иметь строго одного предка, в то время как в сетевой структуре потомок может иметь любое количество предков.
  3. Реляционные. СУБД, ориентированные на организацию данных как набор связанных записей и атрибутов в двумерной таблице.
  4. Объектно-ориентированные. Для управления БД, основанными на объектной модели данных. Как правило основываются на объектно-ориентированных языках программирования.
  5. Объектно-реляционные. Объединяет в себе концепции реляционной модели с дополнительными объектно-ориентированными возможностями.

SQL и реляционные БД: почему в них важно разбираться

Сегодня по-прежнему наиболее популярными при создании веб-приложений и сервисов остаются реляционные базы данных. Для управления реляционными базами данных используется язык SQL (Structured Query Language — структурированный язык запросов). Изначально SQL был инструментом работы пользователя с базой данных, однако со временем язык усложнился и стал скорее инструментом разработчика, чем конечного пользователя.

Наиболее популярные СУБД

Различные рейтинги самых популярных СУБД возглавляют Oracle, MySQL , Microsoft SQL Server, PostgreSQL.

MySQL

Считается одной из самых распространенных СУБД. MySQL — реляционная СУБД с открытым исходным кодом, главными плюсами которой являются ее скорость и гибкость, которая обеспечена поддержкой большого количества различных типов таблиц.

Кроме того, это надежная бесплатная система с простым интерфейсом и возможностью синхронизации с другими базами данных. В совокупности эти факторы позволяют использовать MySQL как крупным корпорациям, так и небольшим компаниям.

Microsoft SQL Server

Как следует из названия, фирменная СУБД, разработанная Microsoft. Оптимальная для использования в операционных системах семейства Windows, однако может работать и с Linux.

Система позволяет синхронизироваться с другими программными продуктами компании Microsoft, а также обеспечивает надежную защиту данных и простой интерфейс, однако отличается высокой стоимостью лицензии и повышенным потреблением ресурсов.

В целом, однако, сохраняет свою популярность, в немалой степени из-за того, что продукты корпорации Microsoft используются многими компаниями.

PostgreSQL

СУБД PostgreSQL — еще одна популярная и бесплатная система. Наибольшее применение нашла для управления БД веб-сайтов и различных сервисов. Она универсальна, то есть подойдет для работы с большинством популярных платформ.

При этом PostgreSQL — объектно-реляционная СУБД, что дает ей некоторые преимущества над другими бесплатными СУБД, в большинстве являющимися реляционными.

Oracle

Первая версия этой объектно-реляционной СУБД появилась в конце 70-х, и с тех пор зарекомендовала себя как надежная, функциональная и практичная. СУБД Oracle постоянно развивается и дорабатывается, упрощая установку и первоначальную настройку и расширяя функционал.

Однако существенным минусом данной СУБД является высокая стоимость лицензии, поэтому она используется в основном крупными компаниями и корпорациями, работающими с огромными объемами данных.

21) ЛУЧШИЙ Список Базы Данных

База данных – это систематический сбор данных, который поддерживает хранение и манипулирование информацией. Обычно он управляется системой управления базами данных (СУБД). Данные в базе данных обычно моделируются в виде строк и столбцов в таблицах, чтобы повысить эффективность запросов и обработки данных.

Ниже приведен отобранный список Top Free базы данных, с популярными функциями и ссылками для скачивания. Этот список сравнения содержит инструменты с открытым исходным кодом, которые могут иметь функции Freemium.

1) MySQL

MySQL – это реляционная база данных с открытым исходным кодом, которая работает на различных платформах, таких как Windows, Linux, Mac OS и т. Д.

Платформа: Linux, Windows и Mac.

Языки: C, Java, SQL, C ++, Perl, Python, Tcl и PHP.

Облачная версия: Да

Особенности:

  • Инструмент обеспечивает масштабируемость и гибкость
  • У инструмента есть сильные стороны сети и хранилища данных
  • Обеспечивает высокую производительность
  • Имеет надежную поддержку транзакций

Вердикт: MySQL может использоваться для упакованного программного обеспечения, а также для критически важных для бизнеса систем и крупных веб-сайтов.

2) PostgreSQL

PostgreSQL – это система управления базами данных с открытым исходным кодом корпоративного класса. Он поддерживает как SQL для реляционных, так и JSON для нереляционных запросов. Он поддерживается опытным сообществом разработчиков, которые внесли огромный вклад в создание высоконадежного программного обеспечения для управления базами данных.

Платформа: Mac, Windows и Linux.

Языки: PL / Tcl, PL / pgSQL, PL / Python и PL / Perl.

Облачная версия: Нет.

Особенности:

  • Совместим с различными платформами, используя все основные языки и промежуточное ПО
  • Резервный сервер и высокая доступность
  • Инструмент имеет развитую функциональность программирования на стороне сервера
  • Репликация на основе журнала и триггера SSL.
  • Он предлагает самый сложный механизм блокировки.
  • Поддержка многоверсионного управления параллелизмом
  • Обеспечивает поддержку клиент-серверной сетевой архитектуры.
  • Инструмент является объектно-ориентированным и совместимым с ANSI-SQL2008
  • PostgreSQL позволяет связываться с другими хранилищами данных, такими как NoSQL, которые действуют как федеративный концентратор для баз данных polyglot.

Вердикт: PostgreSQL позволяет создавать собственные типы данных и диапазон методов запросов. Вы можете запустить процедуру хранения на разных языках программирования.

3) MongoDB

MongoDB – это документно-ориентированная база данных NoSQL, используемая для хранения больших объемов данных. Это база данных, которая появилась в середине 2000-х годов. Он подпадает под категорию базы данных NoSQL.

Платформа: кроссплатформенная

Языки: C #, C, Java, C ++, Perl, Scala, Ruby и т. Д.

Облачная версия: Да

Особенности:

  • Полностью автоматизированное масштабирование и управление сложными, высокодоступными, многоузловыми кластерами с помощью вызовов API.
  • Этот инструмент позволяет создавать глобально распределенные кластеры.
  • Легко восстановить данные при необходимости.
  • Он предлагает визуализацию, мониторинг и оповещение по более чем 80 метрикам, которые отслеживают состояние вашего кластера или интегрируются со сторонними решениями для мониторинга.
  • Инструмент имеет мощный язык запросов
  • Он использует богатые документы JSON для хранения таблиц в реляционной базе данных.
  • Он предоставляет MongoDB Atlas, который является глобальной облачной базой данных.

Вердикт: MongoDB позволяет вам проверить документ. Он не подходит для приложений, имеющих сложные транзакции.

4) OrientDB

OrientDB – это многомодельная база данных NoSQL с открытым исходным кодом, которая помогает организациям раскрыть возможности графических баз данных без развертывания нескольких систем для обработки других типов данных. Это поможет вам повысить производительность и безопасность при поддержке масштабируемости.

Платформа: Linux, Mac OS X, Windows, Solaris и HP-UX

Языки: Java, PHP, Nodejs, .NET, Python, C, JavaScript, Ruby, Scala, Elixir, Android, Perl.

Облачная версия: Да

Особенности:

  • Unified Multi-Model API – для более быстрого развертывания
  • TinkerPop 3 за состояние быстрых и эффективных обновлений.
  • Инструмент ориентирован на масштабируемость и производительность.
  • Предлагает расширенный планировщик запросов.

Вердикт: OrientDB имеет возможность выполнять репликацию с несколькими мастерами, совместно использовать данные с использованием кластеров и автоматизировать распределенные запросы и транзакции.

5) MariaDB

MariaDB – это форк системы управления базами данных MySQL. Он создан его оригинальными разработчиками. Этот инструмент СУБД предоставляет возможности обработки данных как для небольших, так и для корпоративных задач.

Платформа: Windows, Linux и Mac.

Языки: C #, Java, C ++, Python и др.

Облачная версия: Да

Особенности:

  • Он работает под лицензиями GPL, BSD или LGPL.
  • Он поставляется со многими механизмами хранения, включая высокопроизводительные, которые можно интегрировать с другими системами управления реляционными базами данных.
  • Это обеспечивает кластерную технологию Galera.
  • MariaDB может работать в разных операционных системах и поддерживает множество языков программирования.

Вердикт: MariaDB является альтернативой MySQL. Это обеспечивает высокую масштабируемость благодаря простой интеграции.

6) SQLite

SQLite – это встроенная система управления реляционными базами данных с открытым исходным кодом, разработанная примерно в 2000 году. Это база данных с нулевой конфигурацией, без требований сервера или установки. Несмотря на свою простоту, он перегружен популярными функциями систем управления базами данных.

Платформа: Blackberry, Symbian, Maemo, Android, MeeGo, WebOS, NetBSD, FreeBSD, illumos, Solaris 10, Windows и Tizen.

Языки: C, C #, C ++, Java, PHP, Python, Ruby и др.

Облачная версия: Да

Особенности:

  • SQLite очень легкий по сравнению с другими системами управления базами данных, такими как SQL Server или Oracle.
  • Он имеет библиотеку в памяти, которую вы можете вызывать и использовать напрямую, без установки или настройки.
  • Вам не требуется выделенный сервер для хранения базы данных. База данных хранится на жестком диске компьютера.

Вердикт: SQLite – это библиотека языка программирования C, которая

предлагает автономный, надежный и полнофункциональный движок базы данных SQL.

7) Кассандра

Cassandra – это бесплатный инструмент, предназначенный для управления большим количеством данных на самых разных серверах. Инструмент предлагает поддержку для репликации в нескольких центрах обработки данных.

Платформа: кроссплатформенная

Языки: SQL, Go, C ++, Python и Node JS

Облачная версия: Да

Особенности:

  • Данные копируются на многочисленные узлы для обеспечения отказоустойчивости системы.
  • Нет узких мест в сети, так как каждый узел в кластере работает.
  • Инструмент поддерживает контракты и услуги третьих лиц.
  • Это позволяет вам выбирать между синхронной или асинхронной репликацией для обновления.

Вердикт : Cassandra для тех людей, которые хотят масштабируемости и высокой доступности без снижения производительности.

8) Microsoft SQL

SQL Server – это СУБД, разработанная Microsoft. SQL Server поддерживает ANSI SQL, который является стандартным языком SQL (язык структурированных запросов). Однако SQL Server поставляется с реализацией языка SQL T-SQL (Transact-SQL).

Платформа: Docker Engine, Ubuntu, SUSE Linux Enterprise Server и Red Hat Enterprise Linux.

Языки: C, C ++, Java и C #

Облачная версия: Да

Особенности:

  • Он обеспечивает интеграцию структурированных и неструктурированных данных с возможностями SQL Server и Spark.
  • Этот инструмент обеспечивает масштабируемость, производительность и доступность для критически важных, интеллектуальных приложений, хранилищ данных и хранилищ данных.
  • Он предлагает расширенные функции безопасности для защиты ваших данных.
  • Доступ к многофункциональным интерактивным отчетам Power BI для принятия более быстрого и качественного решения.

9) CouchDB

CouchDB – это программное обеспечение с открытым исходным кодом, основанное на общих стандартах для доступа к вашим важным данным. Он хранит данные на вашем сервере или у ведущего поставщика услуг по вашему выбору.

Платформа: кроссплатформенная

Языки: Java, Python, C ++, Perl, C, JavaScript, PHP и т. Д.

Облачная версия: Нет

Особенности:

  • Это позволяет вам запускать логический сервер базы данных на любых виртуальных машинах.
  • Инструмент CouchDB работает с внешними инструментами, такими как балансировщики нагрузки, HTTP и прокси-серверы.
  • Также обеспечивает поддержку аутентификации и сеанса.
  • Кластер CouchDB позволяет вам сохранять данные с избыточностью.

Вердикт: CouchDB предлагает масштабируемое решение. Это также обеспечивает гибкость для хранения данных.

10) Оракул

Oracle является самовосстанавливающимся, самозащищающимся и самодвижущимся, предназначенным для устранения ручного управления данными. Это интеллектуальная, безопасная и высокодоступная база данных в облаке, которая помогает вам развивать свой бизнес.

Платформа: Windows и Linux

Языки: C ++, COBOL, C, Java, Visual Basic и Pl / SQL.

Облачная версия: Да

Особенности:

  • Oracle Cloud оптимизирован для высокопроизводительных рабочих нагрузок баз данных, потоковых рабочих нагрузок и больших данных Hyperscale.
  • Вы можете легко перейти на облако.
  • Он предоставляет услуги, основанные на том, как вы хотите работать, чтобы запустить облако Oracle в своем центре обработки данных.

Вердикт: база данных Oracle хранит и получает информацию. Сервер базы данных решает проблему, связанную с управлением информацией.

11) ДинамоДБ

Amazon DynamoDB – это нереляционная база данных. Эта система баз данных обеспечивает постоянную задержку и предлагает встроенную защиту и кэширование в памяти. DynamoDB – это серверная база данных, которая автоматически масштабируется и резервирует ваши данные для защиты.

Платформа: кроссплатформенная

Языки: Go, Node.js, Java, .NET, C #, Ruby, Python, PHP и Perl.

Облачная версия: Да

Особенности:

  • Поддержка модели данных ключ-значение и документа.
  • DynamoDB предлагает вторичные индексы, которые обеспечивают гибкость запроса по любому атрибуту.
  • Amazon DynamoDB Accelerator обеспечивает высокую скорость чтения для вашей DynamoDB.
  • DynamoDB интегрируется с AWS Lambda для обеспечения триггеров.

Вердикт: DynamoDB является базой данных документов и может использоваться для различных целей.

12) Neo4j

Neo4j – это графическая база данных NoSQL с открытым исходным кодом, реализованная на Java. Это сохраняет ваши данные в графиках, а не в таблицах.

Платформа: кроссплатформенная

Языки: Java, Cypher Query Language, JavaScript, Java и др.

Облачная версия: Да

Особенности:

  • Он поддерживает графическую аналитику и транзакционные приложения.
  • Непрерывные обходы отношений в графе как по ширине, так и по глубине из-за двойной связи на уровне хранения между узлом и отношением.
  • Отношения в Neo4j быстрые и позволяют вам материализовать и использовать новые отношения позже для «быстрого доступа» и ускорения данных домена, когда возникает новое требование
  • Кэширование памяти для графиков, которые обеспечивают компактное хранение, что приводит к эффективному масштабированию.

Вердикт: Neo4j позволяет любой организации раскрыть свою деловую ценность связей, связей в данных и влияния через новое приложение.

13) Firebirdsql

Firebird – это СУБД с открытым исходным кодом, работающая на Microsoft Windows, macOS, Linux и нескольких платформах Unix.

Платформа: Linux, Windows, HP-UX, macOS, Solaris и AIX.

Языки: C / C ++ и COBOL

Облачная версия: Да

Особенности:

  • Firebird позволяет создавать собственные версии.
  • Это бесплатная загрузка, регистрация, а также развертывание.
  • Инструмент имеет расширенную многоплатформенную СУБД.
  • Предоставляет различные варианты финансирования от членства в Firebird до спонсорских обязательств.

Вердикт: Firebird имеет удобную для разработчиков языковую поддержку, хранимые процедуры и триггеры.

Резюме

имя Ссылка на сайт Платформа Предел емкости БД
MySQL https://www.mysql.com/ Windows, Linux, Mac. Нет ограничений
PostgreSQL https://www.postgresql.org/ Windows, Linux и Mac Нет ограничений
MongoDB https://www.mongodb.com/ Windows, Linux, Mac. Нет ограничений
OrientDB https://orientdb.com/ Windows, Linux, Mac. Нет ограничений
MariaDB https://mariadb.org/ Windows, Linux, Mac. Нет ограничений
SQLite https://www.sqlite.org/index.html Windows, Linux, Mac. Нет ограничений
Cassandra http://cassandra.apache.org/ Windows, Linux. Нет ограничений
Microsoft SQL https://www.microsoft.com/en-in/sql-server/sql-server-2019 Windows, Linux. 1 ГБ ОЗУ и 10 ГБ базы данных. 1 процессор.
CouchDB https://couchdb.apache.org/ Windows, Linux. максимальный размер 4 ГБ
оракул https://www.oracle.com/in/database/ Windows, Linux 1 ГБ ОЗУ 11 ГБ базы данных. 1CPU.
DynamoDB https://aws.amazon.com/dynamodb/ Windows, Linux. 25 ГБ, 25 блоков записи и 25 блоков чтения для уровня бесплатного пользования AWS
Neo4j https://neo4j.com/ Windows, Linux, Mac. бесплатная лицензия на запуск
firebirdsql https://firebirdsql.org/ Windows, Linux и Mac. Многопроцессорная, 20 ТБ база данных.

Виды баз данных. Большой обзор типов СУБД

Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “NoSQL” и т.д., либо приводят самые основные типы СУБД (базы данных), забывая о редких. В данной статье я постараюсь описать максимально полно виды баз данных и привести примеры конкретных реализаций. Разумеется, статья не претендует на всеохватность и классифицировать базы данных можно по разному, в том числе по типам оптимальной нагрузки и т.д., и все виды баз данных будут рассмотрены очень кратко. Но надеюсь, статья даст базовое представление о видах СУБД и принципах их работы.

В статье мы рассмотрим следующие типы баз данных:

  • Реляционные
  • Ключ-значение
  • Документо-ориентированные
  • Базы данных временных рядов
  • Графовые базы данных
  • Поисковые базы данных (Search Engines)
  • Объектно-ориентированные базы данных
  • RDF (Resource Description Framework)
  • Wide Column Stores
  • Мультимодальные СУБД
  • Native XML СУБД
  • GEO/GIS (пространственные) и специализированные СУБД
  • Event СУБД (баз данных переходов состояний)
  • Контентные СУБД
  • Навигационные (Navigational) СУБД
  • Векторные базы данных

Начнем с самого распространенного типа — реляционных СУБД.

Реляционные базы данных

Наиболее известными реляционными базами данных являются Open Source проекты PostgreSQL, MySQL и SQLite, а также проприетарные решения Oracle, Microsoft SQL Server и IBM Db2Relational.

Суть реляционных баз в хранении данных в связанных таблицах.

Пример хранения данных в реляционной СУБД

Стоит заметить, что реляционные базы бывают с хранением данных по строкам (PostgreSQL) и по столбцам/колонкам (ClickHouse, Vertica). Колоночные/столбцовые базы лучше подходят для аналитики, в то время как ориентация на строки лучше подходит для транзакционных нагрузок.

Отличие колоночных/столбцовых СУБД от строковых

Реляционные СУБД — самый распространенный тип баз данных. В подкате таблица из более чем 150 вариантов. Источником данного списка является данный сайт-агрегатор информации по базам данных.

Список реляционных баз данных (и инструментов, содержащих функционал, присущий базам данных, таких как SQL-движки и т.д.) и поддерживаемый тип данных.

Полный список из 166 реляционных СУБД

  1. Oracle — реляционная, мультимодальная
  2. MySQL — реляционная, мультимодальная
  3. Microsoft SQL Server -реляционная, мультимодальная
  4. PostgreSQL — реляционная, мультимодальная
  5. IBM Db2Relational — мультимодальная
  6. Microsoft Access — реляционная
  7. SQLite — реляционная
  8. Snowflake — реляционная
  9. MariaDB — реляционная, мультимодальная
  10. Microsoft Azure SQL Database — реляционная, мультимодальная
  11. Hive — реляционная
  12. Databricks — мультимодальная
  13. Teradata — реляционная, мультимодальная
  14. Google BigQuery — реляционная
  15. FileMaker — реляционная
  16. SAP HANA — реляционная, мультимодальная
  17. SAP Adaptive Server — реляционная
  18. Microsoft Azure Synapse Analytics — реляционная
  19. Firebird — реляционная
  20. Informix — реляционная, мультимодальная
  21. Amazon Redshift — реляционная
  22. Impala — реляционная, мультимодальная
  23. Spark SQL — реляционная
  24. ClickHouse — реляционная, мультимодальная
  25. Netezza — реляционная
  26. Vertica — реляционная
  27. Presto — реляционная
  28. dBASE — реляционная
  29. Apache Flink — реляционная
  30. Greenplum — реляционная, мультимодальная
  31. Amazon Aurora — реляционная, мультимодальная
  32. H2 — реляционная, мультимодальная
  33. Oracle Essbase — реляционная
  34. Microsoft Azure Data Explorer — реляционная, мультимодальная
  35. Microsoft Azure Data Explorer — реляционная, мультимодальная
  36. CockroachDB — реляционная
  37. Derby — реляционная
  38. Interbase — реляционная
  39. Trino — реляционная, мультимодальная
  40. SingleStore — реляционная, мультимодальная
  41. SAP SQL Anywhere — реляционная
  42. Ingres — реляционная
  43. HyperSQL — реляционная
  44. Ignite — мультимодальная
  45. SAP IQ — реляционная
  46. Virtuoso — мультимодальная
  47. OpenEdge — реляционная
  48. Oracle NoSQL — мультимодальная
  49. Google Cloud Spanner — реляционная
  50. YugabyteDB — реляционная, мультимодальная
  51. MaxDB — реляционная
  52. TiDB — реляционная, мультимодальная
  53. Apache Druid — мультимодальная
  54. InterSystems Caché — мультимодальная
  55. InterSystems IRIS — мультимодальная
  56. DuckDB — реляционная
  57. SAP Advantage Database Server — реляционная
  58. HEAVY.AI — реляционная, мультимодальная
  59. 4D — реляционная
  60. Percona Server for MySQL — реляционная
  61. EDB Postgres — реляционная
  62. Apache Drill — мультимодальная
  63. EXASOL — реляционная
  64. Apache Phoenix — реляционная
  65. Citus — реляционная, мультимодальная
  66. Datomic — реляционная
  67. Empress — реляционная
  68. GridGain — мультимодальная
  69. OceanBase — реляционная, мультимодальная
  70. MonetDB — реляционная, мультимодальная
  71. VoltDB — реляционная
  72. Tibero — реляционная
  73. TimesTen — реляционная
  74. IBM Db2 warehouse — реляционная
  75. SQLBase — реляционная
  76. Firebolt — реляционная
  77. Fauna — мультимодальная
  78. mSQL — реляционная
  79. MatrixOne — реляционная
  80. DataEase — реляционная
  81. Oracle Rdb — реляционная
  82. Altibase — реляционная
  83. PlanetScale — реляционная, мультимодальная
  84. NonStop SQL — реляционная
  85. Cubrid — реляционная
  86. Infobright — реляционная
  87. Apache Kylin — реляционная
  88. GBase — реляционная
  89. Apache HAWQ — реляционная
  90. NuoDB — реляционная
  91. Dolt — реляционная, мультимодальная
  92. solidDB — реляционная
  93. FoundationDB — мультимодальная
  94. 1010data — реляционная
  95. openGauss — реляционная, мультимодальная
  96. HFSQL — реляционная
  97. Actian Vector — реляционная
  98. SQL.JS — реляционная
  99. OpenBase — реляционная
  100. Vitess — реляционная, мультимодальная
  101. Kognitio — реляционная
  102. StarRocks — реляционная
  103. TDSQL for MySQL — реляционная, мультимодальная
  104. DBISAM — реляционная
  105. FrontBase — реляционная
  106. TypeDB — мультимодальная
  107. NexusDB — реляционная
  108. Datacom/DB — реляционная
  109. Kinetica — реляционная, мультимодальная
  110. eXtremeDB — мультимодальная
  111. ScaleArc — реляционная
  112. VistaDB — реляционная
  113. Yellowbrick — реляционная
  114. Splice Machine — реляционная
  115. Postgres-XL — реляционная, мультимодальная
  116. Alibaba Cloud MaxCompute — реляционная
  117. AlaSQL — мультимодальная
  118. Apache Pinot — реляционная
  119. Alibaba Cloud AnalyticDB for MySQL — реляционная, мультимодальная
  120. SQream DB — реляционная
  121. Sequoiadb — мультимодальная
  122. Kingbase — реляционная, мультимодальная
  123. Trafodion — реляционная
  124. R:BASE — реляционная
  125. Apache Doris — реляционная
  126. Transbase — реляционная
  127. Lovefield — реляционная
  128. Raima Database Manager — мультимодальная
  129. Alibaba Cloud AnalyticDB for PostgreSQL — реляционная
  130. Tajo — реляционная
  131. Mimer SQL — реляционная
  132. Kyligence Enterprise — реляционная
  133. YDB — мультимодальная
  134. Databend — реляционная
  135. Actian PSQL — реляционная
  136. Alibaba Cloud ApsaraDB for PolarDB — реляционная
  137. Brytlyt — реляционная
  138. XtremeData — реляционная
  139. TransLattice — реляционная
  140. ElevateDB — реляционная
  141. Comdb2 — реляционная
  142. Linter — реляционная, мультимодальная
  143. AntDB — реляционная
  144. FeatureBase — реляционная
  145. LeanXcale — Multi-model
  146. PipelineDB — реляционная
  147. GeoSpock — реляционная, мультимодальная
  148. Faircom DB — мультимодальная
  149. Tibco ComputeDB — реляционная
  150. Valentina Server — реляционная
  151. PieCloudDB — реляционная
  152. BigObject — реляционная
  153. Edge Intelligence — реляционная
  154. Fujitsu Enterprise Postgres — реляционная, мультимодальна
  155. EsgynDB — реляционная
  156. Transwarp KunDB — реляционная
  157. JethroData — реляционная
  158. MyScale — мультимодальная
  159. OushuDB — реляционная
  160. AgensGraph — мультимодальная
  161. SmallSQL — реляционная
  162. ActorDB — реляционная
  163. DaggerDB — реляционная
  164. EdgelessDB — реляционная
  165. K-DB — реляционная
  166. Sadas Engine — реляционная

Из отечественных игроков можно выделить

  • Postgres Pro — доработанный под корпоративные задачи PostgreSQL.
  • Jatoba — как и вариант выше, основана на PostgreSQL.
  • Квант-Гибрид — еще один вариант PostgreSQL.
  • Ред — СУБД на базе Interbase/Firebird
  • ProximaBD — на основе PostgreSQL.
  • Arenadata DB — корпоративное решение на основе Greenplum
  • YDB — serverless решение от Яндекса. Это Open Source продукт, который доступен в том числе как для on-premise инсталляций, так и как управляемый сервис с dedicated/serverless моделью потребления.

Вы можете развернуть реляционные базы данных PostgreSQL и MySQL в облаке Amvera Cloud c помощью простого push в выделенный Git-репозиторий. Для этого нужно выполнить несколько простых шагов, описанных в инструкциях для PostgreSQL и MySQL соответственно. Стоимость хостинга баз данных начинается от 170 руб. в месяц.

Реляционные базы закрывают широкий спектр задач, начиная от транзакционных баз и заканчивая аналитическими, но не являются “серебряной пулей” для всех задач. Рассмотрим другие виды базы данных.

Key-value (ключ значение) базы данных

Тип баз данных Key-value предназначен для осуществления быстрых, почти мгновенных запросов для таких задач как кэш, отображение баланса и т.д.. Высокая скорость осуществляется за счет хранения данных по принципу ключ-значение, и в большинстве случаев благодаря работе в оперативной памяти.

Принцип Key-Value

Словари содержат коллекцию объектов или записей, а объекты содержат множество различных полей, каждое из которых содержит данные. Записи хранятся и извлекаются с использованием ключа, который однозначно идентифицирует запись и используется для быстрого поиска данных.

Основным применением является ускорение отображения данных для конечных пользователей и снижение нагрузок, в том числе I/O на инфраструктуру организаций.

Наиболее известными и широко используемыми Key-Value решениями являются Redis и Memcached.

Полный список из 72 Key-Value СУБД под катом

  1. Redis — Key-value, мультимодальная
  2. Amazon DynamoDB — мультимодальная
  3. Microsoft Azure Cosmos DB — мультимодальная
  4. Memcached — Key-value
  5. etcd — Key-value
  6. Hazelcast — Key-value, мультимодальная
  7. Aerospike — мультимодальная
  8. Ehcache — Key-value
  9. Riak KV — Key-value
  10. Ignite — мультимодальная
  11. OrientDB — мультимодальная
  12. Google Cloud Bigtable — мультимодальная
  13. GemFire — Key-value, мультимодальная
  14. ArangoDB — мультимодальная
  15. Infinispan — Key-value
  16. Oracle NoSQL — мультимодальная
  17. RocksDB Key-value
  18. Oracle Berkeley DB — мультимодальная
  19. InterSystems Caché — мультимодальная
  20. InterSystems IRIS — мультимодальная
  21. LevelDB — Key-value
  22. LMDB — Key-value
  23. Geode — Key-value
  24. Amazon SimpleDB — Key-value
  25. Geode — Key-value
  26. Amazon SimpleDB — Key-value
  27. Oracle Coherence — Key-value
  28. GridGain — мультимодальная
  29. Tarantool — Key-value, мультимодальная
  30. GT.M — Key-value
  31. ZODB — Key-value
  32. FoudationDB — мультимодальная
  33. NCache — Key-value
  34. WebSphere eXtreme Scale — Key-value
  35. Hibari — Key-value
  36. MapDB — Key-value
  37. BoltDB — Key-value
  38. Graph Engine — мультимодальная
  39. Scalaris — Key-value
  40. KeyDB — Key-value
  41. Project Voldemort — Key-value
  42. Upscaledb — Key-value
  43. Cloudflare Workers KV — Key-value
  44. Elliptics — Key-value
  45. Tokyo — Tyrant — Key-value
  46. LeanXcale — мультимодальная
  47. Immudb — Key-value, мультимодальная
  48. STSdb — Key-value
  49. TomP2P — Key-value
  50. ArcadeDB — мультимодальная
  51. Speedb Key-value
  52. Faircom DB — мультимодальная
  53. Kyoto Tycoon — Key-value
  54. Skytable — Key-value
  55. HyperLevelDB — Key-value
  56. YTsaurus — мультимодальная
  57. InfinityDB — Key-value
  58. Tigris — мультимодальная
  59. Badger — Key — value
  60. Dragonfly — Key — value
  61. LedisDB — Key-value
  62. TerarkDB — Key-value
  63. Cachelot.io — Key-value
  64. ScaleOut StateServer — Key-value
  65. JaguarDB — Key-value
  66. Resin Cache — Key-value
  67. Faircom EDGE — мультимодальная
  68. SwayDB — Key-value
  69. BergDB — Key-value
  70. CortexDB — мультимодальная
  71. Helium — Key-value
  72. Tkrzw — Key-value

Из отечественных СУБД здесь следует отдельно выделить Tarantool, распространяемый под лицензией Упрощенная BSD и имеющий отдельную версию для крупных корпоративных клиентов. В Tarantool реализована гибридная схема данных: key-value, документно-ориентированная, реляционная и пространственная.

Вы можете развернуть Key-value базу данных Redis в облаке Amvera Cloud c помощью простого push в выделенный Git-репозиторий. Для этого нужно выполнить несколько простых шагов, описанных в инструкции по развертыванию Redis. Стоимость хостинга Redis начинается от 170 руб. в месяц.

Документо-ориентированные базы данных

Если вам нужно хранить много файлов/документов и вы не хотите задумываться (до разумных пределов, разумеется) о структуре хранения, иерархии, связях, вам может подойти одна из документо-ориентированных баз данных. Дополнительным преимуществом являются широкие возможности для масштабирования.

Принцип организации хранения документов в докумнто-ориентированной СУБД

Документо-ориентированные базы данных созданы для хранения иерархических структур данных (документов). Основой документоориентированных СУБД являются документные хранилища, имеющие структуру дерева или леса. Деревья начинаются с корневого узла и может содержать несколько внутренних и листовых узлов. Листовые узлы содержат данные, которые при добавлении документа заносятся в индексы, это дает возможность даже при достаточно сложной структуре находить путь к искомых данных. В отличие от хранилищ типа ключ-значение, выборка по запросу к документному хранилищу может содержать части большого количества документов без полной загрузки этих документов в оперативную память.

Наиболее популярной документо-ориентированной базой данных на текущий момент является MongoDB.

Как хранятся данные в MongoDB

Полный список из 56 решений документо-ориентированных баз данных подкатом

1. MongoDB — Документо-ориентированная, мультимодальная

2. Amazon DynamoDB — мультимодальная

3. Databricks — мультимодальная

4. Microsoft Azure Cosmos DB — мультимодальная

5. Couchbase — Документо-ориентированная, мультимодальная

6. Firebase Realtime Database — Документо-ориентированная

7. CouchDB — Документо-ориентированная, мультимодальная

8. Google Cloud Firestore — Документо-ориентированная

9. MarkLogic — мультимодальная

10. Realm — Документо-ориентированная

11. Aerospike — мультимодальная

12. Google Cloud Datastore — Документо-ориентированная

13. Virtuoso — мультимодальная

14. OrientDB — мультимодальная

15. ArangoDB — мультимодальная

16. RavenDB — Документо-ориентированная, мультимодальная

17. Oracle NoSQL — мультимодальная

18. IBM Cloudant — Документо-ориентированная

19. RethinkDB — Документо-ориентированная, мультимодальная

20. InterSystems IRIS — мультимодальная

21. PouchDB — Документо-ориентированная

22. CloudKit — Документо-ориентированная

23. Apache Drill — мультимодальная

24. Amazon DocumentDB — Документо-ориентированная

25. Mnesia — Документо-ориентированная

26. LiteDB — Документо-ориентированная

27. Fauna — мультимодальная

28. Datameer — Документо-ориентированная

29. GigaSpaces — мультимодальная

30. FoundationDB — мультимодальная

31. AllegroGraph — мультимодальная

32. HPE Ezmeral Data Fabric — мультимодальная

33. CrateDB — мультимодальная

34. LokiJS — Документо-ориентированная

35. BigchainDB — Документо-ориентированная

36. AlaSQL — мультимодальная

37. SurrealDB — мультимодальная

38. Sequoiadb — мультимодальная

39. Percona Server for MongoDB — Документо-ориентированная

40. HarperDB — Документо-ориентированная

41. EJDB — Документо-ориентированная

42. YDB — мультимодальная

43. ArcadeDB — мультимодальная

44. Bangdb — мультимодальная

45. XTDB — Документо-ориентированная

46. YTsaurus — мультимодальная

47. OrigoDB — мультимодальная

48. WhiteDB — Документо-ориентированная

49. ToroDB — Документо-ориентированная

50. SenseiDB — Документо-ориентированная

51. Acebase — Документо-ориентированная

52. iBoxDB — Документо-ориентированная

53. RaptorDB — Документо-ориентированная

54. NosDB — Документо-ориентированная

55. CortexDB — мультимодальная

56. JasDB — Документо-ориентированная

Из отечественных решений, к документо-ориентированным базам данных можно отнести СУБД Енисей.

И в рамках одной из модальностей к таким базам можно отнести YDB и YTsaurus.

Вы можете развернуть документо-ориентированную базу данных MongoDB в облаке Amvera Cloud c помощью простого push в выделенный Git-репозиторий. Для этого нужно выполнить несколько простых шагов, описанных в инструкции по развертыванию MongoDB. Стоимость хостинга MongoDB начинается от 170 руб. в месяц.

Базы данных временных рядов

Если у вас есть упорядоченные по времени данные с временными метками, такие как метрики от инфраструктуры или данные датчиков, может быть полезно использовать одну из баз данных временных рядов.

Принцип хранения данных в базе данных временных рядов. Как мы видим, важной особенностью является наличие столбца соответствующего времени события.

Общие характеристики баз данных временных рядов:

  • Данные временных рядов всегда собираются на протяжении определенного периода времени.
  • Данные из рабочих нагрузок являются новыми и записываются как вставки. Уже существующие данные не обновляются путем замены.
  • Когда данные записываются, они автоматически назначаются последнему интервалу времени.

Базы даных временных рядов часто используются для осуществления мониторинга различных метрик (будь то загрузка CPU, или показатели работы какого-либо датчика).

Когда вы смотрите в Grafana подобные графики, сама Grafana строит их на основе данных из СУБД временных рядов Prometheus.

Наиболее популярными и базами временных рядов являются Prometheus, InflubDB, Graphite.

Полный список из 43 СУБД для хранения временных рядов

Time Series, мультимодальная

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *