Pull to refresh
2
0
Андрей Козлов @mblp

системный администратор linux

Send message

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views13K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →
Total votes 48: ↑55.5 and ↓-7.5+63
Comments21

Построение гистограммы максимального и среднего времени выполнения запросов для PostgreSQL

Level of difficultyEasy
Reading time3 min
Views3.4K


Предыстория


Аварийная ситуация — информационная система жутко тормозит.
Как обычно- все менеджеры в панике.
Как обычно — «что там с СУБД»?
Как обычно — «с СУБД, всё хорошо — критичных ошибок нет, отклик не увеличивается, аномалий по метрикам мониторинга СУБД — нет.»

Новая вводная- «У нас все запросы стали очень медленно выполняться».

К сожалению на период развития событий, способа получить объективную картину времени выполнения запросов — не было.

Метрика, позволяющее получать время отклика СУБД показывает «среднюю температуру по больнице». А учитывая, что система высоконагруженная, среднее время отклика не может являться надежной метрикой оценки производительности СУБД. Так, что от разнообразных вариаций на тему SUM(total_time) / SUM(calls) — пользы не так и много.

Убедить разработчиков и менеджеров, что на стороне СУБД проблем нет — не получается.
И поэтому и возникла идея — сделать простой механизм, позволяющий получить оценку производительности СУБД — гистограммы максимального и среднего времени выполнения запросов, на основе уже используемого расширения pg_stat_statements.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments8

Postgresso #3 (64)

Reading time11 min
Views3.4K

PGConf.Russia 2024

Стартует уже совсем скоро: 8 апреля, а завершится 9-го. Можно просмотреть расписание и список докладов.

Первый доклад после открытия - директора нашего отдела образования Павла Лузанова - PostgreSQL 17:

В этом году даты проведения конференции совпадают с завершением релизного цикла 17 версии. 8 апреля в 15:00 MSK прием изменений завершится. А мы сможем обсудить, что ожидать в осеннем релизе. Здесь и инкрементальное резервное копирование, изменения в логической репликации, триггер на подключение и наверняка появится что-то любопытное в начале апреля.

Следующий доклад в конференц-зале - Про-ShardmanАлексей Борщев и П. Конотопов. То, что он идёт вторым после обзорного, показывает, какое значение придают этой новой СУБД в компании. Интерес к ней действительно огромный. Они расскажут о Шардмане с точки зрения SQL разработчиков и архитекторов БД:

что такое Шардман;

чем отличается от обычного Постгреса;

типы таблиц и их использование;

как адаптировать схему БД для работы на шардах.

Конечно, будет рассказано и о других новинках компании: доклад Pooler, load balancer, proxy. Что их объединяет? Артём Галонскийpgpro_rp (приоритизация ресурсов, доложит Александр Попов) и других.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments0

Postgresso 2 (63)

Reading time17 min
Views3.4K

Новые контрибьюторы PostgreSQL:

Бертран Друво (Bertrand Drouvot),

Габриэль Бартолини (Gabriele Bartolini),

Ришар Гуо (Richard Guo).

Новые главные (major) контрибьюторы PostgreSQL, прибавилось два представителя Microsoft и один от Amazon:

Александр Лахин (Alexander Lakhin) - особенно поздравляем!

Дэниэл Густафссон (Daniel Gustafsson, Microsoft),

Дин Рашид (Dean Rasheed),

Джон Нэйлор (John Naylor),

Мелани Плейгман (Melanie Plageman, Microsoft),

Натан Боссарт (Nathan Bossart, Amazon Web Services).

Всех поздравляем! Страница контрибьюторов здесь.

Who's in Charge?

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments2

Разделение задач резервного копирования и удаления устаревших копий в PostgreSQL при помощи pgBackRest

Reading time11 min
Views3.4K

Управление резервными копиями является одним из ключевых моментов в любой стратегии администрирования баз данных. Это гарантирует, что в случае сбоя или потери данных вы можете быстро восстановить всю информацию. pgBackRest — популярное решение для резервного копирования и восстановления PostgreSQL, которое предоставляет множество функций для управления резервными копиями. Тем не менее, по умолчанию стандартная конфигурация pgBackRest часто объединяет операции резервного копирования и удаления устаревших копий в одном процессе. 

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments0

Инкрементальные бэкапы PostgreSQL с pgBackRest. Часть 2. Шифрование, загрузка в S3, восстановление на новый сервер, PITR

Reading time7 min
Views8.3K
Данная статья — продолжение статьи «Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика».

В первой части мы научились делать инкрементальные бэкапы, загружать их на удаленный сервер (репозиторий с бэкапами) и откатываться на последний бэкап.
В этой статье мы научимся шифровать бэкапы, загружать их в S3-совместимое хранилище (вместо второго сервера-репозитория), восстанавливаться на чистый кластер и, наконец, восстанавливаться на определенный момент времени (point in time recovery, PITR).
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments1

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Level of difficultyMedium
Reading time54 min
Views75K

Привет, Хабр)

Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Total votes 125: ↑122 and ↓3+119
Comments7

Вопросы по SQL, которые часто задают на собеседовании. Часть 1

Reading time14 min
Views47K

SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков.

Читать далее
Total votes 31: ↑26 and ↓5+21
Comments24

PITR в PostgreSQL

Reading time6 min
Views4.3K

Привет, Хабр!

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

Читать далее
Total votes 20: ↑13 and ↓7+6
Comments3

Как оптимизировать медленные SQL запросы?

Reading time18 min
Views27K

Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться проблемы с производительностью БД, отдельные части приложения начинают работать всё медленнее и медленнее по мере роста самого БД.

Как выявить и отладить такие проблемы? В этой статье будет показано решение наиболее распространённых проблем с производительностью БД, вызванных неправильной индексацией. Примеры будут приведены для Postgres, MySQL и SQLite.

Читать далее
Total votes 19: ↑11 and ↓8+3
Comments38

М.Видео: Нам всё равно

Level of difficultyEasy
Reading time34 min
Views51K
КДПВ

3 месяца и 40 обращений. Ровно столько времени и усилий мне потребовалось, чтобы прийти к выводу в заголовке статьи.
Но статья – не жалобная книга. Опираясь на полученный опыт, я поделюсь с вами полезными советами, как решать проблемы с компанией М.Видео. Да и с другими компаниями тоже.
Помимо этого, в статье масса примеров того, как делать не надо с точки зрения UI и UX.
Хочу всё знать
Total votes 173: ↑134 and ↓39+95
Comments230

Организуем High Availability PostgreSQL

Reading time7 min
Views17K

Чтобы система долго работала без сбоев и перерывов, нужно поработать над отказоустойчивостью. В статье дадим несколько способов её построить и покажем готовое решение.

Читать далее
Total votes 20: ↑17 and ↓3+14
Comments28

Разработка task manager при помощи библиотек Flask и psycopg2

Level of difficultyMedium
Reading time18 min
Views5.3K

Привет, Хабр!

На связи участник профессионального сообщества NTA Владислав Рулев.

Это первый пост в серии, где я буду рассказывать, как создавал свой собственный task manager. В настоящее время используются различные инструменты для управления задачами, от электронной почты и Excel‑таблиц до специальных программ. Первый подход — письма и таблички, затрудняет отслеживание статуса задач, распределение ресурсов и общую координацию работ. Второй — готовое решение, имеет как плюсы, так и минусы.

Я же решил взять всё в свои руки и разработать task‑manager самостоятельно. Что у меня получилось — под катом.

Что же у меня получилось
Total votes 6: ↑4 and ↓2+2
Comments11

Регулярные выражения в реальных задачах

Level of difficultyEasy
Reading time11 min
Views17K

Привет, Хабр! Меня зовут Татьяна, я разработчик в Росбанке, и в этом посте я расскажу про регулярные выражения. По своему опыту могу сказать, что регулярки — это очень полезный инструмент. Я часто пользуюсь ими, решая задачи по обработке текста в базах данных. Вначале я остановлюсь на теории, а затем рассмотрю несколько реальных задач, которые были решены с использованием регулярных выражений.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments17

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Level of difficultyMedium
Reading time11 min
Views55K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments6

PostgreSQL и временные таблицы

Level of difficultyMedium
Reading time9 min
Views28K

Мы много лет уже используем в качестве основной базы данных PostgreSQL. За это время он зарекомендовал себя быстрой и надежной СУБД. Однако, есть в PostgreSQL одна проблема, с которой приходится сталкиваться достаточно часто. К сожалению, реализация логики временных таблиц в нем имеет ряд недостатков, которые отрицательно сказываются на производительности системы.

Одним из свидетельств наличия проблемы является то, что для временных таблиц в Postgres Pro была добавлена специальная функция fasttrun, а в Postgres Pro Enterprise существенно доработана работа с ними (см. пункт 4). 

Наиболее активно временные таблицы используют платформы, в которых разработчик не работает напрямую с базой данных, а таблицы и запросы генерируются непосредственно самой платформой. В частности, к ним относится платформа или ее открытый и бесплатный аналог - платформа lsFusion.

В этой статье я опишу почему приходится использовать временные таблицы, в чем суть проблемы, и как улучшить производительность путем настроек операционной системы и PostgreSQL.

Читать далее
Total votes 51: ↑50 and ↓1+49
Comments45

Kibana. Использование языка запросов KQL при поиске логов

Level of difficultyEasy
Reading time6 min
Views26K

Туториал по работе с логами в Kibana для начинающих специалистов по тестированию ПО.

У Kibana имеется свой язык запросов KQL (Kibana Query Language) - официальный источник. С помощью этого языка можно составлять запросы, которые помогают отфильтровывать и найти необходимую информацию.

Подключение к Kibana для просмотра логов.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments12

Лазерные граверы — популярные модели и личный опыт. Выбираем лучшее

Reading time6 min
Views13K

Привет, Хабр. Сегодня поговорим о лазерных граверах. О них не так часто пишут — и совершенно напрасно, поскольку это крайне интересные устройства. Если у вас есть домашняя мастерская, кабинет, то гравер это must have для любителя DIY-проектов. Год назад я купил Atomstack A5 Pro, и сегодня поговорим как о нём, так и о других моделях.

Читать далее
Total votes 24: ↑21 and ↓3+18
Comments13

Поднимаем Kubernetes с нуля

Level of difficultyMedium
Reading time10 min
Views46K

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

Читать далее
Total votes 36: ↑33 and ↓3+30
Comments55

PostgreSQL: настройка и оптимизация производительности. Часть 1

Level of difficultyMedium
Reading time9 min
Views16K

Данная статья посвящена способам повышения производительности PostgreSQL и EDB Postgres Advanced Server (EPAS) с 10 по 13 версии. Мы начнём с аппаратного обеспечения и будем двигаться вверх по стеку, оставив напоследок SQL-запросы. 

Читать далее
Total votes 21: ↑20 and ↓1+19
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity