Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
567 photos
468 videos
19 files
546 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Postgres: Графовая база данных, о которой вы не знали

PostgreSQL (Postgres) - это мощная реляционная база данных, которая может хранить широкий спектр типов и структур данных. Когда речь заходит о хранении структур данных графов, мы можем обратиться к базам данных, предназначенным для этого случая, например Neo4J или Dgraph. Придержите лошадей! Хотя Postgres обычно не рассматривается при работе с графовыми структурами данных, она прекрасно подходит для хранения и эффективного запроса графовых данных.

https://www.dylanpaulus.com/posts/postgres-is-a-graph-database

#db

👉 @database_info
👍6
Как работают атомарные транзакции в базе данных?

Атомарность делает возможным, чтобы транзакция имела только 2 результата:
- она успешно выполняет все операции и фиксируется
- прерывается из-за сбоя и отменяет все изменения

В единой базе данных атомарность возможна благодаря сохранению всех изменений в данных в журнале опережающей записи (WAL).
Каждый раз при внесении изменений WAL сохраняет их на диске, чтобы они сохранились надолго.
Каждая запись в WAL содержит всю информацию для отмены всех изменений.
Однако подход WAL недостаточен, если транзакция затрагивает более одной базы данных.
В таких ситуациях часто используется протокол двухфазной фиксации (2PC).
Согласно этому протоколу, один процесс должен быть координатором, а остальные - участниками.
Задача координатора - следить за тем, чтобы участники выполняли свою часть работы.
Чаще всего координатором является клиентский процесс, которому требуется транзакция.

Протокол состоит из 2 этапов:

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

После ответа участники ждут дальнейших инструкций.

2. Коммит.
Если все участники готовы, координатор посылает им запрос на фиксацию. В противном случае он попросит прервать транзакцию.
Этот шаг является точкой невозврата: транзакция должна быть зафиксирована или прервана.

Протокол 2PC работает, но имеет ряд недостатков:
- он медленный, так как требует многократных обходов между процессами
- блокируется при сбое координатора или отказе участника на этапе фиксации.

Репликация задействованных процессов делает 2PC более надежным, но добавляет сложности.

#db

👉 @database_info
👍5
Симулятор SQL. Часть 2

JOIN
Выбираем нужный JOIN
JOIN практика
Оконные функции основы
Оконные функции RANK и LAG
Продуктовые метрики
Построение дашбордов
Анализ Retention
Заключение

Часть 1 https://news.1rj.ru/str/database_info/924


источник

#db

👉 @database_info
👍4🔥1