DATABASE DESIGN
СтатистикаЛучшие материалы по работе с хранилищами данных на русском и английском языке Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
- Последний пост
- 1 апр.
- Последнее чтение
- 23:52
- Постов за неделю
- 0
- Всего постов
- 21
- Тип
- открытый
- Язык
- русский
- Категория
- Языки
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Один логический оператор ускоряет запрос в 32 раза: почему NOT EXISTS быстрее Если в таблице есть булево поле (например, deleted), и большинство строк имеют одно значение, а меньшинство — другое, то способ написания запроса может кардинально повлиять на скорость. Пример: 50 млн записей, удалено всего 2%. Для активных строк построен большой индекс (1 ГБ), для удалённых — маленький (22 МБ). Логически одинаковые запросы: — EXISTS (SELECT ... WHERE NOT deleted) — ищет в большом индексе, находит строку почти всегда, и затем идёт в основную таблицу, чтобы проверить актуальность данных. — NOT EXISTS (SELECT ... WHERE deleted) — ищет в маленьком индексе, не находит строку в 98% случаев и сразу завершает работу, не обращаясь к основной таблице. Результат: 22,5 секунды против 717 миллисекунд. Разница в 32 раза. Суть в том, что проверка «не найдено» обходится дешево. А «найдено» требует дополнительного чтения из основной таблицы. Эту логику можно применять к любым полям, где одно значение встречается редко: is_archived, is_banned, is_draft. Подробные бенчмарки и объяснения : https://postgres.ai/blog/20260311-not-exists-vs-exists-partial-index
Postgres Pro Enterprise 18: встроенный in-memory кеш и новые горизонты отказоустойчивости Асинхронный ввод-вывод, ML-оптимизация планов запросов и встроенный пулинг соединений — ключевые особенности новой Postgres Pro Enterprise 18. Релиз объединил возможности ванильного ядра PostgreSQL 18 и Enterprise-инструменты для работы с большими данными. Расскажем про технические детали, новые стратегии сканирования индексов и механизмы масштабирования записи. Читать: https://habr.com/ru/companies/postgrespro/articles/989394/ #ru @database_design | Другие наши каналы
Как запрос из DuckDB упёрся в PostgreSQL: 507 секунд по EXPLAIN ANALYZE Оконные функции в SQL выглядят безобидно ровно до того момента, пока не попадают на реальные объёмы данных. В этой статье разбирается конкретный аналитический запрос в PostgreSQL: от формулировки задачи и использования lead() до детального анализа плана выполнения с EXPLAIN ANALYZE. Без абстракций и «магии оптимизатора» — только факты, цифры, сортировки на диск, буферы и выводы, которые полезно уметь делать любому аналитику, работающему с большими таблицами. Читать: https://habr.com/ru/companies/otus/articles/989440/ #ru @database_design | Другие наши каналы
Postgres по-русски: где наши Aurora, AlloyDB и Neon? Базы данных давно являются фундаментом цифровой экономики. От их архитектуры и производительности во многом зависят скорость вывода продуктов на рынок, стабильность сервисов и итоговая стоимость ИТ-инфраструктуры. В мировой практике одним из основных стандартов де-факто, вокруг которого формируются экосистемы серьезных решений, стала открытая СУБД PostgreSQL. В России она используется во множестве корпоративных приложений, есть целый ряд отечественных форков и дистрибутивов. Но у ряда зарубежных компаний( есть серьезные прорывные реализации, интенсивно развивающие Postgres (например, Aurora, AlloyDB и Neon, об этом ниже), а у российских этого почему-то не наблюдается. Это противоречие между массовым использованием PostgreSQL в нашей стране и отсутствием технологического прорыва задает остроту сегодняшней повестки отечественного СУБД-строения. Читать: https://habr.com/ru/companies/tantor/articles/988340/ #ru @database_design | Другие наши каналы
Когда gfix бессилен: инструмент восстановления БД Firebird, спасаем данные Разбираем бинарный формат Firebird по байтам: структура страниц, транзакции, MVCC. Пишем утилиту на Delphi для восстановления данных, когда gfix и gbak бессильны. Читать: https://habr.com/ru/articles/986764/ #ru @database_design | Другие наши каналы
PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени. Читать: https://habr.com/ru/articles/988114/ #ru @database_design | Другие наши каналы
Библиотека объектов nanoCAD BIM Строительство 25: настройка и использование в проекте Эта статья – детальный обзор работы с Библиотекой объектов в nanoCAD BIM Строительство 25 – ключевом инструменте для наполнения информационной модели. Рассмотрены принципы работы с параметрическими элементами, структура библиотеки и её интеграция с Диспетчером проекта. Отдельное внимание уделено настройке библиотек в корпоративной среде с помощью Менеджера библиотек, а также процессу создания пользовательских объектов. Материал будет полезен архитекторам и конструкторам, оценивающим российские BIM-решения для типовых и сложных проектов, и позволит понять практические аспекты повышения скорости и стандартизации проектирования. Читать: https://habr.com/ru/companies/nanosoft/articles/985502/ #ru @database_design | Другие наши каналы
Как мы измеряем качество в VK Видео Привет, Хабр. Меня зовут Павел Муханов. Я руководитель лаборатории качества видеоплатформы VK. ВКонтакте, ОК, VK Клипы, VK Видео и другие сервисы VK, предоставляющие возможность просмотра видео, используют в качестве core-технологии видеоплатформу VK. Она объединяет видеохостинг, стриминг и облачное хранилище и предоставляет аудитории бесшовный доступ к огромной библиотеке контента. Чтобы гарантировать стабильную работу видеоплатформы — предсказуемое качество видео и корректную работу плеера, — мы в лаборатории качества внимательно следим за метриками. В статье на примере VK Видео расскажу, как мы оцениваем качество и какие результаты получили, когда ввели регулярный мониторинг качества видео и перформанса. Читать: https://habr.com/ru/companies/vk/articles/985120/ #ru @database_design | Другие наши каналы
Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres Однажды при мониторинге мы обратили внимание на запрос, который занимал первое место по длительности: 40+ секунд на выполнение при 657 вызовах за день. Причина состояла в том, что из-за неточной статистики распределения данных выбирался неподходящий индекс. В статье расскажем о том, как с помощью параметра STATMULTIPLIER в СУБД Tantor Postgres этот проблемный запрос удалось ускорить примерно в миллион раз — до 0.042 миллисекунды, — просто повысив точность статистики без изменения кода или структуры базы данных. Читать: https://habr.com/ru/companies/tantor/articles/985130/ #ru @database_design | Другие наши каналы
CTE (Common Table Expression) / Django CTE Как только ты начинаешь углубляться в изучение баз данных, так сразу на горизонте возникают такие понятия как подзапросы, CTE, представления и временные таблицы. По опыту работы в университете заметил, что с этими темами у людей часто возникают проблемы и недопонимания. В частности больше всего путаницы вносит именно CTE. Поэтому в этой статье я расскажу: 1. что такое CTE 2. зачем оно нужно 3. что такое рекурсивные СТЕ 4. чем СТЕ отличается от временных таблиц, представлений и подзапросов 5. как СТЕ может плохо сказаться на производительности 6. как использовать СTE в самом народном фреймворке Django Использует SELECT со звёздочкой Макс - Lead Backend и автор YouTube-канала PyLounge. Поехали! Читать: https://habr.com/ru/articles/984962/ #ru @database_design | Другие наши каналы
Проектирование целевой архитектуры: второй шаг к быстрой и безопасной миграции ЦОД Обследование инфраструктуры мы пережили в первой части — и те, кто знаком с предысторией, понимают, что слово «пережили» здесь выбрано совсем не случайно. Теперь настало время двигаться дальше — к этапу, где уже не просто ищут проблемы, а проектируют мир, в котором эти проблемы не должны появляться вовсе: к целевой архитектуре. Именно на этом шаге закладывается каркас будущей ИТ-среды: определяются требования к производительности, формируются принципы отказоустойчивости, продумывается структура сетевого взаимодействия и планируется размещение оборудования. Промахнуться здесь — значит допустить трещину в фундаменте: сначала её может быть и не видно, но позже она обязательно даст о себе знать — либо на миграции, либо в самый неподходящий момент эксплуатации. И, как не сложно догадаться, оба варианта одинаково неприятны. Читать: https://habr.com/ru/companies/icore/articles/984844/ #ru @database_design | Другие наши каналы
Проектирование целевой архитектуры: второй шаг к быстрой и безопасной миграции ЦОД Обследование инфраструктуры мы пережили в первой части — и те, кто знаком с предысторией, понимают, что слово «пережили» здесь выбрано совсем не случайно. Теперь настало время двигаться дальше — к этапу, где уже не просто ищут проблемы, а проектируют мир, в котором эти проблемы не должны появляться вовсе: к целевой архитектуре. Именно на этом шаге закладывается каркас будущей ИТ-среды: определяются требования к производительности, формируются принципы отказоустойчивости, продумывается структура сетевого взаимодействия и планируется размещение оборудования. Промахнуться здесь — значит допустить трещину в фундаменте: сначала её может быть и не видно, но позже она обязательно даст о себе знать — либо на миграции, либо в самый неподходящий момент эксплуатации. И, как не сложно догадаться, оба варианта одинаково неприятны. Читать: https://habr.com/ru/companies/icore/articles/984844/ #ru @database_design | Другие наши каналы
Ваш IQ в тесте намного меньше чем в жизни Средний IQ по миру ровно 100, но когда вы проходили тест у вас было 110-120 или больше. Получается, вы умнее чем средний человек на земле? Нет. В реальности у вас на 10-20 баллов меньше, вы как раз на уровне среднего человека. Почему средний человек 100 лет назад имел 80 IQ, но не проиграл бы нам по интеллекту? Почему тесты завышают результаты IQ, и влияют ли эти тесты на интеллект и успех в жизни Читать: https://habr.com/ru/companies/femida_search/articles/984754/ #ru @database_design | Другие наши каналы
PostgreSQL 19: Часть 1 или Коммитфест 2025-07 Начинаем новый цикл статей с обзором изменений 19 версии. И первая статья о событиях летнего июльского коммитфеста прошлого года. Читать: https://habr.com/ru/companies/postgrespro/articles/984580/ #ru @database_design | Другие наши каналы
Как DuckDB обрабатывает 1 ТБ данных менее чем за 30 секунд Команда Python for Devs подготовила перевод статьи о том, как DuckDB ломает привычные представления о масштабах аналитических данных. Автор на реальных бенчмарках показывает, что 1 ТБ данных можно агрегировать за считанные секунды — без Spark, без распределённых кластеров и без сложной инфраструктуры. Читать: https://habr.com/ru/articles/984040/ #ru @database_design | Другие наши каналы
Как правильно «готовить» RAG: рецепт умного ассистента для вашего отдела Уверены, что вы уже слышали об этой технологии, но сегодня поговорим о ней с практической точки зрения. В этой статье наша Команда AI дает советы тем, кто еще не погружен в технические детали — рассказывает о сложностях, которые могут возникать при работе с этой технологией и о том, как их избегать. Читать: https://habr.com/ru/companies/bitrix/articles/980748/ #ru @database_design | Другие наши каналы
Дефрагментация HDD ускоряет скорость работы, но на сколько? Расчет скорости HDD в зависимости от фрагментации Что такое фрагментация? Фрагментация — это состояние, при котором файлы физически располагаются на разных участках диска, а не непрерывно друг за другом. Из-за этого магнитная головка вынуждена совершать лишние движения, тратя значительное время на поиск нужных участков. По мере накопления фрагментов файлов снижается общая скорость работы накопителя, ухудшается отклик системы и увеличивается износ самого устройства. Введение процедуры дефрагментации способно кардинально изменить ситуацию. Суть дефрагментации заключается в объединении отдельных фрагментов файлов в единую область на диске, сокращая путь движения головок и уменьшая среднее время доступа к данным. Этот процесс оказывает непосредственное влияние на повышение общей производительности системы, снижение нагрузки на аппаратуру и продление срока службы HDD.Далее мы подробно изучим механизм воздействия фрагментации и дефрагментации на показатели скорости работы жесткого диска, используя конкретные расчеты и наглядные примеры. Характеристики HDD Основные характеристики HDD: -Объем, Гб; -Линейная скорость чтения/записи, Mb/s ; -Количество оборотов диска в минуту, rpm; -Время перехода track to track, ms. Возьмем для моделирования HDD со следующими характеристиками / Читать: https://habr.com/ru/articles/984100/ #ru @database_design | Другие наши каналы
Если UPDATE столкнулся с заблокированной строкой В PostgreSQL и Oracle Database команда UPDATE, столкнувшаяся с заблокированной строкой, ведёт себя по-разному. В статье рассматривается, как выполняется UPDATE в этих базах данных. Это может быть полезно при миграции кода приложения мжду этими базами данных. Читать: https://habr.com/ru/articles/983998/ #ru @database_design | Другие наши каналы
Объектные хранилища: чем заменить minio? Как говорят у меня на родине: корпоративная жадность — двигатель миграций. И именно это мы сейчас можем наблюдать на примере MinIO — некогда любимого инструмента DevOps-инженеров для развёртывания S3-совместимого хранилища. В 2021 году они втихушку сменили лицензию на AGPL v3, а в 2025 году и вовсе выпилили веб-интерфейс из бесплатной версии. Ну и, наверное, можно подумать, что за такой удобный инструмент можно и заплатить. Но тогда встаёт вопрос: какова цена коммерческой лицензии? От $96 000 в год) В этой статье мы разберём, чем можно заменить MinIO, сравним альтернативы в разных сценариях и, конечно же, развернём их руками — потому что теория без практики, как вайбкодер без гпт. Читать: https://habr.com/ru/companies/ruvds/articles/981790/ #ru @database_design | Другие наши каналы
Создаем пет-проект по аналитике в связке с GitHub Actions. Часть 2 Привет, Хабр! Продолжаю обозревать GitHub Actions на примере пет проекта для аналитика. Статья будет полезна начинающим аналитикам в поисках хорошего проекта для своего портфолио. В этой части разбираю подход к выбору проекта и источника данных, к сбору и анализу данных и представлении результатов своей работы. Читать: https://habr.com/ru/articles/983926/ #ru @database_design | Другие наши каналы