Bagger: как мы мигрировали 1 PB данных с Elasticsearch на PostgreSQL
В своем выступлении я расскажу о том, как группа сисадминов набила шишки, пытаясь реанимировать петабайтный кластер баз данных Elasticsearch, и в конце концов решила заменить его проверенными технологиями: PostgreSQL, Kafka, немного Redis, много клея, и типичное сисадминское упрямство. Результатом стал Bagger - ответ сисадмина на вызов больших данных. Быстрое, надежное, устойчивое к отказам хранилище, используемое в основном для логирования временных событий. Bagger получил свое имя по названию серии ковшовых экскаваторов, одних из крупнейших наземных транспортных средств, когда-либо производимых человеком. Как эти экскаваторы прокапывают тонны материала, так и наш Bagger способен прокопаться через тонны данных.
Слайды
Видео
Другие доклады
-
Максим Соболевский JetBrains Менеджер по марткеингу
DataGrip: IDE для PostgreSQL от JetBrains
JetBrains 15 лет производит среды разработки для работы со многими языками программирования. Самая популярная из них – IntelliJ IDEA для java, но она поддерживает и базы данных. В какой-то момент мы решили, что эту функциональность и глубокий опыт компании в работе с языками можно привнести и в мир SQL – так появилась среда разработки DataGrip. В докладе я расскажу о том, как DataGrip помогает писать код и работать с данными быстро, как расширить самому функциональность инструмента и постараюсь выяснить, какие проблемы в инструментарии актуальны для российского PostgreSQL сообщества.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Защита PostgreSQL от внешних атак
Доклад раскроет все известные способы, которыми не имеющие авторизованного доступа к базе данных злоумышленники могут выкрасть пароли Postgres, просмотреть совершенные тразакции и даже вмешаться в работу сессии, возвращая фальсифицированные данные.
Postgres обладает встроенными средствами защиты для предотвращения этих угроз, однако администраторы баз данных должны понимать уязвимости для лучшей защиты от них.
-
Михаил Балаян Acronis Chief Database Architect
MVCC в картинках и когда длинные транзакции - это проблема
Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Изучаем CTE и оконные функции
От разработчиков часто требуются результаты, которые трудно получить обычными SQL-запросами. К счастью, стандартом SQL предусмотрены мощные средства - общие табличные выражения (CTE) и оконные функции, который весьма расширяют круг возможного.
SQL является декларативным языком, что означает, что пользователь только формирует запрос, с база данных определяет, как его следует оптимально исполнять. CTE позволяют запросам быть более императивными, дают возможность организовать циклы и обработку иерархических структур, что обычно делается только в императивных языках.
Обычные SQL-запросы возвращают наборы строк, в которых одна строка не зависит от других. Оконные функции позволяют добавлять в запрос поля, значения которых зависят от других строк.
Этот мастер-класс поможет прикладным разработчикам в использовании CTE, что позволит перенести часть логики из приложения в SQL-код, и разъяснит возможности оконных функций и особенности их использования.
Видео
Часть I «Programming the SQL Way with CTE»
Часть II «Postgres Window Magic»