Очередь задач на Postgres: SKIP LOCKED + lease/heartbeat + backpressure (практический опыт)
Читать статью
Читать статью
Хабр
Очередь задач на Postgres: SKIP LOCKED + lease/heartbeat + backpressure (практический опыт)
В какой-то момент на старте в нашем data-сервисе (известная в узких кругах аналитическая платформа для селлеров WB/Ozon «Таблички») стало возникать много фоновых работ: ETL‑сенсоры, сложные...
❤1
Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres
Читать статью
Читать статью
Хабр
Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres
На проекте внедрения машины баз данных Tantor XData у одного из заказчиков мы периодически анализировали топ длительных запросов к СУБД, чтобы следить за производительностью системы. Делаем мы это...
👍4
От скриншота до PostgreSQL: парсим банковские операции через Claude Vision
"Это первая статья из цикла о построении CDC-пайплайна в домашней лаборатории.
Полный путь: Telegram → PostgreSQL → Debezium → Kafka → HDFS → DWH.
Но любой пайплайн начинается с данных — и эта статья про их получение."
Читать статью
"Это первая статья из цикла о построении CDC-пайплайна в домашней лаборатории.
Полный путь: Telegram → PostgreSQL → Debezium → Kafka → HDFS → DWH.
Но любой пайплайн начинается с данных — и эта статья про их получение."
Читать статью
👍5
Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres
Читать статью
Читать статью
Хабр
Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres
На проекте внедрения машины баз данных Tantor XData у одного из заказчиков мы периодически анализировали топ длительных запросов к СУБД, чтобы следить за производительностью системы. Делаем мы это...
👍2
PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности
Эта статья — не академическое исследование внутреннего устройства СУБД, а описание универсального инженерного подхода к контролю качества кода и нагрузки на базу. Авторы покажут, как с помощью бесплатного инструмента pgBadger организовать регулярный аудит запросов и почему этот метод критически важен для любой OLTP‑системы — он помогает купировать риски падений во время пиковых нагрузок. Методика проиллюстрирована на реальном примере из практики.
Читать статью
Эта статья — не академическое исследование внутреннего устройства СУБД, а описание универсального инженерного подхода к контролю качества кода и нагрузки на базу. Авторы покажут, как с помощью бесплатного инструмента pgBadger организовать регулярный аудит запросов и почему этот метод критически важен для любой OLTP‑системы — он помогает купировать риски падений во время пиковых нагрузок. Методика проиллюстрирована на реальном примере из практики.
Читать статью
Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse
Автор - Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS:
"Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.
Мы храним информацию о событиях, которые обрабатывает наша платформа. Подробнее о них я расскажу ниже, сейчас важно указать, что все эти события формируют статистику, доступную пользователям. И данные для этой статистики, собранные за год, уже занимают у нас под 2 ТБ дискового пространства, что дорого само по себе, не говоря уже о том, что некоторые запросы в базу стали выполняться заметно дольше ожидаемого."
Читать статью
Автор - Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS:
"Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.
Мы храним информацию о событиях, которые обрабатывает наша платформа. Подробнее о них я расскажу ниже, сейчас важно указать, что все эти события формируют статистику, доступную пользователям. И данные для этой статистики, собранные за год, уже занимают у нас под 2 ТБ дискового пространства, что дорого само по себе, не говоря уже о том, что некоторые запросы в базу стали выполняться заметно дольше ожидаемого."
Читать статью
Мысли вслух. Протоколы и механизмы синхронизации транзакций в распределённом вычислительном кластере СУБД
Читать статью
Читать статью
Хабр
Мысли вслух. Протоколы и механизмы синхронизации транзакций в распределённом вычислительном кластере СУБД
Предисловие Продолжаю вести рубрику «Мысли вслух». Цель данной публикации – описать алгоритмы и новизну моих исследований по созданию кластера СУБД с горизонтальным масштабированием производительности...
👍2
👍5
25 железных правил проектирования баз данных в PostgreSQL
В статье приведены 25 правил, которые Автор собрал из опыта работы с высоконагруженными системами. Это не теория из учебника — это грабли, на которые уже наступили до вас. Каждое правило сопровождается примером «как надо» и «как не надо», чтобы разница была наглядной.
Читать статью
В статье приведены 25 правил, которые Автор собрал из опыта работы с высоконагруженными системами. Это не теория из учебника — это грабли, на которые уже наступили до вас. Каждое правило сопровождается примером «как надо» и «как не надо», чтобы разница была наглядной.
Читать статью
👍5😢2
Forwarded from Заметки Аналитика | IT
SQL для ритейла: пример 5 задач, которые я решала как аналитик ассортимента
В статье на примере пяти реальных задач из ритейла показывается, как аналитик ассортимента использует SQL для работы. Автор делится опытом, как с нуля (без технического бэкграунда) освоила язык для решения практических вопросов: анализа товаров, категорий, продаж и поставок. Статья доказывает, что SQL — логичный и мощный инструмент для извлечения данных, а не просто абстрактный навык из требований вакансий.
Читать статью
В статье на примере пяти реальных задач из ритейла показывается, как аналитик ассортимента использует SQL для работы. Автор делится опытом, как с нуля (без технического бэкграунда) освоила язык для решения практических вопросов: анализа товаров, категорий, продаж и поставок. Статья доказывает, что SQL — логичный и мощный инструмент для извлечения данных, а не просто абстрактный навык из требований вакансий.
Читать статью
👍3❤1
Forwarded from Заметки Аналитика | IT
Виды моделирования данных. Полный гайд
"Спроси любого уважаемого аналитика или инженера данных о том, какие бывают способы моделирования данных, тебе ответят: звезда, 3NF и DataVault. Спроси ИИ, получишь примерно такой же ответ. Придешь на какой-нибудь проект в компанию, также скорее всего встретишь там кого-нибудь из этих друзей. В 90% материалах про методологии моделирования освещаются только эти трое. Как будто других методологий не существует.
Да, эта троица, наверное, самая популярная и подходящая под большую часть задач, но в мире есть еще уйма других не менее интересных способов как организовать свои данные. И сегодня мы постараемся целиком их рассмотреть. Если какие-то упустил, пишите в комментах, интересно будет почитать."
Читать статью
"Спроси любого уважаемого аналитика или инженера данных о том, какие бывают способы моделирования данных, тебе ответят: звезда, 3NF и DataVault. Спроси ИИ, получишь примерно такой же ответ. Придешь на какой-нибудь проект в компанию, также скорее всего встретишь там кого-нибудь из этих друзей. В 90% материалах про методологии моделирования освещаются только эти трое. Как будто других методологий не существует.
Да, эта троица, наверное, самая популярная и подходящая под большую часть задач, но в мире есть еще уйма других не менее интересных способов как организовать свои данные. И сегодня мы постараемся целиком их рассмотреть. Если какие-то упустил, пишите в комментах, интересно будет почитать."
Читать статью
Почему
Читать статью
SUM() OVER (ORDER BY ...) иногда считает «неправильно»: разбираем оконные фреймы в SQLЧитать статью
Хабр
Почему `SUM() OVER (ORDER BY ...)` иногда считает «неправильно»: разбираем оконные фреймы в SQL
Оконные функции в SQL полезны тем, что позволяют делать аналитику по строкам без GROUP BY : считать ранги, накопительные итоги, скользящие средние, доли, сравнения с соседними строками и агрегаты по...
🔥3
Ускоряем вставку данных в PostgreSQL
Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Дмитрий Фатов, руководитель разработки Газпромбанка:
"В докладе разберём, как ускорить вставку данных в PostgreSQL:
- От обычных insert до кастомных методов PostgreSQL и сколько профита они дают по производительности.
- Распараллеливание процесса вставки с сохранением атомарности всей операции.
- Как ускорить обновление данных в PostgreSQL и сделать эту вставку атомарной.
- Важное примечание. Все примеры в статье будут написаны без использования ORM. Только JDBC, только хардор)"
Читать статью
Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Дмитрий Фатов, руководитель разработки Газпромбанка:
"В докладе разберём, как ускорить вставку данных в PostgreSQL:
- От обычных insert до кастомных методов PostgreSQL и сколько профита они дают по производительности.
- Распараллеливание процесса вставки с сохранением атомарности всей операции.
- Как ускорить обновление данных в PostgreSQL и сделать эту вставку атомарной.
- Важное примечание. Все примеры в статье будут написаны без использования ORM. Только JDBC, только хардор)"
Читать статью
Почему VACUUM не спасает от раздувания индексов в PostgreSQL
"Есть одно распространённое заблуждение, которое мешает многим разработчикам, работающим с PostgreSQL: достаточно настроить VACUUM или просто запускать VACUUM, и база данных будет оставаться в хорошем состоянии. Мёртвые кортежи будут удаляться. Идентификаторы транзакций — переиспользоваться, а пространство — освобождаться. И база данных будет счастливо жить дальше.
Но здесь есть пара неприятных моментов, о которых многие не знают. Первый из них заключается в том, что VACUUM вводит вас в заблуждение, когда дело касается индексов."
Читать статью
"Есть одно распространённое заблуждение, которое мешает многим разработчикам, работающим с PostgreSQL: достаточно настроить VACUUM или просто запускать VACUUM, и база данных будет оставаться в хорошем состоянии. Мёртвые кортежи будут удаляться. Идентификаторы транзакций — переиспользоваться, а пространство — освобождаться. И база данных будет счастливо жить дальше.
Но здесь есть пара неприятных моментов, о которых многие не знают. Первый из них заключается в том, что VACUUM вводит вас в заблуждение, когда дело касается индексов."
Читать статью
👍3
Книга «PostgreSQL 16. Оптимизация запросов»: учимся читать мысли планировщика
"Планировщик запросов PostgreSQL — это интеллект, принимающий тысячи решений в секунду, и именно его понимание отличает хорошего разработчика от великолепного. Книга Павла Толмачёва «PostgreSQL 16. Оптимизация запросов» — компактный, но ёмкий путеводитель по внутренней кухне планировщика: как устроена его логика, как читать планы выполнения запросов и как исправить его, когда он ошибается."
Читать статью
"Планировщик запросов PostgreSQL — это интеллект, принимающий тысячи решений в секунду, и именно его понимание отличает хорошего разработчика от великолепного. Книга Павла Толмачёва «PostgreSQL 16. Оптимизация запросов» — компактный, но ёмкий путеводитель по внутренней кухне планировщика: как устроена его логика, как читать планы выполнения запросов и как исправить его, когда он ошибается."
Читать статью
👍4