title

text

Мирослав Шедиви
Мирослав Шедиви solute GmbH Senior Software Developer
17:00 05 февраля
45 мин

Битемпоральность: отслеживание воспроизводимых изменений в PostgreSQL с помощью типа данных RANGE

Итак, вы наконец создали модель базы данных для вашего приложения и наполнили ее текущими данными. Каким образом обеспечить их актуальность? Хотя команда INSERT может быть все еще прозрачной, команды UPDATE и DELETE перезапишут ваши предыдущие данные, так что вы не сможете их воспроизвести. Клонирование целиком огромного контента при каждом небольшом обновлении - не вариант. Для богатых и сложных данных о сотнях тысяч электрогенераторов в Германии и по всему миру я построил базу данных, используя тип данных range, недавно появившийся в PostgreSQL. Это позволило мне добавлять, обновлять и удалять данные, при том обладая полным доступом к состоянию базы данных в любой исторический момент. Во время выступления я представлю очень упрощенную версию базы данных, чтобы аудитория смогла тут же применить знания на практике. Также я покожу несколько хитрых приемов в работе с Python и Psycopg2, которые позволят всей команде подготавливать, просматривать и развертывать все изменения в базе данных без конфликтов слияния. И подкину несколько идей о том, как можно эти данные эффективно извлекать.

Слайды

Видео

Другие доклады

  • Сергей Андреев
    Сергей Андреев ООО "Ортикон-Групп" Архитектор
    22 мин

    Что останавливает переход на PostgreSQL и как это побороть

    Несколько реальных кейсов от тех кто остановил переход на PostgreSQL.

  • Максим Вихарев
    Максим Вихарев Alytics Технический директор
    45 мин

    GreenHouseSQL - масштабируемая система аналитики на postgresql, greenplum и clickhouse

    На pgconf’17 я рассказывал про нашу велосипедную систему аналитики на основе PostgreSQL. После этого мы посматривали в сторону хадупов, s3, престо, друидов, вертики, пентахо и прочих страшил. А потом перестали cтрадать и сомневаться и просто добавили к постгресу готовые Greenplum и Clickhouse. Получив в итоге потрясающую скорость, простую миграцию, простое обслуживание, надежность и горизонтальное масштабирование, восстановление после сбоев в две команды, уменьшение костов на инфрастуктуру и широкие функциональные возможности за счет сочетания ANSI SQL, MPP и In-memory. Оставаясь в парадигме Open-source и полноценного SQL. В итоге у нас получилось то, что мы назвали GreenHouseSQL - наша внутренняя платформа данных полного цикла. В докладе вскроем простоту внутренностей решения и рассмотрим компоненты стека под микроскопом, расскажем об их достоинствах и недостатках, фишках начала работы с Greenplum, зачем нам Clickhouse, что осталось PostgreSQL'у и как вообще все это работает.

  • Julien Rouhaud
    Julien Rouhaud Разработчик
    45 мин

    HypoPG 2: поддержка гипотетического секционирования в PostgreSQL

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

  • Александр Федоров
    Александр Федоров dbeaver.com Директор по развитию
    Андрей Хитрин
    Андрей Хитрин RedSys Системный архитектор
    22 мин

    Самый важный инструмент: Xobot IDE

    В мире программирования особняком стоит создание исходного кода для "процедурных расширений" баз данных. Большинство СУБД предлагает процедурные языки и "хранимые процедуры" для создания процедурных расширений. В Postgres количество поддерживаемых официально и не очень процедурных языков уже перевалило за десяток.

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

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

    Мы рассмотрим проблемы разработки процедурных расширений и обсудим решения, которые мы реализуем в IDE XOBOT.