Как стать автором
Поиск
Написать публикацию
Обновить
233.94

Базы данных *

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

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

PostgreSQL Connection Pooling: Наш опыт и с чем его едят

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

Как обеспечить высокую производительность PostgreSQL и эффективно управлять соединениями? В этой статье мы разберёмся, как правильно настроить пул соединений, какие преимущества он даёт и как избежать распространённых ошибок. Делимся нашим опытом перехода с MongoDB на PostgreSQL и работы с пулом в Go с использованием pgx.

Читать далее

Обновление PostgreSQL с кластером отката

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

Зачастую, предлагая обновить PostgreSQL, подразумевается условный прыжок веры на более новую версию без варианта быстрого отката на предыдущую версию без потери данных. А что если...

Читать далее

SIGNAL 11 или как спасти Percona MySQL-сервер от спонтанных перезагрузок

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

Привет, Хабр! Меня зовут Артем Майоров, я администратор баз данных в компании MONS (КОРУС Консалтинг).
Расскажу, как мы не дали упасть больше 100 ПВЗ России благодаря спасению Percona
MySQL-сервера.
Подробнее, как это сделать и почему вообще его пришлось спасать, я рассказал в тексте!

Читать далее

Отказоустойчивость Postgres Pro Enterprise для 1С

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

Настройка отказоустойчивого кластера PostgreSQL для «1С:Предприятие» — задача для опытных специалистов. Ручное или автоматическое переключение на резервный сервер? Сколько реплик действительно необходимо для надёжной отказоустойчивости? Сертифицированный эксперт по PostgreSQL Алексей Васильев делится практическими знаниями и пошаговыми инструкциями по развёртыванию отказоустойчивого решения на базе Postgres Pro Enterprise с использованием BiHA.

Читать далее

Оптимизация JOIN в PostgreSQL

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

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Автоматизированное документирование баз данных на Markdown

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

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

Для решения данной задачи разработаны два PHP-скрипта, предназначенные для работы с PostgreSQL. Эти скрипты выполняют две основные функции:

1.  Сравнение старой и новой структуры базы данных с выявлением добавленных, удалённых и изменённых таблиц.

2.  Создание Markdown-документации, которая содержит подробное описание назначения таблиц и характеристик их полей, что делает изменения в структуре базы данных прозрачными для разработчиков.

Читать далее

Знакомство с pgpro-otel-collector

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

Всем привет, после публичного релиза pgpro-otel-collector, хочется продолжить рассказывать про инструмент и начать с серии постов про Коллектор. В этой серии постараюсь подробнее и на примерах познакомить читателя с коллектором и продемонстрировать сценарии использования. Рассказывать буду и про коллектор, и про разные вещи связанные с настройкой/мониторингом Postgres. Рассчитываю что посты будут полезны Linux администраторам, PostgreSQL DBA и тем кому интересен мониторинг Postgres.

Первый пост ознакомительный, в нем расскажу как установить, настроить и запустить коллектор. И конечно же, как посмотреть что-то что отдает коллектор и начнем мы с метрик Postgres.

Читать далее

Телеграм-бот для бронирования столов на вебхуках: FastAPI, Aiogram Dialog, FastStream и RabbitMQ в единой экосистеме

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

В этой статье мы создадим функционального Telegram-бота для бронирования столиков в ресторане «Binary Bites» с использованием современных Python-инструментов. Бот будет работать через вебхуки, взаимодействовать с брокером сообщений RabbitMQ и поддерживать фоновое выполнение задач с помощью FastStream и APScheduler.

Проект объединит FastAPI, SQLAlchemy, Alembic, Uvicorn и другие библиотеки, обеспечивая гибкость и масштабируемость. Готовый бот позволит пользователям бронировать столики, просматривать и отменять брони, а администраторам — управлять заказами.

Читать далее

Выбираем решение для NoSQL

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

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

Читать далее

Реальная замена Notion или просто хороший продукт? Обзор и установка NocoDB

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

Notion успел стать одним из самых популярных инструментов для управления проектами. Его часто используют для организации контент-планов, календарей, Kanban-досок и не только. Однако 9 сентября 2024 года продукт ушел из России.

Компании, которые плотно работали с Notion, были вынуждены искать альтернативные решения и мигрировать свои данные. Именно тогда на слуху стали фигурировать сервисы вроде Yonote, Weeek, Teamly и другие. У каждого решения есть свои плюсы и минусы, но идеальной замены нет: все сервисы разные, со своей историей и спецификой.

Если вы до сих пор не нашли альтернативу Notion, но не оставляете попыток, посмотрите в сторону NocoDB. Это платформа с открытым исходным кодом, которая позволяет создавать базы данных и управлять ими в знакомом интерфейсе. И, как оказалось, решение отлично подходит для нетехнических команд и предоставляет альтернативный для Notion функционал. В этой статье мы познакомимся с NocoDB и посмотрим, как развернуть проект на облачном сервере.
Читать дальше →

EDA of dataset Python

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

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

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

Очищать грязные данные можно c PandasРассмотрим основные методы.

Читать далее

Эксплуатация Stateful-приложений в Kubernetes на примере баз данных в Авито

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

Привет! Меня зовут Игорь Конев, я — старший инженер команды DBaaS в Авито. В этой статье я рассказываю о нашем подходе к работе Stateful-приложений в k8s на примере DBaaS и о том, как удалось автоматизировать жизненный цикл баз данных у нас в Авито. Статья будет полезна новичкам, которые не работали в Kubernetes, не сталкивались с менеджментом Stateful-приложений или хотели бы массово разворачивать базы данных в Kubernetes.

Читать далее

Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?

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

Хеш-индексы в PostgreSQL - мощный, но недооценённый инструмент.

Когда они быстрее B-Tree, а когда наоборот?

Простое объяснение, тесты и ключевые нюансы, которые помогут ускорить запросы...

Читать далее

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

Как протестировать производительность СУБД перед миграцией: опыт K2Тех

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

После ухода западных вендоров в 2022 году российские компании столкнулись с необходимостью массовой миграции с Oracle и MS SQL на PostgreSQL и другие открытые СУБД. Теперь к вопросам миграции приходится относиться ответственнее: самостоятельно оценивать риски и прогнозировать работу систем после переезда.

Как перфоманс-инженер, я часто сталкиваюсь с вопросами типа: справится ли PostgreSQL с текущей нагрузкой? Потребуется ли обновление железа? Какие проблемы могут возникнуть после перехода? К сожалению, готовых инструментов для оценки производительности СУБД на рынке фактически нет. Это заставило нас разработать собственную методологию тестирования, которая позволяет выявить потенциальные проблемы и точно оценить необходимые ресурсы.

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

Читать далее

Гарантии видимости в распределённых хранилищах

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

Здравствуйте, меня зовут Дмитрий Карловский и я.. стараюсь сложные вещи рассказывать простым языком, а простые вещи — эзоповым. И часто оказывается так, что в процессе упрощения и структурирования, на самом видном месте обнаруживаются скелеты древних динозавров, присыпанные мутными формулировками так, что долгие годы их никто не замечает. Что ж, если вы хотите окончательно разобраться в уровнях изоляции транзакций и гарантиях порядка операций, до давайте копать вместе.

Выпускайте эскалатор!

CDC-компонент модуля репликации СинкЭксперт: сбор и синхронизация отчётной базы данных

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

Привет, меня зовут Максим Рыбалко, я директор по управлению проектами Т1 Иннотех.

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

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

Читать далее

Замедление работы pg_repack с помощью cgroup

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

Операция VACUUM FULL полностью пересоздаёт таблицу, предельно оптимизируя её. Она требует полной блокировки таблицы, поэтому высоконагруженные таблицы обрабатывать ею без простоя системы нельзя. Вместо VACUUM FULL можно использовать расширение pg_repack. Оно создаёт на обрабатываемой таблице триггер, отслеживающей модификации, создаёт копию таблицы, догоняет набежавшие изменения. В конце работы берётся короткая блокировка, старая таблица удаляется, новая становится на её место.

Недостатком pg_repack является то, что она работает СЛИШКОМ БЫСТРО – фактически данные копируются и удваиваются в объёме (по отношению к исходной таблице). Каталог pg_wal забивается с такой скоростью, что архиватор не успевает обрабатывать файлы.

Далее описывается способ замедления работы pg_repack с использованием механизма cgroup.

Читать далее

Ошибки, которых следует избегать при миграции из Confluence

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

Конкретика и практичность — залог успешной миграции из Confluence. Разбираем основные ошибки, которые могут осложнить процесс: от неподготовленных данных до неправильно организации миграции. Делимся советами по организации данных, выбору оптимальных решений и способам минимизации рисков утраты информации.

Подробнее

Зачем запускать облачную СУБД на выделенном сервере

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

Когда речь заходит о выборе инфраструктуры, возникает классический вопрос: использовать готовый сервис в облаке или собрать свой на выделенных серверах. На первый взгляд, все просто: облако — это про скорость и удобство, а выделенные серверы — про мощность и производительность. Но все не так просто.

Облако — это не монолит, а набор кубиков (сервисов), из которых можно собирать решения под любые задачи — в том числе под очень требовательные к производительности. В этой статье мы проверим, насколько вариативно облако, сравним плюсы и минусы двух принципиально разных подходов к инфраструктуре и посмотрим на новый «кубик» в экосистеме Selectel — DBaaS на выделенном сервере. Разберемся, как он появился, зачем нужен и как сочетает производительность выделенного сервера с удобством облака. Готовы? Я Гришин Александр продакт менеджер облачных баз данных и объектного хранилища в Selectel, и сегодня я предлагаю собрать это облачное «LEGO» вместе!
Читать дальше →

Как GitLab с Liquibase миграции в ClickHouse везли

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

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

Сегодня я расскажу, как с помощью Liquibase, GitLab и немного Python настроить прозрачный, безопасный и удобный процесс миграций для ClickHouse кластера .

Читать далее