TGViewer
Postgres Professional Postgres Professional @postgres_pro · 3.53K subscribers
Post #1358 1.43K
Почему аналитика в компаниях часто работает медленно — даже если ресурсов достаточно?

Обычно это выглядит так:

Бизнес: «Аналитика готовится слишком долго».

Аналитики: «Мы не можем напрямую работать с данными и ждем задач через инженеров».

Инженеры: «Нельзя пускать аналитиков в центральное DWH — один неудачный запрос может положить систему».

Такая ситуация встречается почти везде: в классических DWH Greenplum и Vertica, в современных системах вроде StarRocks и даже в lakehouse-инсталляциях на базе Spark. Причина — в архитектуре.

Где возникает проблема

Во многих аналитических СУБД есть общий компонент, через который проходит обработка запросов.

Из-за этого появляются узкие места. Например:

✔️ В Greenplum любой запрос проходит через ноду-координатор.

✔️ В Vertica нагрузка ложится на глобальный каталог.

✔️ В Spark и StarRocks один некорректный запрос может занять все вычислительные слоты.

В результате тяжелый запрос начинает тормозить работу всей системы. Ресурсные группы, квоты и другие механизмы лишь ограничивают ущерб, но не устраняют саму причину — конкуренцию за ресурсы.

Выход: изолировать вычисления

Если дать аналитикам полную свободу, идеальная система должна работать иначе.

Представьте, что каждый аналитик работает в своей персональной базе: он видит те же данные, но физически не делит вычислительные ресурсы с коллегами.

Именно такую архитектуру показал Snowflake с моделью shared data — independent compute.

Сессионные вычислители

Для каждой пользовательской сессии запускается отдельный легковесный SQL-вычислитель. Он стартует за доли секунды, подтягивает только нужные данные из хранилища и выполняет запрос, не мешая соседним сессиям.

Фактически каждый аналитик получает свой изолированный вычислитель.

Что это дает

При такой архитектуре пользователи перестают конкурировать за ресурсы:

✔️ Запросы аналитиков не мешают друг другу.

✔️ Тяжелые задачи не блокируют отчеты и ETL.

✔️ Систему можно масштабировать, просто добавляя вычислительные узлы.

Как это работает на практике

Такой подход реализован в аналитической системе Tengri, которую развивает Postgres Professional. Она использует архитектуру сессионных вычислителей и независимых SQL-воркеров.

В тестах на бенчмарке TPC-H система показала почти линейный рост производительности при увеличении числа параллельных пользователей и значительно более высокую эффективность при высокой нагрузке по сравнению с традиционными MPP-решениями.

Идея проста: если изолировать вычисления на уровне сессий, аналитика перестает бороться за ресурсы и начинает масштабироваться так, как этого ждут пользователи.

Читайте подробности на Хабре.

Убедиться в приведенных цифрах можно в документации.

Если любите смотреть, а не читать, сохраняйте плейлист на Youtube.
  • 👍 7
  • ❤ 4
  • 🔥 1
More from @postgres_pro
  1. Sep 28, 2026🚀 Наш метод доступа iHeap ускоряет выборку из больших таблиц PostgreSQL и сам создает инд…
  2. Sep 24, 2026🚀 Показываем, как перенести тяжелые отчеты 1С на реплику Postgres Pro Enterprise для 1С и…
  3. Sep 23, 2026⏰ Через час, в 11:00 по Москве, начнем вебинар «Postgres Pro Backup Enterprise: от бэкапа…
  4. Sep 22, 2026🌅 Утро вечера мудренее. Особенно если завтра 23 сентября и последний день приема докладов…
  5. Sep 22, 2026Tarkett перенесла 1С и 1С:ЗУП с Microsoft SQL Server на Postgres Pro Enterprise для 1С — н…
  6. Sep 21, 2026🗂️ От бумажных картотек до поиска по смыслу — как базы данных стали основой цифровых серв…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →