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

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

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

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

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

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

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

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

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

Новости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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


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

Кратко про Raft и Paxos: путь к надежным распределенным базам данных

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

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

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

Среди множества подходов к решению проблемы достижения консенсуса в распределенных системах, Paxos и Raft являются самыми эффективными. Рассмотрим их подробней.

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

Как я искал ПДн в 300 базах данных [и сохранил рассудок]

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

Пришли как-то ко мне парни из службы безопасности и говорят: «Надо обойти все БД и собрать с них персональные данные». Потому что в России изменилось законодательство и теперь их нужно хранить в особо защищённых хранилищах.

Если этого не сделать, то рано или поздно данные могут утечь и ещё можно нарваться на высокие штрафы при утечке. Задача безопасников (и основная выгода от их наличия в компании) — минимизация таких рисков.

Вот только у нас несколько сотен баз данных, где-то около трёхсот. Даже если просто заглянуть в них и попытаться сделать выборку — это займёт весьма продолжительное время. И никто не имеет полной картины, где что хранится.

Скорее всего, вам скоро предстоит такое же, поэтому сейчас покажу артефакты, которые я нашёл в процессе.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 30

Кратко про NewSQL

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

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

NewSQL - это класс систем управления реляционными БД, представляет собой слияние преимуществ SQL-бд с инновациями, направленными на решение проблем масштабируемости и производительности.

В основе NewSQL лежит стремление сохранить полную совместимость с SQL, т.е разработчики, уже знакомые с SQL, могут легко адаптироваться к использованию NewSQL систем без необходимости изучения чего-либо другого.

Помимо базового SQL синтаксиса, многие NewSQL системы вводят дополнительные расширения, направленные на улучшение производительности Эти расширения могут включать в себя новые функции, процедуры и методы оптимизации запросов, которые традиционные SQL-системы не поддерживают.

В сегодяшней статье рассмотрим в общем виде то, что из себя представляет NewSQL

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

Один из методов мониторинга и анализа ошибок СУБД

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


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

К рассмотрению предлагается один из способов мониторинга ошибок СУБД PostgreSQL и получением итоговой информации, используя Zabbix. Данная статья не tutorial и не roadmap, скорее как эскиз для обмена мнениями с коллегами.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 7

Инструкция по бэкапу одной базы в Postgres – миф или реальность

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

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер), до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя  было сделать проще как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей то лабораторной работы? Статья адресована прежде всего специалистам 1С избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

Сохранить в бэкап
Всего голосов 13: ↑8 и ↓5 +3
Комментарии 59

Шардирование: с нуля до Яндекс Диска

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

Меня зовут Андрей Колнооченко. Я отвечаю за ядро файловой системы Яндекс Диска. Когда мы запускали сервис, то сразу ориентировались на рост и приняли решение шардировать базу метаданных о файлах. Но за 11 лет Яндекс Диск настолько вырос, что нам пришлось трижды менять подход к шардированию. В статье расскажу, с какими проблемами мы сталкивались по мере роста сервиса и как от MongoDB пришли в итоге к PostgreSQL.

Эта статья будет полезна, если вы планируете распределить нагрузку на вашу БД или вам просто интересен опыт развития БД для обработки большого числа запросов.

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

Тестирование менеджера транзакций

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


Привет, Хабр! Меня зовут Георгий Лебедев, я учусь на 4-м курсе ФРКТ МФТИ и работаю в команде разработки ядра Тарантула. В этой статье я хочу поделиться методикой тестирования менеджера транзакций, которая применяется в Тарантуле.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 1

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

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

Запуск и настройка Pentaho server с базой MSSQL

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

В этой статье описаны действия по установке MS SQL в качестве базы данных хоста для сервера Pentaho в архивной установке Pentaho.

 

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

Запуск и настройка Pentaho server с базой MSSQL

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

В этой статье описаны действия по установке MS SQL в качестве базы данных хоста для сервера Pentaho в архивной установке Pentaho.

 

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

Написание минимальной подсистемы хранения данных в памяти для MySQL/MariaDB

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

Я потратил неделю, копаясь во внутренностях MySQL/MariaDB вместе с ещё примерно 80 разработчиками. Хотя MySQL и MariaDB — это, по большей части, одно и то же (я ещё к этому вернусь), я сосредоточился именно на MariaDB.

Раньше я никогда сам не собирал MySQL/MariaDB. В первый день «недели хакерства» я смог наладить локальную сборку MariaDB и твикнул код так, что запрос SELECT 23 возвращал 213. Сделал я и другой твик — такой, что запрос SELECT 80 + 20 возвращал 60. На второй день я смог заставить заработать простую UDF на C, благодаря которой запрос SELECT mysum(20, 30) давал 50.

Остаток недели я потратил, пытаясь разобраться с тем, как сделать минимальный движок для хранения данных в памяти. Именно о нём я и расскажу. Это — 218 строк кода на C++.

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

Эффективное обновление состояний в БД из сервисов потоковой обработки событий

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

Как хранить сложные сущности в БД? Что нужно сделать, чтобы не перезаписывать весь рекламный баннер для обновления одного лишь заголовка? Рассмотрим как минимум 5 независимых и взаимно совместимых идей для многократного снижения нагрузки на чтение и запись подобных объектов.

Меня зовут Юрий Печатнов, я уже 6 лет работаю в Яндексе и занимаюсь сервисами потоковой обработки. Это большие распределенные системы, читающие сообщения из большой распределенной очереди и создающие полезный выход. Полезным выходом могут быть сообщения в другой распределенной очереди и/или обновление состояний в БД. Поговорим о том, как их эффективно обновлять.

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

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

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

В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компаниями с жёсткими требованиями к информационной безопасности, но и крайне нужна всем, кто попадает под различного вида государственные регуляции, вроде приказа ФСТЭК №64 или страшного GDPR.

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

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

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

Аудит производительности 1С-систем: на что обращаем внимание

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

Эта статья немного философская. В начале года хочется порассуждать о причинах, которые подвигают компании заняться более глубоким анализом проблем производительности своих ИТ-систем.

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

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

Exception Handling: сквозь мультивселенные интероперабельности

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


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

Меня зовут Максим Кокряшкин, я занимаюсь поддержкой и расширением функциональности форка LuaJIT, интегрированного в Tarantool. В этой статье мы обсудим, как интероперабельность исключений помогает упростить обработку ошибок на стыках разных языковых рантаймов, а также посмотрим, как можно реализовать интероперабельность стандартными механизмами обработки исключений.
Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 0

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

Работа