Разбираемся в функциональных зависимостях БД
#почитать
Возможно вас, как и меня, первое знакомство с функциональными зависимостями в базах данных повергло в легкий ступор. Длинные определения, которые не давались даже после третьего прочтения, излишняя абстрактность, когда на простые и понятные примеры поскупились, и прочее прелести «научного» подхода к объяснению сложных тем.
Пора раз и навсегда разобраться во всем этом. Тем не менее, я постараюсь не упускать детали и, где это уместно, углубиться в тему с головой. Без претензии на академичность, но с претензией на ясность.
✅ Читать статью
#почитать
Возможно вас, как и меня, первое знакомство с функциональными зависимостями в базах данных повергло в легкий ступор. Длинные определения, которые не давались даже после третьего прочтения, излишняя абстрактность, когда на простые и понятные примеры поскупились, и прочее прелести «научного» подхода к объяснению сложных тем.
Пора раз и навсегда разобраться во всем этом. Тем не менее, я постараюсь не упускать детали и, где это уместно, углубиться в тему с головой. Без претензии на академичность, но с претензией на ясность.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
Как организовать тестовую среду, сохраняя покой владельца данных
#почитать
✅ Читать статью
#почитать
Хочу поделиться опытом с коллегами - как мы решили одну из наболевших проблем нашей команды разработки – отсутствие полноты данных для тестирования реализованного функционала в условиях ограниченного доступа к реальным данным компании. Если вы работаете с персональными данными, то наверняка сталкивались с такой проблемой.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение
#почитать
✅ Читать статью
#почитать
Иногда в архиве нашего сервиса анализа планов запросов к PostgreSQL встречаются примеры не очень эффективных, мягко говоря, запросов.
Сегодня на примере одного из них, вызванного простой бизнес-задачей, посмотрим, как отказ от использования агрегатных функций может ускорить запрос в разы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
Forwarded from QA Live 🚩 Тестирование ПО
▫️Руководство по имитаторам для тестировщиков
▫️Бюджетное тестирование облачных приложений: Testcontainers и LocalStack
▫️Какие задачи в тестировании пора отдать ИИ, чтобы получить результат, а не новые проблемы
▫️От вебинаров до биллинга: что нужно тестировать в EdTech
▫️6 ошибок в метриках дефектов, из-за которых QA теряет контроль над качеством
▫️Аудит нагрузочного тестирования: пять этапов реального проекта
▫️Тестирование UX для мобильных приложений: чек‑лист без софта и магии
▫️Дорогие автотесты: когда автоматизация тестирования начинает вредить бизнесу
▫️Playwright, Selenium, Cypress, WebdriverIO: что реально известно о скорости в 2026 году (и как намерить свои цифры)
▫️Что перестаёт работать в тестировании, когда приходит LLM
▫️4 антипаттерна CI‑автоматизации, из‑за которых команда делает работу за ботов
▪️Как начать тестировать внутренние покупки (In-App Purchases) на Android
▪️Как мы создали новый тестовый фреймворк, адаптируемый к росту проектов
▪️Путь нагрузочного тестирования или почему я создал свой софт по нагрузке
▪️Группировка ошибок вручную и автоматически, или чем тестировщику занять своё время
▪️Как правильно писать WebSocket API автотесты на Python
▪️Как мы тестировали Tarantool Database на 640 инстансов
▪️Процессы vs инструменты: как Авито Sales строит QA с нулевыми сдвигами сроков
▪️Как мы тестируем Tantor Postgres для 1С — от нагрузочных тестов до оптимизаций планировщика
▪️Как мы превратили Swagger из документации в двигатель API-автотестов
▪️Retry в Go автотестах: как перестать бояться flaky-тестов
▪️Генерация автотестов с ИИ: почему первый PR растянулся на две недели и что изменилось после анализа фреймворка
▪️Кейс обучения QA-персонала: развитие навыков оценки задач и контроль качества через метрики
▪️Мы дали ИИ написать код и тесты: что обнаружило мутационное тестирование
▫️Сокращения в российском IT продолжаются – Мы создали автоиндикатор найма, который покажет окончание кризиса
▫️SDET как эволюция QA, или почему автотестов больше недостаточно
▫️Ломаем автопилот: как я перестал тестировать механически
▫️Работодатели давно играют в волков. Просто теперь соискатели научились отвечать
▫️IT-пузырь лопнул: почему одни айтишники не могут найти работу, а других всё равно не хватает
▫️Археология автотестирования: SUnit, прародитель JUnit
▫️Что такое парадокс изогнутой трубы — и почему интуиция нас подводит
▫️Как одна операция из линейной алгебры захватила мир ИИ
▫️Манипуляция ответами нейронок — как сеошники убивают интернет
Разоблачай иллюзии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
И снова про алгоритмы и структуры данных
#почитать
За годы разработки приходит понимание, что происходит в тех или иных сервисах, когда они тормозят, лагают, выдают «неожидаемое» поведение. В данной статье хочу рассмотреть проблему неправильного использования алгоритмов и архитектурных решений с бытовой, общечеловеческой стороны.
✅ Читать статью
#почитать
За годы разработки приходит понимание, что происходит в тех или иных сервисах, когда они тормозят, лагают, выдают «неожидаемое» поведение. В данной статье хочу рассмотреть проблему неправильного использования алгоритмов и архитектурных решений с бытовой, общечеловеческой стороны.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥1
Как ИИ помогает проектировать базы данных
#почитать
Многие кто уже успел попробовать Cursor и подобные инструменты, восхищаются как ИИ способен писать код.
✅ Читать статью
#почитать
Многие кто уже успел попробовать Cursor и подобные инструменты, восхищаются как ИИ способен писать код.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Ускорение планирования JOIN’ов — до 16 раз быстрее
#почитать
Если раньше алгоритм сравнения частых значений (MCV) работал за O(N²), и при target=10k само планирование запроса могло занимать десятки миллисекунд, то теперь вместо квадратичного перебора будет использоваться хеш-таблица, а это снижает сложность до O(N). Изменение особенно оценят те, кто работает с неравномерными данными и поднимает default_statistics_target выше 1000.
✅ Читать статью
#почитать
Если раньше алгоритм сравнения частых значений (MCV) работал за O(N²), и при target=10k само планирование запроса могло занимать десятки миллисекунд, то теперь вместо квадратичного перебора будет использоваться хеш-таблица, а это снижает сложность до O(N). Изменение особенно оценят те, кто работает с неравномерными данными и поднимает default_statistics_target выше 1000.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
SQL HowTo: ускоряем запрос в 32 раза
#почитать
Не читайте, пока хотите решить задачу самостоятельно.
✅ Читать статью
#почитать
Не читайте, пока хотите решить задачу самостоятельно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как ускорить SQL-запрос в миллион раз без изменения кода
#почитать
Однажды при мониторинге мы обратили внимание на запрос, который занимал первое место по длительности: 40+ секунд на выполнение при 657 вызовах за день. Причина состояла в том, что из-за неточной статистики распределения данных выбирался неподходящий индекс. В статье расскажем о том, как с помощью параметра STATMULTIPLIER в СУБД Tantor Postgres этот проблемный запрос удалось ускорить примерно в миллион раз — до 0.042 миллисекунды, — просто повысив точность статистики без изменения кода или структуры базы данных.
✅ Читать статью
#почитать
Однажды при мониторинге мы обратили внимание на запрос, который занимал первое место по длительности: 40+ секунд на выполнение при 657 вызовах за день. Причина состояла в том, что из-за неточной статистики распределения данных выбирался неподходящий индекс. В статье расскажем о том, как с помощью параметра STATMULTIPLIER в СУБД Tantor Postgres этот проблемный запрос удалось ускорить примерно в миллион раз — до 0.042 миллисекунды, — просто повысив точность статистики без изменения кода или структуры базы данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Стратегии партицирования базы данных: горизонтальное и вертикальное разделение
#почитать
Партиционирование (или секционирование) — это метод разделения одной большой таблицы базы данных на более мелкие, управляемые логические части (партиции) для повышения производительности запросов, упрощения администрирования и управления большими объемами данных, например, по диапазонам дат, списков или хэшам. Это позволяет системе обращаться только к нужным разделам, а не ко всей таблице, ускоряет отчеты, архивацию и другие операции, а также можно перемещать неактивные данные на медленные носители.
✅ Читать статью
#почитать
Партиционирование (или секционирование) — это метод разделения одной большой таблицы базы данных на более мелкие, управляемые логические части (партиции) для повышения производительности запросов, упрощения администрирования и управления большими объемами данных, например, по диапазонам дат, списков или хэшам. Это позволяет системе обращаться только к нужным разделам, а не ко всей таблице, ускоряет отчеты, архивацию и другие операции, а также можно перемещать неактивные данные на медленные носители.
Please open Telegram to view this post
VIEW IN TELEGRAM
Если UPDATE столкнулся с заблокированной строкой
#почитать
В PostgreSQL и Oracle Database команда UPDATE, столкнувшаяся с заблокированной строкой, ведёт себя по-разному. В статье рассматривается, как выполняется UPDATE в этих базах данных. Это может быть полезно при миграции кода приложения мжду этими базами данных.
✅ Читать статью
#почитать
В PostgreSQL и Oracle Database команда UPDATE, столкнувшаяся с заблокированной строкой, ведёт себя по-разному. В статье рассматривается, как выполняется UPDATE в этих базах данных. Это может быть полезно при миграции кода приложения мжду этими базами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хроники тестирования Data Quality
#почитать
В современных data-процессах ключевую роль играет обеспечение качества данных. Рассмотрим четыре популярных подхода: DBT, SQL, Python (Pandas/SQLAlchemy) и Great Expectations, оценив их эффективность для различных сценариев проверки данных.
Эта статья будет интересна и полезна Data-инженерам, аналитикам данных и специалистам Data Quality для выбора оптимального метода валидации данных в зависимости от стека технологий и сложности бизнес-логики. Материал ориентирован на начинающий уровень подготовки: тем, кто еще не сталкивался системно с инструментами управления качеством данных.
✅ Читать статью
#почитать
В современных data-процессах ключевую роль играет обеспечение качества данных. Рассмотрим четыре популярных подхода: DBT, SQL, Python (Pandas/SQLAlchemy) и Great Expectations, оценив их эффективность для различных сценариев проверки данных.
Эта статья будет интересна и полезна Data-инженерам, аналитикам данных и специалистам Data Quality для выбора оптимального метода валидации данных в зависимости от стека технологий и сложности бизнес-логики. Материал ориентирован на начинающий уровень подготовки: тем, кто еще не сталкивался системно с инструментами управления качеством данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Увольняем джуниора: автоматизируем анализ данных c Claude Code, Codex, Cursor, OpenCode
#почитать
Вспомните, как вы онбордили аналитика: показывали данные, примеры рабочих SQL, неочевидные легаси и костыли — и через какое-то время он начинал перформить самостоятельно.
Чтобы научить AI-агента — нужно пройти ровно те же шаги, только вместо недель, на обучения потратятся часы, а в результате большая часть рутины аналитика будет автоматизирована.
В этой статье я расскажу, как я автоматизировал свой анализ данных, и дам пошаговую инструкцию, которую вы с легкостью сможете повторить это у себя в проекте.
Статья будет полезна как предпринимателям, которые хотят оптимизировать процессы, так и аналитикам, которые хотят прокачать себя.
✅ Читать статью
#почитать
Вспомните, как вы онбордили аналитика: показывали данные, примеры рабочих SQL, неочевидные легаси и костыли — и через какое-то время он начинал перформить самостоятельно.
Чтобы научить AI-агента — нужно пройти ровно те же шаги, только вместо недель, на обучения потратятся часы, а в результате большая часть рутины аналитика будет автоматизирована.
В этой статье я расскажу, как я автоматизировал свой анализ данных, и дам пошаговую инструкцию, которую вы с легкостью сможете повторить это у себя в проекте.
Статья будет полезна как предпринимателям, которые хотят оптимизировать процессы, так и аналитикам, которые хотят прокачать себя.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡8