Колоночные базы данных (также нереляционные колоночные хранилища или базы данных с широкими столбцами) принадлежат к семейству NoSQL БД, но внешне похож на реляционные БД. Как и реляционные, колоночные БД хранят данные, используя строки и столбцы, но с иной связью между элементами.
В реляционных БД все строки должны соответствовать фиксированной схеме. Схема определяет, какие столбцы будут в таблице, типы данных и другие критерии. В колоночных базах вместо таблиц имеются структуры – «колоночные семейства». Семейства содержат строки, каждая из которых определяет собственный формат. Строка состоит из уникального идентификатора, используемого для поиска, за которым следуют наборы имён и значений столбцов.
Следствия:
· БД удобны при работе с приложениями, требующими высокой производительности;
· данные и метаданные записи доступны по одному идентификатору;
· гарантировано размещение всех данных из строки в одном кластере, что упрощает сегментацию и масштабирование данных.
|
|
Примеры:
· Cassandra
· HBase
Базы данных временных рядов
Базы данных временны́х рядов созданы для сбора и управления элементами, меняющимися с течением времени. Большинство таких БД организованы в структуры, которые записывают значения для одного элемента. Например, можно создать таблицу для отслеживания температуры процессора. Внутри каждое значение будет состоять из временной метки и показателя температуры. В таблице может быть несколько метрик.
Следствия:
· ориентированы на запись;
· предназначены для обработки постоянного потока входных данных;
· производительность зависит от количества отслеживаемых элементов, интервала опроса между записью новых значений и фактической полезной нагрузки данных.
Примеры:
· OpenTSDB
· Prometheus
· InfluxDB
· TimescaleDB
IV. Комбинированные типы
NewSQL и многомодельные БД являются разными типами баз данных, но решают одну группу проблем, вызванных полярными подходами SQL или NoSQL-стратегии. Почему бы не объединить преимущества обеих групп?
NewSQL базы данных
NewSQL базы данных наследуют реляционную структуру и семантику, но построены с использованием более современных, масштабируемых конструкций. Цель – обеспечить большую масштабируемость, нежели реляционные БД, и более высокие гарантии согласованности, чем в NoSQL. Компромисс между согласованностью и доступностью является фундаментальной проблемой распределённых баз данных, описываемой теоремой CAP.
Следствия:
· возможность горизонтального масштабирования;
· высокая доступность;
· большая производительность и репликация;
· небольшой функционал и гибкость;
· немалое потребление ресурсов и необходимость специализированных знаний для работы с базой данных.
Примеры:
· MemSQL
· VoltDB
· Spanner
· Calvin
· CockroachDB
· FaunaDB
· yugabyteDB