EMZETT.
Увійти

Графові бази даних і бази даних часових рядів

Коротко: Графові бази даних зберігають зв’язки між речами як мережу, бази даних часових рядів — вимірювання з мітками часу; обидві спеціалізовані під свій шаблон даних.

Докладніше: Реляційні бази даних універсальні. Для певних форм даних існують спеціалізовані бази даних, набагато швидші або простіші для цих завдань.

Подробиці

Графові бази даних

Дані складаються з вузлів (люди, товари), ребер (зв’язки на кшталт «знає», «купив») і властивостей. Запити на кшталт «друзі друзів» чи «найкоротший шлях» прямі та швидкі там, де 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