Pull to refresh
11
Борисов Антон@BorisovAA

ETL разработчик

4
Subscribers
Send message

5 лайфхаков оптимизации SQL-запросов в Greenplum

Reading time5 min
Reach and readers61K


Любые процессы, связанные с базой, рано или поздно сталкиваются с проблемами производительности запросов к этой базе.

Хранилище данных Ростелекома построено на Greenplum, большая часть вычислений (transform) производится sql-запросами, которые запускает (либо генерирует и запускает) ETL-механизм. СУБД имеет свои нюансы, существенно влияющие на производительность. Данная статья — попытка выделить наиболее критичные, с точки зрения производительности, аспекты работы с Greenplum и поделиться опытом.

В двух словах о Greenplum
Greenplum — MPP сервер БД, ядро которого построено на PostgreSql.

Представляет собой несколько разных экземпляров процесса PostgreSql (инстансы). Один из них является точкой входа для клиента и называется master instance (master), все остальные — Segment instanсe (segment, Независимые инстансы, на каждом из которых хранится своя порция данных). На каждом сервере (segment host) может быть запущено от одного до нескольких сервисов (segment). Делается это для того, чтобы лучше утилизировать ресурсы серверов и в первую очередь процессоры. Мастер хранит метаданные, отвечает за связь клиентов с данными, а также распределяет работу между сегментами.



Подробнее можно почитать в официальной документации.

Далее в статье будет много отсылок к плану запроса. Информацию для Greenplum можно получить тут.

Как писать хорошие запросы на Greenplum (ну или хотя бы не совсем печальные)

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity