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

Базы данных *

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

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

Не трогайте логи руками. Часть 2: как мы внедряли Unified Logfile Analyser

Время на прочтение7 мин
Количество просмотров6.6K
В прошлой статье мы рассказали о созданной нами системе под названием ULA (Unified Logfile Analyser) — анализаторе, основными функциями которого являются сбор и агрегация входящих сообщений об ошибках c использованием алгоритма shingles, принятие решений по ним и автоматическая нотификация при проблемах с тестовой средой.  Сегодня мы поделимся практикой обнаружения/решения багов раскатки этой системы и нашими планами.


Читать дальше →

Автоматизация по сбору данных о росте таблиц и файлов всех баз данных MS SQL Server

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

Предисловие


Часто возникает потребность контролировать рост всех таблиц и файлов всех баз данных.

В данной статье будет рассмотрен пример того, как можно автоматизировать сбор данных о росте таблиц и файлов баз данных.
Читать дальше →

Установка и настройка MongoDB на Debian, а также ReplicaSet и пара других мелочей

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

Это руководство описывает пошаговую установку и настройку реплики из 3 узлов mongoDB на базе движка WiredTiger. А также несколько полезных мелочей для людей, впервые столкнувшихся с MongoDB.
Читать дальше →

Как система управления инженерными данными спасает файлы от уничтожения криптовирусами

Время на прочтение3 мин
Количество просмотров13K
Может ли Pilot-ICE спасти данные от вирусов-шифровальщиков? Чтобы ответить на этот вопрос, мы провели экспериментальное заражение нашумевшим вирусом Wana Decrypt0r 2.0 изолированной тестовой системы, на которой запущен сервер Pilot-Server и клиент Pilot-ICE. Другие криптовирусы действуют по схожему принципу, отличается только способ заражения. Рассматриваем самый экстремальный случай, когда резервной копии нет.



Рассказывает Дмитрий Поскребышев — руководитель отдела разработки систем управления инженерными данными.
Читать дальше →

Решение проблем с правами доступа в MySQL: вопросы и ответы

Время на прочтение7 мин
Количество просмотров14K
В феврале этого года Света Смирнова (ведущий инженер компании Percona) провела вебинар, посвященный решению проблем с правами доступа в MySQL. Запись и слайды с вебинара доступны здесь. Предлагаем вашему вниманию небольшой обзор самых популярных вопросов на эту тему.
Читать дальше →

Автоматизация дефрагментации индексов в базе данных MS SQL Server

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

Предисловие


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

А как быть с базами данных, которые постоянно используются как для изменения данных, так и для получения информации 24 часа в сутки, 7 дней в неделю?

В данной статье приведу реализованный механизм автоматизации дефрагментации индексов в базе данных для поддержки базы данных у нас на предприятии. Этот механизм позволяет все время дефрагментировать нужные индексы, т к в системе 24x7 фрагментация индексов происходит постоянно. И часто дефрагментация даже 1 раз в день для индексов недостаточна.
Читать дальше →

Autoscaling — инструмент автоматического вертикального масштабирования ресурсов (CPU|RAM|HDD)

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

В начале этого года у наших облачных VDS появился публичный API. Он позволяет клиенту делать практически все те же действия с облачными виртуальными машинами и дисками, что и в панели: создавать, удалять диски и ВМ, изменять тарифы и размер диска и тп.





Вместе с появлением API появилась и идея на его основе реализовать систему мониторинга за ресурсами виртуальной машины (ВМ), работающую внутри машины, и автоматического увеличения/уменьшения необходимых ресурсов по необходимости — автоскейлинг (autoscaling, АS).
Некоторые пояснения по AS
Здесь стоит уточнить, что поскольку система AS основана на API, в ее задачи не входит мгновенное предоставление ресурсов по требованию, в момент появления необходимости в них, или угадывание/предсказывание будущей необходимости в ресурсах. Суть AS заключается в том, что он должен зафиксировать момент, когда можно с уверенностью сказать, что ресурсов текущего тарифного плана становится недостаточно для гарантированного* и своевременного** выполнения запущенных на виртуальной машине процессов, и автоматически перевести ВМ на следующий тариф.

**Своевременного — потому что, если выполнение запущенных процессов упирается в процессорный ресурс, то процессы так или иначе выполнятся. Но время их завершения становится непредсказуемым.
*Гарантированного, потому что если оперативная память ВМ близка к исчерпанию и на ВМ не настроен swap, то это означает, что близка ситуация, когда какой-то из запущенных на ВМ процессов будет аварийно завершен операционной системой, если суммарное потребление памяти всеми процессами превысит ее общий объем. Если же swap настроен, то пока он также не исчерпается, никто убит не будет, но быстродействие ВМ также сильно просядет, т.к. будет зависеть от скорости работы swap-раздела, которая в любом случае на порядок меньше, чем скорость работы оперативной памяти.

Читать дальше →

Горизонтальное масштабирование серверов баз данных для OLTP-систем, или что есть на рынке

Время на прочтение5 мин
Количество просмотров14K
Как правило, в крупных и средних компаниях существуют высоконагруженные транзакционные информационные системы, которые являются важнейшей составляющей бизнеса, их называют OLTP-системами. С ростом бизнеса нагрузка увеличивается очень быстро, поэтому задача увеличения производительности имеющихся ресурсов под серверы баз данных, стоит очень остро. Зачастую для решения задачи увеличения производительности серверов баз данных приобретается более мощное оборудования (так называемое «вертикальное» масштабирование), но этот способ имеет очень существенный минус: компания рано или поздно купит сервер баз данных максимальной производительности по приемлемой цене, и что делать дальше? Дальше перспективы для бизнеса могут быть не такие радужные – во многих случаях речь идет об ухудшении репутации компании, невозможности обслужить клиентов в моменты повышенного спроса, значительной потере прибыли.
Читать дальше →

Ускоренная экстракция данных из SAP-систем в DWH и Lakehouse: наш опыт интеграции

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

В современных условиях возрастает актуальность выгрузки данных из SAP ERP в хранилища данных DWH или Data Lakehouse сторонних вендоров. Интеграция с системами, не входящими в экосистему SAP, зачастую сопровождается сложностями: поставщики программного обеспечения, как правило, не поддерживают использование конкурентных продуктов. Нативный механизм выгрузки данных в SAP BW (Business Warehouse) не может быть применен к системам, не принадлежащим к экосистеме SAP.

На нашем проекте внедрения хранилища данных на основе Arenadata DB для одного из крупных банков мы столкнулись со сложностями при интеграции с SAP S/4HANA.

В статье рассматривается решение, которое позволяет быстро и надежно производить выгрузку больших объемов данных.

Читать далее

Практический CQRS и Event Sourcing на Go

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

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

Читать далее

Как мы научили PostgreSQL автоматически создавать партиции: опыт Nexign Nord

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

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

Читать далее

Развёртывание боевого кластера Cassandra. Часть 1

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

Это первая статья из цикла, рассказывающая о практике развёртывания небольшого кластера Cassandra: от дефолтного деплоя «из коробки» до готовности к производственной эксплуатации.

Apache Cassandra — это распределенная высокомасштабируемая NoSQL СУБД, предназначенная для надежного хранения огромных массивов данных. Cassandra используют такие гиганты как Netflix, Apple, Instagram*, Twitter* (*Запрещены в РФ), Spotify и множество других известных компаний и брендов.

Здесь не будет рассказа об архитектуре Cassandra — о ней опубликовано очень много статей и снято настолько же много видео. Особо отмечу суперский «Cassandra Day Russia» на Youtube на русском языке, записанный нашими соотечественниками из Datastax. Поэтому, если вы вообще ничего не знаете о Cassandra, то посмотрите, например, вебинар «Введение в фундаментальные принципы и основы Apache Cassandra», а уже затем добро пожаловать в подготовку боевого кластера.

Что касается самого кластера, который мы будем разворачивать, то мне достался раскатанный через Ansible деплой на 5 хост‑машин с единственным образом Cassandra 4.0 в docker‑compose и дефолтными настройками. Пятерка хост‑машин представляет собой Core i5 / 64 GB RAM / 2 x 512 GB NVMe SSD / 16 TB SATA c Debian 11.

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

Приступим?

Читать далее

Об управлении планами  PREPARED-запросов в PostgreSQL

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

Побывав на PGConf.DE’2025 и обсуждая там практику применения Postgres на больших базах данных, я к своему удивлению регулярно слышал мнение, что проблемой является время планирования запроса. Как разработчику, мне было странно узнать, что этот фактор может, например, тормозить принятие решения о переходе на партиционирование, что казалось бы естественный шаг, когда количество записей в таблице переваливает за сотню миллионов. Что ж, давайте разбираться.

Читать далее

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

Как провести нагрузочное тестирование БД PostgreSQL и ничего не забыть

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

При нагрузочном тестировании баз данных Tantor Postgres или других на базе PostgreSQL с использованием стандартного инструмента pgbench отсутствие фиксации деталей окружения (таких как конфигурация СУБД, характеристики сервера, версии ПО) часто приводит к нерепрезентативным результатам и необходимости повторных тестов. В статье рассматривается разработанный автором инструмент pg_perfbench, который призван решить эту проблему.

Читать далее

Как мы учили по-доброму шутить LLM и у нас получилось (почти)

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

Способность открытых LLM шутить, причем по-доброму, могла бы расширить применение ИИ во многих сферах – образовании, терапии, обслуживании клиентов. Так что мы с коллегами из Лаборатории естественного языка НИУ ВШЭ задались этим вопросом и попытались разработать собственную методологию курирования (фильтрации и аннотирования) наборов данных для генерации доброго юмора на малых LM. По всем научным канонам мы ее описали и оценили в этом препринте. А здесь я постараюсь рассказать о ней чуть короче и менее научно.

Читать далее

Параметры конфигурации мастера, отслеживаемые репликами PostgreSQL

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

Значения восьми параметров конфигурации мастера (primary, ведущего сервера PostgreSQL) сохраняются в управляющих файлах и изменения их значений передаются через журнал (WAL) на реплики. Если реплика открыта для запросов (hot_standby=on), то значения пяти числовых параметров на реплике должны быть не меньше, чем на мастере, иначе процесс startup прекратит накат (replay) журнальных записей. А после рестарта экземпляры реплик не запустятся. В статье рассматриваются эти параметры особенности изменения их значений.

Значения пяти числовых параметров конфигурации, сохраненных в управляющем файле кластера, можно посмотреть утилитой pg_controldata:

Читать далее

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

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

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

Читать далее

Достижение согласованности без менеджеров транзакций

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

Вам нужно интегрировать несколько компонентов без помощи менеджеров транзакций с поддержкой ACID (атомарность, согласованность, изоляция и долговечность)? Тогда этот пост для вас.

Я сначала кратко объясню, что такое менеджеры транзакций и почему вы можете не иметь их под рукой в современных архитектурах. Затем я опишу решение, как работать без менеджеров транзакций в целом, а также рассмотрю проект, который я знаю лучше всего, как конкретный пример: движок процессов Camunda.

Читать далее

Документы под контролем: Как выбрать идеальную платформу и не сойти с ума

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

Запутались в выборе платформы для работы с документацией? Функций море, терминология запутанная, а вариантов столько, что глаза разбегаются—даже опытные специалисты порой теряются! Мы собрали для вас 10 ключевых критериев, которые помогут найти идеальную систему управления документацией без лишней головной боли. Давайте разберёмся вместе!

Читать далее

Транзакции PostgreSQL, Требования ACID, примеры. Подготовка к собеседованию, изучение

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

Приветствую тебя читатель, я решил написать про ACID и Транзакции PostgreSQL своим языком, с понятными примерами, эта статья ориентирована на людей готовящихся к собеседованию, кто захотел узнать нюансы транзакций в PostgreSQL или про ACID, а также для людей которые знают теорию, но сами ещё ни разу не писали транзакции. Я не ставил перед собой цели рассмотреть и объяснить работу транзакций на очень глубоком уровне. Была цель привести понятные примеры, дать макет работы с транзакциями, а также пощупать основные возможные проблемы при работе с транзакциями в PostgreSQL.

Читать далее