Интересный хак для упрощения сложных SELECT в Postgres
Если вы пишете сложный SELECT, в котором одно и тоже вычисляется несколько раз, например, для массовой обработки данных пачками, то наверняка вам хотелось завести локальную переменную
Перейти к статье | SQLpedia
Если вы пишете сложный SELECT, в котором одно и тоже вычисляется несколько раз, например, для массовой обработки данных пачками, то наверняка вам хотелось завести локальную переменную
Перейти к статье | SQLpedia
ClickHouse и MySql или как подружить две базы
Представьте, что у вас есть таблица, в которой каждый день появляется 100 000 новых записей. Через год в ней будет 36 миллионов записей. MySQL начнет "тормозить" на сложных аналитических запросах, а удалять старые данные нельзя — они нужны для отчетности.
Перейти к статье | SQLpedia
Представьте, что у вас есть таблица, в которой каждый день появляется 100 000 новых записей. Через год в ней будет 36 миллионов записей. MySQL начнет "тормозить" на сложных аналитических запросах, а удалять старые данные нельзя — они нужны для отчетности.
Перейти к статье | SQLpedia
❤1
"Как стать независимыми от зарубежных систем управления базами данных (СУБД)?"
Этот вопрос сегодня остро стоит не только перед банками и финтех-компаниями, но и перед промышленными, торговыми, сервисными и государственными организациями.
💡Если такие вопросы возникают и у вас, приглашаем на вебинар от Диасофт и Ассоциации ФинТех (АФТ) на тему "Digital Q.DataBase: современный путь перехода с MS SQL Server и Oracle".
10 марта в 12:00 эксперты расскажут, как Digital Q.DataBase помогает перенести промышленные решения с MS SQL Server и Oracle, сохранив привычную логику и SQL-код. Они также представят новые возможности СУБД и расскажут практический кейс (историю успеха!) 🚀
💌Принимайте приглашение и регистрируйтесь по ссылке!
#реклама
О рекламодателе
Этот вопрос сегодня остро стоит не только перед банками и финтех-компаниями, но и перед промышленными, торговыми, сервисными и государственными организациями.
💡Если такие вопросы возникают и у вас, приглашаем на вебинар от Диасофт и Ассоциации ФинТех (АФТ) на тему "Digital Q.DataBase: современный путь перехода с MS SQL Server и Oracle".
10 марта в 12:00 эксперты расскажут, как Digital Q.DataBase помогает перенести промышленные решения с MS SQL Server и Oracle, сохранив привычную логику и SQL-код. Они также представят новые возможности СУБД и расскажут практический кейс (историю успеха!) 🚀
💌Принимайте приглашение и регистрируйтесь по ссылке!
#реклама
О рекламодателе
Конструктор табличных значений, UNNEST(), TABLE(), STRING_SPLIT(), JSON_TABLE() — замена временным таблицам в SQL
Бывают ситуации, когда есть список значений, и нужно найти значения, которых нет в БД.
Перейти к статье | SQLpedia
Бывают ситуации, когда есть список значений, и нужно найти значения, которых нет в БД.
Перейти к статье | SQLpedia
Шардинг с равномерным распределением
Шардинг БД (db sharding) — это метод горизонтального масштабирования, при котором большая база данных разбивается на более мелкие, независимые части (shards), размещаемые на разных физических или виртуальных серверах.
Перейти к статье | SQLpedia
Шардинг БД (db sharding) — это метод горизонтального масштабирования, при котором большая база данных разбивается на более мелкие, независимые части (shards), размещаемые на разных физических или виртуальных серверах.
Перейти к статье | SQLpedia
Почему `SUM() OVER (ORDER BY ...)` иногда считает «неправильно»: разбираем оконные фреймы в SQL
Оконные функции в SQL полезны тем, что позволяют делать аналитику по строкам без GROUP BY: считать ранги, накопительные итоги, скользящие средние, доли, сравнения с соседними строками и агрегаты по группе, при этом не теряя детализацию исходных данных.
Перейти к статье | SQLpedia
Оконные функции в SQL полезны тем, что позволяют делать аналитику по строкам без GROUP BY: считать ранги, накопительные итоги, скользящие средние, доли, сравнения с соседними строками и агрегаты по группе, при этом не теряя детализацию исходных данных.
Перейти к статье | SQLpedia
❤3
Определение фактического профиля нагрузки в PostgreSQL и динамические состояния БД
Когда вы знакомитесь с документацией по какой-то системе в части базы данных, то обычно характер нагрузки определяется исходно в архитектуре проекта. Но если система определена архитектором как OLTP, но в действительности может вести себя в некоторые периоды времени как OLAP. Нормально ли такое поведение, и каким образом мы можем определить, что она ведет себя как-то иначе?
Перейти к статье | SQLpedia
Когда вы знакомитесь с документацией по какой-то системе в части базы данных, то обычно характер нагрузки определяется исходно в архитектуре проекта. Но если система определена архитектором как OLTP, но в действительности может вести себя в некоторые периоды времени как OLAP. Нормально ли такое поведение, и каким образом мы можем определить, что она ведет себя как-то иначе?
Перейти к статье | SQLpedia
Планы на последнюю пятницу марта: заглянуть к коллегам на Avito Database meetup
Мы узнали, что 27-го ребята собираются, чтобы разобрать пару архитектурных болей. Отличный повод посмотреть на чужой прод и сравнить со своими решениями. В программе:
— чек-лист по защите данных в DBaaS;
— FoundationDB против Cassandra 5 в реальных условиях;
— нетипичный путь масштабирования S3.
Можно дойти до их офиса, а можно просто открыть онлайн-трансляцию на фоне 🤷♂️
Нашли ссылку для регистрации, она тут
Мы узнали, что 27-го ребята собираются, чтобы разобрать пару архитектурных болей. Отличный повод посмотреть на чужой прод и сравнить со своими решениями. В программе:
— чек-лист по защите данных в DBaaS;
— FoundationDB против Cassandra 5 в реальных условиях;
— нетипичный путь масштабирования S3.
Можно дойти до их офиса, а можно просто открыть онлайн-трансляцию на фоне 🤷♂️
Нашли ссылку для регистрации, она тут
Как отчисление одного студента может закрыть всю кафедру. Нормализуем БД и избавляемся от аномалий
В прошлой статье мы детально разобрали функциональные зависимости. Возможно, после нее у вас, как и у многих, остался закономерный вопрос: зачем нам вообще так париться, выискивая эти зависимости? Как это применяется в проектировании баз данных?
Перейти к статье | SQLpedia
В прошлой статье мы детально разобрали функциональные зависимости. Возможно, после нее у вас, как и у многих, остался закономерный вопрос: зачем нам вообще так париться, выискивая эти зависимости? Как это применяется в проектировании баз данных?
Перейти к статье | SQLpedia
PostgreSQL: транзакции, блокировки и почему Serializable падает
Если вы когда-либо сталкивались с тем, что запросы внезапно «висят», транзакции ведут себя странно, а UPDATE из двух сессий приводит к неожиданным результатам — эта статья поможет понять, что происходит внутри PostgreSQL.
Перейти к статье | SQLpedia
Если вы когда-либо сталкивались с тем, что запросы внезапно «висят», транзакции ведут себя странно, а UPDATE из двух сессий приводит к неожиданным результатам — эта статья поможет понять, что происходит внутри PostgreSQL.
Перейти к статье | SQLpedia
CPU 80%. Как найти проблемный запрос в ClickHouse?
CPU 80%, память на пределе, диск нагружен. Запросы тормозят. Расчёты не завершаются. Сервер на грани. Что же делать?
Перейти к статье | SQLpedia
CPU 80%, память на пределе, диск нагружен. Запросы тормозят. Расчёты не завершаются. Сервер на грани. Что же делать?
Перейти к статье | SQLpedia
👍1
Temporal Tables в MS SQL Server: история изменений
Temporal tables позволяют следить за историями изменений уровне движка. SQL Server сам хранит полную историю изменений каждой строки — без триггеров, без дополнительного кода и без самописного аудита.
Перейти к статье | SQLpedia
Temporal tables позволяют следить за историями изменений уровне движка. SQL Server сам хранит полную историю изменений каждой строки — без триггеров, без дополнительного кода и без самописного аудита.
Перейти к статье | SQLpedia
❤1
Forwarded from BApedia | Бизнес-анализ
Гайд системного аналитика по корректировкам витрин
Данный материал подходит для тех сотрудников, которые не имеют опыта работы или недавно пришли на проект, связанный с хранилищами данных.
Перейти к статье | BApedia
Данный материал подходит для тех сотрудников, которые не имеют опыта работы или недавно пришли на проект, связанный с хранилищами данных.
Перейти к статье | BApedia
❤3😱1
Мониторинг SQL Server Always On в Zabbix
Если у вас в инфраструктуре стоит Always On Availability Groups, вы наверняка бывали в такой ситуации: в SSMS всё зелёное, дашборд показывает «Synchronized», пользователи звонят с жалобами на тормоза.
Перейти к статье | SQLpedia
Если у вас в инфраструктуре стоит Always On Availability Groups, вы наверняка бывали в такой ситуации: в SSMS всё зелёное, дашборд показывает «Synchronized», пользователи звонят с жалобами на тормоза.
Перейти к статье | SQLpedia
Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб
В предыдущих статьях я подробно разбирал фундамент нашей новой OLTP-СУБД: принцип Restrictive by Default (fail-closed вместо деградации), отказ от VACUUM в пользу UNDO-лога и концепцию Unified Storage.
Перейти к статье | SQLpedia
В предыдущих статьях я подробно разбирал фундамент нашей новой OLTP-СУБД: принцип Restrictive by Default (fail-closed вместо деградации), отказ от VACUUM в пользу UNDO-лога и концепцию Unified Storage.
Перейти к статье | SQLpedia
Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб
В предыдущих статьях я подробно разбирал фундамент нашей новой OLTP-СУБД: принцип Restrictive by Default (fail-closed вместо деградации), отказ от VACUUM в пользу UNDO-лога и концепцию Unified Storage.
Перейти к статье | SQLpedia
В предыдущих статьях я подробно разбирал фундамент нашей новой OLTP-СУБД: принцип Restrictive by Default (fail-closed вместо деградации), отказ от VACUUM в пользу UNDO-лога и концепцию Unified Storage.
Перейти к статье | SQLpedia
Как читать BUFFERS в EXPLAIN ANALYZE и находить I/O-узкие места в PostgreSQL
PostgreSQL показывает использование буферов для каждого узла плана, и когда вы научитесь читать эти числа, то сможете точно понять, где ваш запрос тратил время на ожидание операций ввода-вывода (I/O), а где этого не происходило.
Перейти к статье | SQLpedia
PostgreSQL показывает использование буферов для каждого узла плана, и когда вы научитесь читать эти числа, то сможете точно понять, где ваш запрос тратил время на ожидание операций ввода-вывода (I/O), а где этого не происходило.
Перейти к статье | SQLpedia
👍2