- Главная
- →
- Базы данных и системы хранения
Методология «Database First!» в растущем проекте Базы данных и системы хранения
Postgres.ai делает возможным работу с полноразмерными базами данных в CI, значительно улучшая качество разработки и тестирования.
Разрабатываемый компанией открытый инструмент, Database Lab Engine, позволяет создавать полноразмерные клоны баз данных любого размера за секунды. Используя такие клоны, вы можете тестировать изменения, оптимизировать SQL-запросы и быстро развёртывать независимые тестовые стенды.
Вебсайт компании – https://Postgres.ai/ – содержит также SaaS-версию Database Lab.
Кроме этого, эксперты Postgres.ai предоставляют консалтинговые услуги в области производительности и масштабирования систем ограниченному кругу быстрорастущих компаний.
Тезисы
СУБД — сердце и мозги вашего проекта. Это не просто место, куда можно складывать данные и забирать их оттуда. Современные СУБД (ну, к примеру, Postgres) позволяют хранить огромное количество данных, хранить надёжно и эффективно. А современный стандартный SQL и его расширения – быстро находить иголки в стогах сена, эффективно менять большие куски данных, проводить нетривиальные вычисления и использовать различные модели машинного обучения без лишних усилий.
При росте проекта команда постоянно сталкивается с вопросами устранения тех или иных узких мест. И очень часто это касается методов работы с данными — их хранения, поиска, модификации. Вам повезло, если вам удалось привлечь опытного специалиста по базам данных. А что, если нет?
В этом докладе я развиваю тему методологии «Database First!» (см. доклад «Database First! О распространённых ошибках использования РСУБД» на РИТ-2017) — подходе, в котором при работе с данными мы прежде всего полагаемся на возможности СУБД и современного SQL, а также качественные средства диагностики проблем и контроля производительности работы с данными.
В конкретных примерах акцент будет сделан на наиболее развитую из открытых СУБД – PostgreSQL, но сами принципы и многие примеры применимы и для других РСУБД.
В частности, разберём следующие вопросы:
- базовые правила метода «Database First!», роль инструментов мониторинга и диагностики, важность осведомлённости команды о базовых вопросах работы с данными (селективность и кардинальность, этапы оптимизации, возможности современных СУБД);
- проведение миграций (изменений схемы данных и самих данных) без простоя, надёжно и эффективно;
- производные структуры данных — views, materialized views и shadow tables — и выбор того или другого в зависимости от условий;
- контроль здоровья СУБД на примере Postgres – autovacuum, индексы, базовые настройки (короткие инструкции для тех, у кого в команде нет DBA-эксперта);
- использование современных конструкций SQL (CTE и Recursive CTE, LATERAL, Window Functions,etc) для более эффективной работы с данными.