Основная цель Patroni — это обеспечение High Availability для PostgreSQL. Но Patroni — это лишь template, а не готовый инструмент (что, в общем, и сказано в документации). На первый взгляд, настроив Patroni в тестовой лабе, можно увидеть, какой это прекрасный инструмент и как он легко обрабатывает наши попытки развалить кластер. Однако на практике в производственной среде, не всегда всё происходит так красиво и элегантно, как в тестовой лабе.
User
Распределённые СУБД для энтерпрайза

Единственное, что не очевидно, так это значение буквы «P». Когда кластер разделился, он решает – то ли не отвечать, пока не будет набран кворум, то ли отдавать те данные, которые есть. В зависимости от результатов этого выбора система классифицируется либо как CP, либо как AP. Cassandra, например, может вести себя и так и так, в зависимости даже не от настроек кластера, а от параметров каждого конкретного запроса. Но если система не «P», и она разделилась, тогда – что?
Ответ на этот вопрос несколько неожиданный: CA-кластер не может разделиться.
Что же это за кластер, который не может разделиться?
Готовим PostgreSQL в эпоху DevOps. Опыт 2ГИС. Павел Молявин
PGConfRu2019 Павел Молявин — «Готовим PostgreSQL в эпоху DevOps. Опыт 2ГИС»**
Всем привет! Меня зовут Павел! Я работаю в компании 2ГИС. Наша компания – это городской информационный справочник, навигационный сервис. Это очень хорошая штука, которая помогает жить в городе.
Опыт эксплуатации CEPH
Примечание: комментаторы указали на серьёзные ошибки в некоторых допущениях, требующие пересмотра всей статьи.
Managing PostgreSQL at Gitlab.com. Jose Cores Finotto
Managing PostgreSQL at Gitlab.com. Jose Cores Finotto.
Большое спасибо! Добро пожаловать на наш разговор о PostgreSQL в Gitlab. Мы поговорим только об основных моментах. И более подробно вы можете узнать на сайте Gitlab.com.
Управление высокодоступными PostgreSQL кластерами с помощью Patroni. А.Клюкин, А.Кукушкин
Расшифровка доклада/tutorial "Управление высокодоступными PostgreSQL кластерами с помощью Patroni". А.Клюкин, А.Кукушкин
Patroni — это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary — replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.
Слушатели мастер-класса подробно узнают, как работает Patroni, получат практические навыки настройки высокодоступных кластеров на его основе, познакомятся с различными дополнительными возможностями и поучаствуют в диагностике проблем. Будут рассмотрены следующие темы:
- область применения: какие задачи HA успешно решаются Patroni
- обзор архитектуры
- создание тестового кластера
- утилита patronictl
- изменение конфигурации PostgreSQL для кластера, управляемого Patroni
- мониторинг с помощью API
- подходы к переключению клиентов
- дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
- настройка синхронной репликации
- расширяемость и универсальность
- частые ошибки и их диагностика
Мониторим базу PostgreSQL — кто виноват, и что делать
Правда, если просто смотреть на них с консоли, можно очень быстро окосеть без какой-либо пользы, потому что количество доступных нам данных превышает все разумные пределы.

Поэтому, чтобы ситуация все же оставалась контролируемой, мы разработали надстройку над Zabbix, которая поставляет метрики, формирует экраны и задает единые правила мониторинга для всех серверов и баз на них.
Сегодняшняя статья — о том, какие выводы можно сделать, наблюдая в динамике различные метрики баз PostgreSQL-сервера, и где может скрываться проблема.
ClickHouse для продвинутых пользователей в вопросах и ответах
В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как мы используем систему управления базами данных и какие сложности у нас возникают.
По мотивам встречи мы собрали статью с ответами экспертов на наши и зрительские вопросы про бэкапы, решардинг данных, внешние словари, Golang-драйвер и обновление версий ClickHouse. Она может быть полезна разработчикам, которые уже активно работают с СУБД «Яндекса» и интересуются её настоящим и будущим. По умолчанию ответы Алексея Миловидова, если не написано иное.
Осторожно, под катом много текста. Надеемся, что содержание с вопросами поможет вам сориентироваться.
Как научиться разработке на Python: новый видеокурс Яндекса

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Сохраните в закладках эту статью, если вы новичок в Python (особенно если изучаете Python сами)
Привет, Хабр! Представляю вашему вниманию перевод статьи "Bookmark this if you are new to Python (especially if you self-learn Python)" в двух частях (1, 2) c простыми, но полезными советами и трюками в Python.
Если из-за скучной карантинной жизни вы решили погрузиться в Python, поздравляю. Вы столкнулись с самым быстрорастущим языком программирования. Я уверен, что вы уже знаете некоторые преимущества Python, такие как его простота, легкость в освоении и т.д. Это также основные причины, по которым я изучил Python пять лет назад. Я надеюсь, что вы сможете изучать Python более эффективно и наслаждаться этим процессом, и для этого я подготовил список простых, но полезных трюков и советов.
Уточнение: в настоящее время я использую Python 3.8. Если вы столкнулись с какими-либо проблемами во время запуска моих примеров, пожалуйста, проверьте, не связано ли это с вашей версией Python.
Заставляем дружить SQL server и PerfMon

Она здесь не случайно. Но пригодится чуть позже.
Практика использования Spark SQL, или Как не наступить на грабли
Ниже вы найдёте некоторые нехитрые приёмы по работе со Spark SQL:
- Как с помощью сбора статистики и использования хинтов оптимизировать план выполнения запроса.
- Как, оставаясь в рамках SQL, эффективно обрабатывать соединения по ключам с неравномерным распределением значений (skewed joins).
- Как организовать broadcast join таблицы, если её размер слишком велик.
- Как средствами Spark SQL понять, сколько приложение Spark реально использовало памяти и ядер кластера в развёртке по времени.
JSON Schema. Быть или не быть?
Архитектура: искусство делать излишнее необходимым.
Фредерик Кислер
Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), описывающей типы данных и структуру XML сообщений. При этом подходе у разработчиков существует явное преимущество: у них есть строгие стандартизированные правила по структуре сообщений, которые заданы в схеме, число правил конечно, и они позволяют автоматизировать проверку любого нового сообщения в формате XML.
Про фразовые глаголы
Почему это так легко и понятно? Потому что в раннем детстве мы глубоко усвоили значения русских приставок и с тех пор оперируем ими легко и бессознательно. Так же легко и бессознательно 7-8-летние английские дети оперируют частицами во фразовых глаголах, на ходу сочиняют новые фразовые глаголы, которых нет ни в одном словаре.
Безответственные преподаватели рекомендуют значения фразовых глаголов «просто запоминать», не пытаясь понять их внутреннюю логику. Это порочная практика: фразовых глаголов только самых распространённых – тысячи. «Выучить» их принципиально невозможно. Вот, скажем, let – это «позволять, пускать». А фразовый глагол «let in on» означает «посвящать в тайну». Запомнить такое способен только человек, который понимает переносные значения частиц, образующих фразовые глаголы.
Если правильно усвоить эти переносные значения, можно начать понимать даже такие фразовые глаголы, с которыми сталкиваешься впервые. Знание нескольких принципов освобождает от необходимости знания многих фактов.
Переход от монолитного Data Lake к распределённой Data Mesh
Все крупные компании сейчас пытаются строить огромные централизованные хранилища данных. Или же ещё более огромные кластерные Data Lakes (как правило, на хадупе). Но мне не известно ни одного примера успешного построения такой платформы данных. Везде это боль и страдание как для тех, кто строит платформу данных, так и для пользователей. В статье ниже автор (Жамак Дегани) предлагает совершенно новый подход к построению платформы данных. Это архитектура платформы данных четвертого поколения, которая называется Data Mesh. Оригинальная статья на английском весьма объёмна и откровенно тяжело читается. Перевод так же получился немаленьким и текст не очень прост: длинные предложения, суховатая лексика. Я не стал переформулировать мысли автора, дабы сохранить точность формулировок. Но я крайне рекомендую таки продраться через этот непростой текст и ознакомиться со статьёй. Для тех, кто занимается данными, это будет очень полезно и весьма интересно.
Евгений Черный
Немало компаний инвестируют в следующее поколение Data Lake с надеждой упростить доступ к данным в масштабе всей компании и предоставить бизнесу инсайты и возможность принимать качественные решения автоматически. Но текущие подходы к построению платформ данных имеют схожие проблемы, которые не позволяют достигнуть поставленных целей. Чтобы решить эти проблемы нам необходимо отказаться от парадигмы централизованного Data Lake (или его предшественника – хранилища данных). И перейти к парадигме, основанной на современной распределённой архитектуре: рассматривать бизнес-домены как приоритет первого уровня, применять платформенное мышление для создания инфраструктуры с возможностью самообслуживания и воспринимать данные как продукт.

ETL процесс получения данных из электронной почты в Apache Airflow
Как бы сильно не развивались технологии, за развитием всегда тянется вереница устаревших подходов. Это может быть обусловлено плавным переходом, человеческим фактором, технологическими необходимостями или чем-то другим. В области обработки данных наиболее показательными в этой части являются источники данных. Как бы мы не мечтали от этого избавиться, но пока часть данных пересылается в мессенджерах и электронных письмах, не говоря и про более архаичные форматы. Приглашаю под кат разобрать один из вариантов для Apache Airflow, иллюстрирующий, как можно забирать данные из электронных писем.
Кластер Elasticsearch на 200 ТБ+
С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься?
Мы в Одноклассниках решили при помощи elasticsearch решить вопрос лог-менеджмента, а теперь делимся с Хабром опытом: и про архитектуру, и про подводные камни.
Резервные копии с WAL-G. Что там в 2019? Андрей Бородин
Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Андрея Бородина "Резервные копии с WAL-G. Что там в 2019?"
Поиск и устранение проблем в Postgres с помощью pgCenter. Алексей Лесовский
Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Алексея Лесовского — «Поиск и устранение проблем в Postgres с помощью pgCenter»
Время от времени при эксплуатации Postgres'а возникают проблемы, и чем быстрее найдены и устранены источники проблемы, тем благодарнее пользователи. pgCenter это набор CLI утилит которые является мощным средством для выявления и устранения проблем в режиме "здесь и сейчас". В этом докладе я расскажу как эффективно использовать pgCenter для поиска и устранения проблем, в каких направлениях осуществлять поиск и как реагировать на те или иные проблемы, в частности, как:
- проверить, все ли в порядке с Postgres'ом;
- быстро найти плохих клиентов и устранить их;
- выявлять тяжелые запросы;
- и другие полезные приемы с pgCenter.
Что накапать в глаз, чтобы не чесался

Аллергопробы. Ищем тот самый мятлик, на который аллергия
Коты начинают репетировать радостные вопли под окном, ненормальный скворец снова решил, что кондиционер отличное место для гнезда, а солнце упорно намекает, что зима почти закончилась.
Все радуются. А я страдаю в предвкушении всех радостей аллергии на пыльцу, когда хочется выходить на улицу исключительно в скафандре. Мне почему-то кажется, что на Хабре найдётся немало собратьев по несчастью, и им будет интересно разобраться, что это за гадость и как с ней жить. А ещё я расскажу, зачем в моей дамской сумочке лежит коробка Преднизолона и Блефарогель.
Information
- Rating
- Does not participate
- Location
- Омск, Омская обл., Россия
- Date of birth
- Registered
- Activity