This talk is designed for PostgreSQL administrators. It covers all aspects of PostgreSQL administration, including installation, security, file structure, configuration, reporting, backup, daily maintenance, monitoring activity, disk space computations, and disaster recovery.
PostgreSQL обладает отличной расширяемостью, пользователи могут добавлять сами буквально всё: типы данных, функции, операторы, типы индексов, языки хранимых процедур и т.д. Для того, чтобы использовать многие из этих возможностей, нужно уметь программировать под PostgreSQL на C. Мы уже провели ряд мастер-классов, которые показали, что это не так уж и сложно.
На этот раз наш мастер-класс будет посвящен написанию расширения для полнотекстового поиска. Очевидно, что встроенные парсер, словари и ранжирующие функции подойдут не всем. На этот случай можно написать свои и оформить их как расширение. В своём мастер-классе мы на примере покажем, как это сделать.
Все кому приходилось работать с СУБД PostgreSQL, наверняка, сталкивались с вакуумом или что-нибудь слышали про него. Процесс вакуума или, по-русски, очистки - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от мусора. Задача вакуума очень важна и её нельзя игнорировать; более того, ей следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
За последние 10 лет открытые базы данных вышли на принципиально новый уровень. Если раньше их часто рассматривали в качестве решений для веб-приложений и других систем, не критичных для бизнеса, то сейчас крупнейшие компании всего мира используют открытые СУБД для своих ключевых приложений. В рамках данного доклада мы отследим, как и почему менялось отношение крупного бизнеса к решениям с открытым исходным кодом, а также ответим на часто возникающие вопросы и устраним многие опасения.
Мы также объясним, чем крупному бизнесу стоит руководствоваться при выборе открытых решений. Кроме того, мы дадим инструкции по выбору приложений, которые могут использовать открытые СУБД.
Наконец, мы поговорим о том, как разные представители сообщества могут общими силами повлиять на изменение репутации открытых СУБД, чтобы увеличить количество переходов на них среди крупных компаний и государственных организаций во всём мире.
Java is “the” Enterprise language, and probably the most used language to interact with a Postgres database. However, is Java with Postgres up to the task?
This talk will explore current limitations/issues in using PostgreSQL from Java, but will also try to provide solutions and/or paths to fix and improve the current situation. Special focus will be provided on achieving high performance and current best practices.
Apache HAWQ - решение класса SQL on Hadoop, построенное на базе PostgreSQL и представляющее собой порт Greenplum DB. Позволяет выполнять SQL запросы на данных HDFS путем форка postgres-процесса на DataNode.
1. Обзор истории возникновения и развития HAWQ.
2. Обзор архитектуры и ключевых компонентов системы.
3. Основные возможности платформы.
4. Загрузка данных.
5. Выполнение запросов.
6. Сравнение с конкурентами (Hive, Impala).
7. Дальнейшее направление развития.
Полнотекстовый поиск присутствует в PostgreSQL больше 10 лет. За это время он прочно обосновался в ядре и получил широкую известность. Но это не повод его не улучшать. В докладе будут представлены новые возможности, внесенные в будущую версию PostgreSQL 9.6, такие как: значительное уменьшение времени поиска, новые функции работы с данными, улучшение словарей и давно ожидавшийся поиск фраз.
Доклад посвящен новым возможностям B-tree, которые позволяют уменьшить размер индексов и значительно ускорить их работу. Покрывающие индексы, сжатие дубликатов, а также roadmap будущих улучшений. Теория от разработчиков и множество примеров реального использования.
С ростом объема данных, количества пользователей и, как следствие, ростом нагрузки, возникает вопрос о масштабируемой архитектуре и распределении нагрузки, сохраняя при этом консистентность данных и отказоустойчивость системы. В своем докладе я расскажу, как мы решаем эти вопросы в Avito. Речь пойдет о реализации отдельных компонентов мета-шаблона Lambda Architecture с помощью PGQ и Londiste:
1. Работа с разными моделями данных: для обновления и чтения информации.
2. Batch and stream processing, обрабатывающий 1000 событий в секунду.
3. Инициализация и поддержка remote aggregates data sources.
4. Сохранение консистентности данных.
5. Восстановление при авариях и др.
Для задачи создания отказоустойчивого кластера с ведущими и ведомыми узлами мы создали Patroni - служебную программу для запуска PostgreSQL кластеров и автоматического переключения ведущих узлов в кластере в случае аварии. Мы расскажем об архитектуре Patroni и о том, как он используется для решения разнообразных задач в Zalando, от экспериментов с поточной реализацией и придания "отказоустойчивости" существующим базам данных до запуска серверов в контейнерах Docker на базе платформы AWS.
PL/pgSQL is a very robust development language that allows you to write complex business logic. The downside is: as the complexity of your functions grows, how do you debug them? We have all used RAISE statements to print out the progress of our functions, but they can quickly overwhelm your logs and become useless.
In this talk, we will:
- Walk through the setup of 2 key PostgreSQL extensions, the PL/pgSQL Debugger and the PL Profiler
- Demonstrate how the PL Profiler can identify problem areas in your functions
- Setting breakpoints in functions and triggers
- Stepping through PL/pgSQL functions
- Discuss the performance impact of running the extensions on production environments
Everyone's familiar with the basic data types - numeric, text, boolean, and so on. In this talk, we'll quickly review those types, and then go further into exploring the diverse and powerful data types that make Postgres easier to model, perform better, and enable whole new use-cases.
In addition to the new and exciting JSONB data type, we'll also look at types like ARRAYs, range types, and how to use domains to construct your own data types and aggregates. We'll even examine some of the 3rd party data types like emails and URIs and talk about why these are possible, and how they can be practically harnessed to improve your applications.
In this talk I would like to draw the listeners' attention to some of the unexpected aspects of PostgreSQL statistics analyzer behavior, shed some light on the current state of affairs, propose a possible solution to some of the highlighted problems and hopefully ignite a general discussion on this subject.
Размеры баз постоянно растут и не всегда есть возможность оперативно обновлять дисковую систему под растущие требования. Особенно неприятно, когда место на дисках заканчивается внезапно (в пятницу вечером) и нужно срочно что-то сделать, пока все не превратилось в тыкву.
В докладе пойдет речь об особенностях хранения данных в PostgreSQL, различных способах уменьшить занимаемое базой место, правильном проведении миграций на больших таблицах, мониторинге и выявлении проблем.
There have been many different ways to take backups of PostgreSQL systems over the years, and the tools to do so have evolved both inside PostgreSQL and as addons.
Are you using pg_dump for backups? Calling pg_start_backup()? Writing an archive_command? Then you're probably missing out on new features, and possibly even risking your backups.
In this talk we'll go through the "right" way to do backups on modern versions of PostgreSQL, both using builtin tools and proven external utilities.
Мы обсудим результаты performance-тестирования PostgreSQL во FreeBSD и Linux (в том числе, Gentoo Linux). Я обещал организаторам не смеяться, поэтому доклад пройдет в атмосфере пленумов ЦК КПСС. Есть видеоанонс доклада, в котором я даже не улыбаюсь: http://pgday.ru/video/PostgreSQL_Announce.mov
В моем докладе я расскажу об open-source прототипе, разработанном в Zalando для сбора информации из изолированных PostgreSQL баз данных, применяющем возможности потоковой логической репликации в PostgreSQL с преобразованием данных для использования в разных системах их обработки (Data Lake, Operational Data Store, системы вычисления КПЭ или автоматического мониторинга за процессами). Слушатели узнают, как именно можно использовать логическую потоковую репликацию в мире микросервисов.
В докладе расскажу о том как, используя open-source решение liquibase и некоторый свод своих правил, мы в компании обеспечиваем миграции (версионность) баз данных, применяем в разработке практику непрерывной интеграции (Continuous Integration), обеспечиваем на проектах стабильность работы баз данных в условиях хронического преобладания количества разработчиков над dba.
Как Яндекс.Почта бекапит сотни терабайт данных в PostgreSQL при помощи форка Barman с поддержкой параллелизма, сжатия и честных инкрементов (page-level).
- преимущества и недостатки MPP-архитектуры
- выбор среди доступных MPP-систем, почему выбрали Greenplum
- архитектура Greenplum
- интеграция Greenplum c системами хранилища (SAS, Informatica, Hadoop)
- мониторинг
- несколько best practices + возникшие проблемы
In respect to storage, retrieval, aggregation and reporting of industrial manufacturing data, special considerations are needed. Data are immutual and written only once. Customers are normally interested in streams and aggregations, not in a single data record. Really "Big Data" may apply.
In one of our projects, we have to store more than 3 million measurements every second into PostgreSQL, resulting in a Terabyte database. Technicians expect to evaluate both live data and historical data within an acceptable period of time. Not only within the company's network, but also outside using tablet or smartphone.
By example of real live industrial projects, the requirements and technical aspects of our solutions will be explained. This includes how the required performance is achieved by using PostgreSQL array features and XML capabilities.
Некоторое время назад в JetBrains решили, что те возможности, которые предоставляют IDE на плафторме IntelliJ для работы с базами данных, могут быть интересны не только разработчикам на java или php, но и тем, для кого работа с данными — основная деятельность. Так появился DataGrip — продукт для SQL разработчиков, который может подключиться к любой СУБД и обладает всеми преимуществами других IDE от JetBrains.
В докладе будут рассмотрены базовые примеры использования DataGrip, сделан акцент на некоторых уникальных возможностях и показано, как избежать рутины в работе с SQL.
C2H5OH - это лёгкое и быстрое расширение для высокопроизводительного сервера nginx, позволяющее упростить и упорядочить серверную веб-разработку.
Не нужны скриптовые языки и тяжёлые фреймворки, достаточно PostgreSQL, nginx и c2h5oh. Я расскажу о личном опыте использования данного подхода, приведу примеры и результаты тестов.
Криптографические операции над данными необходимы для обеспечения безопасной работы и минимизации последствий утечки данных. В докладе приводится классификация криптографических алгоритмов и рассказывается про область применения алгоритмов каждого класса.
Доклад описывает возможные модели угроз и возникающие при этом варианты выбора алгоритмов и варианты их использования в случае работы с PostgreSQL.
Заключительные несколько слайдов посвящены перспективным разработкам в области СУБД, позволяющих частично снять ограничения, возникающие при использовании криптографии.
Речь пойдет о достоинствах и недостатках инструментария Sequel. Этот компонент является полноценным ORM и QueryBuilder, объединяющий множество СУБД с проектами в экосистеме Ruby. Будут рассмотрены практические аспекты применения в приложениях, использующих всю полноту возможностей СУБД PostgreSQL. В доклад войдут примеры выполнения запросов с рекурсивным CTE, подзапросами, сложными выражениями, запросы со standby-сервера и др.
Являюсь разработчиком и администратором баз данных и связанных подсистем в Авито уже на протяжении многих лет. Хочу поделиться опытом, полученным в ходе масштабного проекта по миграции Авито между дата-центрами: как мы осуществляли планирование, подготовку и непосредственно переезд с переключением площадки. Опишу общие особенности и специфику нашей миграции, "подводные камни" и неочевидные ограничения, с которыми приходилось справляться, в том числе, и в экстремальных условиях. Доклад будет интересен как DBA так и DevOps специалистам.
В наш гибридный век как разработчикам, так и администраторам часто приходится иметь дело со многими разными СУБД. Знание сильных и слабых сторон каждого продукта становится всё более важным навыком, но информация по этим вопросам, которую можно найти в сети, имеет целый ряд проблем: быстрая потеря актуальности в связи с постоянным развитием популярных СУБД, разрозненность, а также предвзятость и зачастую некомпетентность авторов.
В мире веб-технологий наблюдается значительный интерес к сравнительному анализу MySQL и PostgreSQL. Сообщество PostgreSQL проявляет достойную уважения активность в освещении сильных сторон PostgreSQL и слабых сторон MySQL. При этом сведения о MySQL часто содержат неточности и заблуждения, многие из которых я рассмотрел в серии статей "Памятка евангелиста PostgreSQL" на Хабрахабре.
В этом докладе я попытаюсь посмотреть на эту дискуссию с другого угла: порассуждаем о том, какие сильные стороны есть у MySQL, какие возможности позволяют этой СУБД обслуживать самые масштабные и высоконагруженные веб-проекты, а также попробуем ответить на вопрос "Когда PostgreSQL завоюет мир?"
JavaScript покинул браузер и захватывает мир, исполняясь на всех доступных машинах Тюринга.
Оказывается, JS может вполне комфортно существовать и внутри PostgreSQL благодаря расширению plv8, поддержке бинарного типа данных JSONB и гибкой системе индексирования.
В презентации мы с вами познакомимся с этими возможностями по отдельности и научимся их смешивать.
Посмотрим на производительность и другие характеристики. Обсудим возможность создания полностью изоморфных приложений, с возможностью иметь общий код на клиенте, сервере и в базе данных.
Николай Самохвалов
Postgresmen, организатор сообщества #PostgreSQLRussia
Текст письма скопирован в буфер обмена
Обоснование трат
Хотите, чтобы ваша компания отправила вас нас конференцию PG Day’16 Russia?
Скопируйте этот образец письма, отредактируйте его под себя и отправьте его своему руководителю.
Образец письма
Добрый день, !
Я хочу посетить техническую конференцию Pg Day’16 Russia, посвященную базам данных PostgreSQL,
которая состоится 6-8 июля 2016 в Санкт-Петербурге.
На конференции у меня будет возможность:
Систематизировать имеющиеся знания о СУБД PostgreSQL и приобрести новые;
Получить рекомендации по использованию и эксплуатации PostgreSQL;
Улучшить собственные навыки работы с базами данных PostgreSQL;
Получить последнюю информацию о состоянии сообщества;
Повысить свою продуктивность, получив ответы от мировых экспертов отрасли и переняв опыт коллег из других организаций;
Почерпнуть новые идеи и узнать об инновационных методах работы.
Предполагаемый список расходов:
Ориентировочная стоимость авиабилетов — [15000] руб.
Ориентировочная стоимость отеля: (3 ночи по [4100] руб) — [12300] руб.
Билет на конференцию — [18000] руб.
Общая сумма — [42300] руб.
Благодарю за рассмотрение моей просьбы. С нетерпением жду Вашего ответа.
С уважением,
Индивидуальный расчет стоимости для корпоративных команд
Заполните форму, и в ближайшее время мы отправим вам подробный ответ со стоимостью.