PostgreSQL
PostgreSQL — реляційна база даних із підтримкою транзакцій, SQL-запитів і JSON. Я використовую її в DigiPulse для даних моніторингу, з яких застосунок формує поточний стан сервісів та історію інцидентів.
Робота з результатами моніторингу
Результати перевірок доступності накопичуються з часом. Запити мають знаходити дані конкретного монітора за потрібний період без читання зайвих рядків. На швидкість і обсяг сховища впливають індекси, строки зберігання та агрегація. План виконання допомагає зрозуміти, на що запит витрачає ресурси.
Ізоляцію клієнтів потрібно описувати точно
Окрема база для кожного клієнта й окрема схема всередині спільної бази — різні архітектури. PostgreSQL підтримує обидва варіанти, але для схем потрібні відповідні права та обмеження запитів. Жоден варіант сам по собі не забезпечує дотримання всіх вимог до обробки даних або захисту від помилок доступу.
Як я обираю базу даних
Обмеження цілісності та JSONB корисні, коли застосунок поєднує структуровані записи з гнучкими наборами полів. MySQL також підходить для багатьох Laravel- і WordPress-проєктів. Перед вибором порівнюю реальні запити, модель даних і вимоги до підтримки.
