Как стать автором
Обновить
95.54

Администрирование баз данных *

Все об администрировании БД

Сначала показывать
Порог рейтинга
Уровень сложности

SQL HowTo: один индекс на два диапазона

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 2.7K

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 7

Новости

Одно, чтоб править всеми: как мы сделали хаб для сопровождения СУБД

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 2K

Работа в СУБД — это множество разноплановых задач: создание новых продуктов, плановые обновления, работа с инцидентами. По мере цифровизации компании количество таких задач растёт, очередь запросов наполняется. Всё больше времени уходит не на решения, а на подготовку — сбор данных, аналитику и прочие «ветряные мельницы». Разрешить эту проблему помогают графические инструменты управления базами данных.

Меня зовут Иван Пушкарь, и вместе с командой я разрабатываю один из таких инструментов — Platform V Kintsugi. В этой статье расскажу, как появились первые платформы и оркестраторы для работы с СУБД, что сейчас есть для управления PostgreSQL и как мы решили создать собственный инструмент, который стал бы кольцом Всевластья для множества баз данных Сбера.

Читать далее
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 7

Конвертация в один клик! Как перенести код из Teradata в GreenPlum без лишних затрат и усилий

Уровень сложности Сложный
Время на прочтение 11 мин
Количество просмотров 1.1K

Привет, Хабр! Миграция баз данных из одной СУБД в другую представляет собой особо сложную задачу, требующую тщательного планирования, подготовки и исполнения. В 2023 году в Сбербанке завершился масштабный проект по миграции крупного аналитического хранилища данных с платформы Teradata на GreenPlum. Особое внимание уделялось таким направлениям, как:

Повышенная трудоёмкость ручного переписывания SQL‑скриптов из‑за разницы в диалекте и специфических встроенных функций Teradata.

Перенос архива данных из Teradata, объемом более 400 Тб.

Кросс‑платформенная проверка качества данных в ходе и после завершения миграции.

Этой статьёй мы открываем небольшую серию, посвящённую технологическим решениям вышеупомянутых сложностей. И начнём с рассмотрения сервиса миграции кода из Teradata в GreenPlum, который автоматизирует и упрощает конвертацию сложных запросов.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 2

Бьемся с индексацией парных неравенств в PostgreSQL

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3.1K

Я уже не раз писал, что условия с несколькими неравенствами (<, <=, >=, >) обычно плохо подходят для индексирования "классическим" btree, вызывают "тормоза", и необходимо придумывать различные нетривиальные подходы в PostgreSQL, чтобы добиться хорошей производительности подобного запроса.

В этой статье мы не только рассмотрим способы решения подобных задач "в общем виде", но и покажем, как нам удалось автоматизировать их решение в рамках функционала рекомендаций индексов нашего сервиса анализа планов explain.tensor.ru и его новых возможностях.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 2

Истории

Новые горизонты баз данных: 8 тенденций в управлении информацией

Время на прочтение 14 мин
Количество просмотров 4.3K

Базы данных — явление не новое. Способы хранения, поиска и предоставления данных пользователям являются ключевыми аспектами разработки веб-приложений на протяжении многих лет. Однако это не означает, что все осталось по-прежнему.

Сегодня мы узнаем про перспективы развития баз данных — 8 тенденций управления информацией и рассмотрим 11 наглядных примеров.

Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 3

Что нового в планировщике / оптимизаторе запросов Postgres 16

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 5.7K

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

Если вы посмотрите на PG16 release notes, то увидите некоторые из этих улучшений. Но из-за объема изменений, вносимых в каждом выпуске PostgreSQL, невозможно предоставить достаточно подробную информацию о каждом изменении.

В этом посте вы получите глубокое представление о 10 улучшениях, внесенных в планировщик запросов PostgreSQL 16. Для каждого из улучшений будет сравнения выходных данных планировщика PG15 и PG16, а также примеры того, что изменилось, в виде автономного теста, который вы можете попробовать сами.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 0

Новая современная СУБД SoQoL. Посмотрим на неё внимательнее

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 11K

Вышел первый коммерческий релиз СУБД реляционного типа — SoQoL версии 3.0.0. В русском варианте название СУБД звучит как СОКОЛ.

Что это за птица?
Всего голосов 23: ↑19 и ↓4 +15
Комментарии 78

От Cache до Middleware: эволюция Tarantool

Время на прочтение 5 мин
Количество просмотров 1.5K


Рассказываем, что такое Middleware, как мы прокачали Tarantool от Cache до Middleware и когда будет полезен Tarantool с новыми возможностями.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 0

Рекомендации при работе с PostgreSQL

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 21K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Всего голосов 53: ↑50 и ↓3 +47
Комментарии 52

SQL и python для анализа цен на новостройки в СПб или ценнейший навык для маркетолога в 2024

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 10K

«Зачем мне SQL и python?» — задают резонный вопрос маркетологи или менеджеры по продукту, особенно в сфере недвижимости, оптовой торговли, услуг для бизнеса: «У нас нет миллионов строк данных, нет логов, мы успешно работаем с несколькими таблицами в excel».

Да действительно, у вас может не быть корпоративного хранилища данных в компании, и основой автоматизации работы с данными является Power query (что сейчас в РФ делать все труднее и труднее). Но у вас точно есть данные, которые вы получаете от смежных отделов, из CRM/CDP, MES, АСУ ТП. Эти данные приходят регулярно в виде файлов, и вы сопоставляете эти данные друг с другом с помощью ВПР, фильтруете воронкой, чистите с помощью «Найти или заменить», делайте сводники с помощью функции Pivot table.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 16

Что такое СУБД Greenplum? Зачем она нужна в больших проектах DWH? Чем отличается от ClickHouse?

Время на прочтение 9 мин
Количество просмотров 10K

Ошибки в построении DWH возникают не только в результате того, что первоначально не были учтены возможные изменения в бизнес-процессах, потребностях и целях компании, но и из-за некорректного выбора стека технологий и СУБД. 

Порядок хранения данных выбирается в соответствии с разными сценариями работы - запросами, разным объемом данных, количеством транзакций, необходимостью обновлений данных.

В статье читайте о СУБД Greenplum и о том, в каких случаях строить хранилища на ее основе.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 5

Как использовать Elasticdump с Manticore

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 687

Elasticdump - это инструмент для управления и миграции данных в Elasticsearch. Elasticdump позволяет пользователям перемещать и сохранять индексы, экспортируя данные в файл JSON, а затем импортируя их в другое место. Эта функциональность особенно полезна для целей резервного копирования и восстановления, а также для миграции данных между различными средами (например, из разработки в продакшн).

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Как неПросто сделать холодный бэкап Postgres

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 5.4K

File system level backup  в Postgres это первое чему нужно научится при использовании Postgres . Никакие pg_dump \ pg_restore не заменят Полный бэкап на уровне файлов. File system level backup это первая ступень для подготовки к Continuous archiving. Понимание архитектуры хранения – это фундамент, по которому можно понять сможете ли Вы жить с Postgres на больших объемах или у Вас другой путь?

Начать копировать кластер правильно
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 45

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Обзор релиза Apache Ignite 2.16.0

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.8K

Apache Ignite — это высокопроизводительная распределенная база данных с открытым исходным кодом, предназначенная для хранения и распределенной обработки больших объемов данных в кластере узлов. В СберТехе есть команда, которая занимается ее развитием. Мы создали Platform V DataGrid — продукт, основанный на Apache Ignite, с enterprise‑функциональностью.

Я был релиз-менеджером Apache Ignite 2.16.0, вышедшей 25 декабря 2023 года, спустя полгода от предыдущего релиза. Хочу ознакомить с основными разработками этой версии:

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 5

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 3

Время на прочтение 8 мин
Количество просмотров 2.7K

Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта в своей области.

Во второй части статьи «Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL» мы говорили о гарантии согласованности данных и разрешение конфликтов. Разобрали как выявлять и разрешать конфликты, используя разные способы. Теперь пришла пора одной из самых важных характеристик хранения данных — надёжности.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 18

Бэкап, бэкап и еще раз бэкап

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 12K

Речь сегодня пойдет об отказоустойчивости и даже о катастрофоустойчивости.

Почему вроде бы правильно настроенное архивирование базы данных не всегда помогает спасти систему в случае инцидентов? Этим вопросом я, наверное, многих даже задел за живое. Одних тем, что сама постановка вопроса им кажется абсурдной – у этой группы админов все настроено идеально, работает как часы и они готовы к любым катаклизмам. А кого-то тем, что напоминаю о тех самых инцидентах, когда возвращаться в тот день, даже мысленно, совсем не хочется.

В рамках проектов аудита производительности мы обязательно проверяем систему заказчика на предмет используемых средств отказоустойчивости и катастрофоустойчивости. И если есть основания, обязательно предоставляем рекомендации по улучшениям. Соответствующий раздел в своё время стал обязательным в каждом отчёте аудита не на пустом месте. За долгие годы мы встречались с таким количеством ситуаций, что можно начинать писать книгу :) Сама по себе ситуация краха системы редкая, поэтому вопросы отказоустойчивости далеко не везде в приоритете, а с учетом распространения в последние годы разнообразных ЦОД’ов, появляется большой соблазн снять с себя ответственность за целостность базы данных и непрерывного доступа к ней. Так что, с появлением ЦОД’ов люди совсем расслабились. А зря.

 Опишу несколько характерных примеров из нашей практики, с которыми мы столкнулись, причем в роли спасателей клиентской инфраструктуры и данных. Иногда на кону стояло само существование БД, иногда – интервал потерянных данных, иногда – время простоя бизнеса.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 14

Вакуумируй это: сбор и удаление мусора в базе данных Greenplum

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1K

Всем привет! ITSumma на связи! Недавно — 8 февраля мы провели вебинар о мониторинге и обслуживании реляционной базы данных Greenplum. 

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

Это статья — выжимка нашего мероприятия. Вот что вы из неё узнаете:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2

Время на прочтение 11 мин
Количество просмотров 3.3K

Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта в своей области.

В первой части статьи «Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL» мы посмотрели как развивалась технология «Мультимастер» в экосистеме PostgreSQL. Обсудили существует ли «Честный Мультимастер», какие у него реализации и как его следует применять. Теперь поговорим о надёжности хранения данных.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 36

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1

Время на прочтение 12 мин
Количество просмотров 8.5K

Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения отказоустойчивых кластеров, а Михаил — анализом производительности СУБД. У каждого за плечами более десяти лет опыта в своей области.

Порассуждаем о том, как развивалась технология «Мультимастер» в экосистеме PostgreSQL, остановимся на том, что она из себя представляет, на каких внутренних механизмах PostgreSQL основана и как её можно использовать.

Мы также поговорим о том, существует ли «Честный Мультимастер» (само понятие «Честный Мультимастер» достаточно специфично и в основном употребляется в кругу разработчиков), какие реализации у него есть и как его следует применять.

Читать далее
Всего голосов 40: ↑40 и ↓0 +40
Комментарии 5

Во что обойдется линеаризуемость в распределенной системе

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 5.3K


Всем привет, меня зовут Сергей Петренко, я программист в Tarantool. Сегодня мы посмотрим, с какими трудностями сталкивается клиент, когда вместо того чтобы общаться с системой, расположенной на одном инстансе, начинает общаться с распределенной системой. И разумеется, поговорим о том, как эти трудности преодолеть. Я расскажу, что такое линеаризуемость, как мы ее реализуем в Tarantool и как это делают другие СУБД. В завершение мы поговорим о накладных расходах от линеаризуемости.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 3

Вклад авторов

Работа