Графовые базы данных и базы данных временных рядов
Коротко: Графовые базы данных хранят связи между вещами как сеть, базы данных временных рядов — измерения с метками времени; обе специализированы под свой шаблон данных.
Подробнее: Реляционные базы данных универсальны. Для определённых форм данных существуют специализированные базы данных, гораздо более быстрые или простые для этих задач.
Подробности
Графовые базы данных
Данные состоят из узлов (люди, товары), рёбер (связи вроде «знает», «купил») и свойств. Запросы вроде «друзья друзей» или «кратчайший путь» прямы и быстры там, где SQL потребовал бы множества соединений.
Примеры: Neo4j (язык запросов Cypher), Amazon Neptune, Memgraph.
MATCH (a:Person {name:'Mia'})-[:KNOWS*2]-(b)
RETURN DISTINCT b.name
Применение: социальные сети, рекомендации, обнаружение мошенничества, графы знаний, топология сети.
Базы данных временных рядов
Данные — измерения с метками времени: температура, нагрузка на сервер, курсы акций, датчики. Типично: очень много записей, редкие изменения, запросы по временным диапазонам (среднее за час, максимум недели) и автоматическое удаление или сжатие старых данных (retention, downsampling).
Примеры: InfluxDB, TimescaleDB (расширение PostgreSQL), Prometheus, ClickHouse.
SELECT time_bucket('1 hour', ts) AS hour, avg(value)
FROM measurements GROUP BY hour;Когда это стоит того?
При небольших объёмах данных PostgreSQL часто вполне достаточно (с рекурсией/индексами, с расширением TimescaleDB для временных рядов). Специализированные базы данных окупаются, когда глубина связей или объём данных разрывают SQL. Каждая дополнительная база данных приносит эксплуатацию, резервное копирование и знания.
Другие типы
Документные базы данных (MongoDB), ключ–значение (Redis), широкостолбцовые (Cassandra), векторные базы данных (для эмбеддингов и ИИ-поиска), поисковые системы (Elasticsearch). Выбор следует за шаблоном доступа, а не за трендом.
См. также: Базы данных NoSQL, Prometheus, Redis, MongoDB