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

Базы данных *

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

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

Знакомство с 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.3K

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

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

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 кластера .

Читать далее

Путеводитель по техническим транзакциям с Camunda 8 и Spring

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

Интересно, как работают технические транзакции с Camunda и фреймворком Spring? Узнайте больше о транзакционном поведении в этом посте.

Читать далее

Нужен ли Postgres альтернативный сборщик статистики таблиц?

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

Речь здесь пойдёт о стабильности стандартной статистики Postgres и об идее очередного расширения - на этот раз альтернативы команде ANALYZE. Всё началось с того, что заканчивая работу над предыдущей статьёй я вдруг заметил, что результат выполнения одного и того же запроса теста Join Order Benchmark (JOB) в серии последовательных прогонов может отличаться в разы и даже на порядки - причем как по значению параметра execution-time, так и по pages-read. Это выглядело очень странно, поскольку и тест и ноутбук и все настройки оставались теми же - даже погода за окном. И я решил расследовать, что происходит …

Читать далее

Проверка на (не)вхождение строк через разные инструменты в PostgreSQL

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

Сравниваем использование IN, EXISTS и JOIN для нахождения вхождений и рассматриваем их планы выполнения для разных ситуаций.

Найти вхождение (◕‿◕)

Сальваторе Санфилиппо возвращается в Redis

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

Друзья, как будто мы пропустили интересное и важное событие! В декабре 2024 года Сальваторе Санфилиппо - автор Redis - спустя 4 с половиной года отсутствия в проекте возвращается к своему детищу.

Для меня редис - это по-прежнему простой и эффективный элемент разрабатываемых систем. Возможно еще и поэтому я с большим интересном и даже удовольствием прочитал пост antirez-а о возвращении. Под катом взгляд Сальваторе на проблемы лицензирования, раскол в сообществе редис, нейронные сети и LLM, векторный поиск и, конечно, дальнейшие планы по работе над Redis и всё, что с этим связано.

Приятного чтения!

Что нового в Postgres Pro Enterprise 17: от Proxima до интеллектуального управления данными

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

Вышел Postgres Pro Enterprise 17, и этот релиз принесёт улучшения в области производительности и масштабирования. Одно из ключевых нововведений — расширение Proxima, объединяющее функции пулера, прокси и балансировщика нагрузки, интегрированное непосредственно в ядро СУБД. Кроме того, разработчиков ждут новые возможности управления очередями сообщений, инструменты оптимизации запросов, средства обеспечения безопасности и функции интеллектуального хранения данных.

Узнать о нововведениях

Вопрос на техинтервью аналитика и разработчика: “Назовите способы проверки username на уникальность”

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

Продолжаем посты на тему технических интервью. Новый пост, который мы позаимствовали у автора Дилана Смита, будет для джунов по специальностям «Системный аналитик», «Backend‑разработчик» и «Fullstack‑разработчик». Иногда такой вопрос также попадается на интервью архитекторам и инженерам баз данных. Ответ на вопрос из заголовка может быть как очень коротким, где всего четыре пункта, так и развернутым — включая примеры кода и диаграммы. Естественно, мы рассмотрим тему во всех подробностях.

Читать далее