Часто, в обзорах видов баз данных упоминают реляционные и “другие”, “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 реляционных СУБД
Oracle - реляционная, мультимодальная
MySQL - реляционная, мультимодальная
Microsoft SQL Server -реляционная, мультимодальная
PostgreSQL - реляционная, мультимодальная
IBM Db2Relational - мультимодальная
Microsoft Access - реляционная
SQLite - реляционная
Snowflake - реляционная
MariaDB - реляционная, мультимодальная
Microsoft Azure SQL Database - реляционная, мультимодальная
Hive - реляционная
Databricks - мультимодальная
Teradata - реляционная, мультимодальная
Google BigQuery - реляционная
FileMaker - реляционная
SAP HANA - реляционная, мультимодальная
SAP Adaptive Server - реляционная
Microsoft Azure Synapse Analytics - реляционная
Firebird - реляционная
Informix - реляционная, мультимодальная
Amazon Redshift - реляционная
Impala - реляционная, мультимодальная
Spark SQL - реляционная
ClickHouse - реляционная, мультимодальная
Netezza - реляционная
Vertica - реляционная
Presto - реляционная
dBASE - реляционная
Apache Flink - реляционная
Greenplum - реляционная, мультимодальная
Amazon Aurora - реляционная, мультимодальная
H2 - реляционная, мультимодальная
Oracle Essbase - реляционная
Microsoft Azure Data Explorer - реляционная, мультимодальная
Microsoft Azure Data Explorer - реляционная, мультимодальная
CockroachDB - реляционная
Derby - реляционная
Interbase - реляционная
Trino - реляционная, мультимодальная
SingleStore - реляционная, мультимодальная
SAP SQL Anywhere - реляционная
Ingres - реляционная
HyperSQL - реляционная
Ignite - мультимодальная
SAP IQ - реляционная
Virtuoso - мультимодальная
OpenEdge - реляционная
Oracle NoSQL - мультимодальная
Google Cloud Spanner - реляционная
YugabyteDB - реляционная, мультимодальная
MaxDB - реляционная
TiDB - реляционная, мультимодальная
Apache Druid - мультимодальная
InterSystems Caché - мультимодальная
InterSystems IRIS - мультимодальная
DuckDB - реляционная
SAP Advantage Database Server - реляционная
HEAVY.AI - реляционная, мультимодальная
4D - реляционная
Percona Server for MySQL - реляционная
EDB Postgres - реляционная
Apache Drill - мультимодальная
EXASOL - реляционная
Apache Phoenix - реляционная
Citus - реляционная, мультимодальная
Datomic - реляционная
Empress - реляционная
GridGain - мультимодальная
OceanBase - реляционная, мультимодальная
MonetDB - реляционная, мультимодальная
VoltDB - реляционная
Tibero - реляционная
TimesTen - реляционная
IBM Db2 warehouse - реляционная
SQLBase - реляционная
Firebolt - реляционная
Fauna - мультимодальная
mSQL - реляционная
MatrixOne - реляционная
DataEase - реляционная
Oracle Rdb - реляционная
Altibase - реляционная
PlanetScale - реляционная, мультимодальная
NonStop SQL - реляционная
Cubrid - реляционная
Infobright - реляционная
Apache Kylin - реляционная
GBase - реляционная
Apache HAWQ - реляционная
NuoDB - реляционная
Dolt - реляционная, мультимодальная
solidDB - реляционная
FoundationDB - мультимодальная
1010data - реляционная
openGauss - реляционная, мультимодальная
HFSQL - реляционная
Actian Vector - реляционная
SQL.JS - реляционная
OpenBase - реляционная
Vitess - реляционная, мультимодальная
Kognitio - реляционная
StarRocks - реляционная
TDSQL for MySQL - реляционная, мультимодальная
DBISAM - реляционная
FrontBase - реляционная
TypeDB - мультимодальная
NexusDB - реляционная
Datacom/DB - реляционная
Kinetica - реляционная, мультимодальная
eXtremeDB - мультимодальная
ScaleArc - реляционная
VistaDB - реляционная
Yellowbrick - реляционная
Splice Machine - реляционная
Postgres-XL - реляционная, мультимодальная
Alibaba Cloud MaxCompute - реляционная
AlaSQL - мультимодальная
Apache Pinot - реляционная
Alibaba Cloud AnalyticDB for MySQL - реляционная, мультимодальная
SQream DB - реляционная
Sequoiadb - мультимодальная
Kingbase - реляционная, мультимодальная
Trafodion - реляционная
R:BASE - реляционная
Apache Doris - реляционная
Transbase - реляционная
Lovefield - реляционная
Raima Database Manager - мультимодальная
Alibaba Cloud AnalyticDB for PostgreSQL - реляционная
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 предназначен для осуществления быстрых, почти мгновенных запросов для таких задач как кэш, отображение баланса и т.д.. Высокая скорость осуществляется за счет хранения данных по принципу ключ-значение, и в большинстве случаев благодаря работе в оперативной памяти.
Словари содержат коллекцию объектов или записей, а объекты содержат множество различных полей, каждое из которых содержит данные. Записи хранятся и извлекаются с использованием ключа, который однозначно идентифицирует запись и используется для быстрого поиска данных.
Основным применением является ускорение отображения данных для конечных пользователей и снижение нагрузок, в том числе I/O на инфраструктуру организаций.
Наиболее известными и широко используемыми Key-Value решениями являются Redis и Memcached.
Из отечественных СУБД здесь следует отдельно выделить Tarantool, распространяемый под лицензией Упрощенная BSD и имеющий отдельную версию для крупных корпоративных клиентов. В Tarantool реализована гибридная схема данных: key-value, документно-ориентированная, реляционная и пространственная.
Вы можете развернуть Key-value базу данных Redis в облаке Amvera Cloud c помощью простого push в выделенный Git-репозиторий. Для этого нужно выполнить несколько простых шагов, описанных в инструкции по развертыванию Redis. Стоимость хостинга Redis начинается от 170 руб. в месяц.
Документо-ориентированные базы данных
Если вам нужно хранить много файлов/документов и вы не хотите задумываться (до разумных пределов, разумеется) о структуре хранения, иерархии, связях, вам может подойти одна из документо-ориентированных баз данных. Дополнительным преимуществом являются широкие возможности для масштабирования.
Документо-ориентированные базы данных созданы для хранения иерархических структур данных (документов). Основой документоориентированных СУБД являются документные хранилища, имеющие структуру дерева или леса. Деревья начинаются с корневого узла и может содержать несколько внутренних и листовых узлов. Листовые узлы содержат данные, которые при добавлении документа заносятся в индексы, это дает возможность даже при достаточно сложной структуре находить путь к искомых данных. В отличие от хранилищ типа ключ-значение, выборка по запросу к документному хранилищу может содержать части большого количества документов без полной загрузки этих документов в оперативную память.
Наиболее популярной документо-ориентированной базой данных на текущий момент является MongoDB.
Полный список из 56 решений документо-ориентированных баз данных подкатом
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, или показатели работы какого-либо датчика).
Наиболее популярными и базами временных рядов являются Prometheus, InflubDB, Graphite.
Полный список из 43 СУБД для хранения временных рядов
1.
InfluxDB
Time Series, мультимодальная
2.
Kdb
мультимодальная
3.
Prometheus
Time Series
4.
Graphite
Time Series
5.
TimescaleDB
Time Series, мультимодальная
6.
DolphinDB
Time Series, мультимодальная
7.
RRDtool
Time Series
8.
Apache Druid
мультимодальная
9.
TDengine
Time Series, мультимодальная
10.
QuestDB
Time Series, мультимодальная
11.
OpenTSDB
Time Series
12.
GridDB
Time Series, мультимодальная
13.
Fauna
мультимодальная
14.
VictoriaMetrics
Time Series
15.
Amazon Timestream
Time Series
16.
M3DB
Time Series
17.
Heroic
Time Series
18.
eXtremeDB
мультимодальная
19.
CrateDB
мультимодальная
20.
Apache IoTDB
Time Series
21.
KairosDB
Time Series
22.
ITTIA
Time Series, мультимодальная
23.
Raima Database Manager
мультимодальная
24.
Axibase
Time Series
25.
Riak TS
Time Series
26.
Machbase
Time Series
27.
CnosDB
Time Series
28.
ArcadeDB
мультимодальная
29.
Bangdb
мультимодальная
30.
IRONdb
Time Series
31.
Quasardb
Time Series
32.
SiteWhere
Time Series
33.
NSDb
Time Series
34.
Alibaba Cloud TSDB
Time Series
35.
IBM Db2 Event Store
мультимодальная
36.
Tigris
мультимодальная
37.
GreptimeDB
Time Series
38.
Hawkular Metrics
Time Series
39.
SiriDB
Time Series
40.
Blueflood
Time Series
41.
Warp 10
Time Series
42.
Yanza
Time Series
43.
Newts
Time Series
Графовые базы данных
А если вам нужно анализировать отношения данных, их связи или просто упростить запросы с километровыми Join, имеет смысл использовать графовые базы данных.
Данные и их связи представляются как вершины и ребра графа соответственно.
Таким способом можно легко представить денежные переводы (для определения различных мошеннических схем), связи в социальной сети и граф общения между операторами сотовой сети.
Чаще всего графовые базы данных используются в финансовой сфере для выявление различных мошеннических схем, но они будут удобны и для любой другой задачи, где нужно работать со связями объектов.
Наиболее известное Open Source решение, это Neo4J, но есть и ряд других качественных альтернатив.
Полный список из 39 графовых баз данных
1.
Neo4j
графовая
2.
Microsoft Azure Cosmos DB
мультимодальная
3.
Virtuoso
мультимодальная
4.
OrientDB
мультимодальная
5 .
ArangoDB
мультимодальная
6.
Memgraph
графовая
7.
GraphDB
мультимодальная
8.
Amazon Neptune
мультимодальная
9.
JanusGraph
графовая
10.
Stardog
мультимодальная
11.
NebulaGraph
графовая
12.
TigerGraph
графовая
13.
Fauna
мультимодальная
14.
Giraph
графовая
15.
Dgraph
графовая
16.
AllegroGraph
мультимодальная
17.
Blazegraph
мультимодальная
18.
TypeDB
мультимодальная
19.
Graph Engine
мультимодальная
20.
SurrealDB
мультимодальная
21.
InfiniteGraph
графовая
22.
FlockDB
графовая
23.
HyperGraphDB
графовая
24.
Fluree
графовая
25.
AnzoGraph DB
мультимодальная
26.
Sparksee
графовая
27.
HugeGraph
графовая
28.
GraphBase
графовая
29.
ArcadeDB
мультимодальная
30.
Bangdb
мультимодальная
31.
RDFox
мультимодальная
32.
Ultipa
графовая
33.
TinkerGraph
графовая
34.
TerminusDB
графовая, мультимодальная
35.
AgensGraph
мультимодальная
36.
Galaxybase
графовая
37.
VelocityDB
мультимодальная
38.
HGraphDB
графовая
39.
Transwarp StellarDB
графовая
Но анализ графа можно выполнить и с использованием других типов баз данных, к примеру key-value, как описано с статье.
Поисковые базы данных (Search Engines)
Eсли вам необходимо осуществлять поиск большим объемам данных, особенно неструктурированным, как пример поиск по нескольким терабайтами логов, то вам может пригодиться использовать базу данных, совмещающую с функционалом хранения информации еще и функционал поиска по текстам.
Представим, что у вас есть N петабайт логов (или других текстовых данных). Обычный поиск по словам уже не подойдет, чтобы осуществить поиск и аналитику в разумное время.
На помощь приходит индексирование. Если очень утрировано его рассмотреть, можно его представить следующим способом. Каждому слову/лемме/n-грамме присвоим индекс и запишем эти индексы в специальную таблицу, где строки, это документ, а в столбики это индексы. Похожая система используется для построения систем поиска плагиата, правда там чаще применяют не слова, а шинглы (индексы с наслоением).
А искать по индексу существенно быстрее, чем по совпадению по словам в документах.
Строго говоря, для поиска по документам можно использовать и эмбеддинги нейронных сетей, в которых закодирован "смысл" высказываний. Но для данной задачи лучше подойдут векторные базы данных, которые замыкают наш список.
Разумеется, современные поисковые СУБД предлагают значительно более широкий функционал.
Наиболее популярны такие решения как Elasticsearch (и его версия - OpenSearch), проприетарный Splunk, о котором я писал одну из прошлых статей и Sphinx.
Полный список из 25 поисковых СУБД
1.
Elasticsearch
Search engine, мультимодальная
2.
Splunk
Search engine
3.
Solr
Search engine, мультимодальная
4.
OpenSearch
Search engine, мультимодальная
5.
MarkLogic
мультимодальная
6.
Algolia
Search engine
7.
Microsoft Azure Search
Search engine
8.
Sphinx
Search engine
9.
Virtuoso
мультимодальная
10.
ArangoDB
мультимодальная
11.
Coveo
Search engine
12.
Amazon CloudSearch
Search engine
13.
Meilisearch
Search engine
14.
Xapian
Search engine
15.
SearchBlox
Search engine
16.
Typesense
Search engine
17.
Vespa
мультимодальная
18.
Marqo
Search engine
19.
Alibaba Cloud Log Service
Search engine
20.
Manticore Search
Search engine, мультимодальная
21.
Exorbyte
Search engine
22.
Tigris
мультимодальная
23.
Indica
Search engine
24.
Rizhiyi
Search engine, мультимодальная
25.
searchxml
мультимодальная
Объектно-ориентированные базы данных
Объектно-ориентированные базы данных представляют собой базы данных, в где информация представлена в виде объектов, как в объектно-ориентированных языках программирования.
Объектно-ориентированные базы данных появились как способ нативной коммуникации кода написанного с использованием объектно-ориентированных языков с базой данных.
Объектно-ориентированные базы данных обладают следующими преимуществами:
Нет проблемы несоответствия модели данных в бд и приложении, так как в БД они сохраняются в том же виде.
Не нужно отдельно поддерживать модель данных на стороне базы данных.
Все объекты на уровне источника строго типизированы.
Наиболее известной объектно-ориентированной СУБД является Db4o, но есть и другие.
RDF базы данных частично похожи на графовые базы. RDF СУБД функционируют на основе концепции формулировок утверждений, касающихся ресурсов, как выражений субъект-предикат-объект. Субъект обозначает ресурс, а предикат обозначает черты ресурса и определяет отношения между объектом и субъектом.
Resource Description Framework (RDF, «среда описания ресурса») — это разработанная консорциумом Всемирной паутины модель для представления данных, в особенности — метаданных. RDF представляет утверждения о ресурсах в виде, пригодном для машинной обработки. RDF является частью концепции семантической паутины.
Ресурсом в RDF может быть любая сущность — как информационная (например, веб-сайт или изображение), так и неинформационная (например, человек, город или некое абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется триплетом. Утверждение «небо голубого цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «голубой». Для обозначения субъектов, отношений и объектов в RDF используются URI.
Множество RDF-утверждений образует ориентированный граф, в котором вершинами являются субъекты и объекты, а рёбра отображают отношения.
RDF сам по себе является не форматом файла, а только лишь абстрактной моделью данных, то есть описывает предлагаемую структуру, способы обработки и интерпретации данных. Для хранения и передачи информации, уложенной в модель RDF, существует целый ряд форматов записи.
Для обработки RDF-данных предлагается реализовать языки запросов: SPARQL (стандарт W3C), RQL, RDQL.”
Полный список из 20 RDF СУБД
MarkLogic - мультимодальная
Apache Jena TDB - RDF
Virtuoso - мультимодальная
GraphDB - мультимодальная
Amazon Neptune - мультимодальная
Stardog - мультимодальная
AllegroGraph - мультимодальная
Blazegraph - мультимодальная
RDF4J - RDF
Redland - RDF
Strabon - RDF
4store - RDF
Mulgara - RDF
CubicWeb - RDF
RedStore - RDF
AnzoGraph DB - мультимодальная
BrightstarDB - RDF
Dydra - RDF
RDFox - мультимодальная
SparkleDB RDF
Wide Column Stores
Wide Column Stores (расширяемые хранилища записей) — это база данных NoSQL, в которой хранение данных организовано в виде гибких столбцов, которые можно распределить по нескольким серверам или узлам базы данных, используя многомерное сопоставление для ссылки на данные по столбцам, строкам и отметкам времени.
Преимущества Wide Column Stores баз данных включают скорость выполнения запросов, масштабируемость и гибкую модель данных.
Отличием от реляционных баз данных является следующее.
Система управления реляционными базами данных хранит данные в таблице со строками, которые охватывают несколько столбцов. Если для одной строки требуется дополнительный столбец, этот столбец должен быть добавлен ко всей таблице со значениями NULL или по умолчанию для всех остальных строк. Если вам нужно запросить в этой таблице СУБД значение, которое не проиндексировано, сканирование таблицы для поиска этих значений будет очень медленным.
Wide Column СУБД имеют концепцию строк как и реляционные базы данных, но чтение или запись строки данных состоит из чтения или записи отдельных столбцов. Столбец записывается только в том случае, если для него есть элемент данных. На каждый элемент данных можно ссылаться по ключу строки, запрос значения оптимизирован так же, как запрос индекса в СУБД.
Первая модель столбца - это таблица сущностей/атрибутов/значений. Внутри каждого объекта (столбцы) есть таблица значений/атрибутов.
Концепция Wide Column СУБД позволяет строить решения для обработки действительно больших объемов данных.
Наиболее известными реализациями являются СУБД Cassandra и HBase
Стоит отметить, что каждая мультимодальная СУБД в конечном счете может быть сведена к одной или нескольким типам, на которых они основаны. А именно, где-то в основе реляционная модель, где-то документо-ориентированная и т.д. Но при этом они позволяют эмулировать дополнительные типы в плане пользовательского взаимодействия с ними.
Список мультимодальных СУБД
Adabas - мультимодальная
UniData - мультимодальная
jBASE - мультимодальная
Northgate Reality - мультимодальная
Model 204 - мультимодальная
D3 - мультимодальная
SciDB - мультимодальная
OpenInsight - мультимодальная
Rasdaman - мультимодальная
OpenQM - мультимодальная
Native XML СУБД
Тип Native XML Database основан на использовании внутреннего представления XML в отличие от XML-надстроек над существующими реляционными базами данных (XML enabled DB), в которых реализована XML-надстройка (XML-SQL) в соответствии со стандартом доступа SQL-2003.
Native XML СУБД предназначены для управления большим количеством XML-документов.
В XML native DB (NXD) используется внутреннее представление (иногда употребляют – бинарное) DOM XML в базе данных и присущи следующие признаки:
Определена логическая модель XML-документа, в соответствии с которой осуществляется хранение документа. Минимальная модель включает: элементы, атрибуты, секции PCDATA и список документов.
XML-документ представлен как фундаментальная часть хранилища (наподобие таблицы в реляционной базе данных).
Для доступа к хранилищу информации XML native DB должен использоваться язык запросов XQuery.
Список Native XML СУБД
MarkLogic - мультимодальная
Virtuoso - мультимодальная
Oracle Berkeley DB - мультимодальная
BaseX - Native XML
Sedna - Native XML
eXist-db - Native XML
searchxml - мультимодальная
GEO/GIS (пространственные) и специализированные СУБД
Если вы создаете картографический сервис, или специализированное приложение использующее данные о локации, будет логично использовать специализированные СУБД под хранение и обработку данных координат.
В отличии от других видов баз данных предназначенных для хранения и обработки числовой и символьной информации, пространственные базы данных обладают возможностями работы с целостными пространственными объектами, объединяющими как традиционные виды данных (описательная часть или атрибутивная), так и геометрические (данные о положении объекта в пространстве). Пространственные базы данных, позволяют выполнять аналитические запросы, содержащие пространственные операторы для анализа пространственно-логических отношений объектов («пересекается…», «касается…», «содержится в…», «содержит…», «находится на заданном расстоянии от…», «совпадает…» и другие).
Список пространственных баз данных
PostGIS - Spatial DBMS, мультимодальная
Aerospike - мультимодальная
SpatiaLite - Spatial DBMS, мультимодальная
GeoMesa - Spatial DBMS
H2GIS - Spatial DBMS, мультимодальная
SpaceTime - Spatial DBMS, мультимодальная
Event СУБД (базы данных переходов состояний)
Представим ситуацию, что данные в вашей СУБД изменились и вы хотите понять событие их изменившее, и более того, просмотреть историю изменений и то, что к этому приводило.
Базы данных переходов состояний хранят не только сами данные но и поток/последовательность их изменений и событий, которые эти изменения вызывали.
Такой формат может быть полезен как для расследования инцидентов, так и для исследования бизнес и информационных процессов, происходящих в предприятии.
Приведем список известных баз данных переходов состояний
EventStoreDB - Event
NEventStore - Event
IBM Db2 Event Store - мультимодальная
Контентные СУБД
Контентные базы данных представляют собой реализации контентных репозиториев. Где контентный репозиторий это это иерархическое хранилище контента с поддержкой структурированного и неструктурированного контента, полнотекстового поиска, управления версиями, транзакций, наблюдения и другими функциями.
Контентные СУБД могут быть использованы для хранения и управления контентом (фото, тексты, репозитории с кодом и т.д.).
Приведем примеры контентных баз данных
Jackrabbit - контентная
ModeShape - контентная
Навигационные (Navigational) СУБД
Навигационные базы данных не имеют ничего общего с пространственными базами данных, как может показаться на первый взгляд по названию. Навигационная база данных — это тип базы данных, в которой записи или объекты находятся главным образом по ссылкам из других объектов. В чем-то это близко концепции графовых баз данных.
Навигационная база данных представляет собой комбинацию иерархической и сетевой модели интерфейсов базы данных. Методы навигации используют «указатели» и «пути» для навигации между записями данных. Противоположной моделью является реляционная модель, в которой используются «декларативные» методы, в которых вы спрашиваете систему о том, что вы хотите, а не о том, как к этому перейти.
Приведем примеры реализаций навигационных баз данных.
IMS - навигационная
IDMS - навигационная
Векторные базы данных
Если вы занимаетесь машинным обучением, то основное, с чем вам приходится работать, это вектора. Это могут быть строки из таблицы, соответствующие признакам объекта, или эмбеддинг, полученный на выходе нейронной сети и характеризующий обработанный объект и в дальнейшем применяемый для идентификации по лицу или в переводе текста.
Специально для подобного рода задач были разработаны векторные базы данных, позволяющие работать непосредственно с векторами, представленными в виде числовых массивов.
Основное преимущество подобных баз, это скорость поиска и обработки векторов признаков. Можно как быстро искать похожие вектора, так и проводить над ними математические операции.
Векторные базы данных являются достаточно новым типом СУБД, где сложно назвать лидера.
Список векторных СУБД
Kdb мультимодальная
Pinecone - векторная
Chroma - векторная
Milvus - векторная
Weaviate - векторная
Vald - векторная
Qdrant - векторная
Deep Lake - векторная
Vespa - мультимодальная
MyScale - мультимодальная
Заключение
В данной статье мы рассмотрели разные типы систем управления базами данных, от самых популярных, таких как реляционные, до весьма экзотических, таких как навигационные. У каждого типа баз данных есть своя специализация, но это не отменяет того, что многие задачи хорошо решаются разными видами баз данных. В статье каждый тип данных был рассмотрен максимально лаконично, так как целью было дать именно общее представление о разнообразии СУБД. Более подробно типы баз данных будут рассмотрены в отдельных статьях.
В облаке Amvera Cloud вы можете развернуть PostgreSQL, MySQL, MongoDB и Redis c помощью простого push в выделенный Git-репозиторий. Для этого нужно выполнить несколько простых шагов, описанных в инструкциях для MongoDB, PostgreSQL, MySQL, Redis. Стоимость хостинга баз данных начинается от 170 руб. в месяц. Для теста системы вы можете ввести код QCOWI100, который добавит немного баланса для проведения экспериментов без необходимости предварительной оплаты.