![Daniele Varrazzo Daniele Varrazzo](/media/2021/02/12/avatar.jpeg.180x180.jpg)
psycopg3: как Питон полюбил Постгрес
На сегодняшний день Python является одним из наиболее часто используемых языков программирования в мире. Он прост в изучении и использовании и легко совместим с любыми известными сервисами и протоколами. psycopg2 - наиболее часто используемый драйвер PostgreSQL для Python: он обеспечивает хорошую производительность и делает взаимодействие между ЯП и СУБД максимально удобным.
За последние годы Python существенно изменился, и его первоклассная поддержка асинхронного программирования меняет способ написания новых программ. В PostgreSQL также было внесено множество изменений, поэтому требуется новое поколение драйвера, который позволит питонистам использовать все возможности Postgres по максимуму.
psycopg3 - это новое поколение наиболее часто используемой библиотеки-адаптера Python-PostgreSQL: она предлагает знакомый интерфейс и удобный процесс обновления, кроме того, она спроектирована для получения максимальной производительности от базы данных и ЯП: она поддерживает асинхронное программирование, связываемые переменные (prepared statements), двоичные параметры.
psycopg3 также экспериментирует с инновационной поддержкой JSONB и конвейерной обработкой запросов! Приходите и узнайте, что нового происходит на стыке вашего любимого языка программирования и базы данных!
Видео
Другие доклады
-
Дорофей Пролесковский Juno GIS Engineer
Что нового в PostGIS 3.1
PostGIS - расширение для работы с пространственными данными в PostgreSQL. В этом докладе будут рассмотрены все последние изменения в экосистеме вокруг PostGIS с комментариями от разработчика.
-
Simon Riggs Enterprise DB Эксперт по PostgreSQL, ответственный за стратегическое развитие и технические коммуникации
PostgreSQL и стандарты SQL
PostgreSQL - одна из СУБД, в наибольшей степени соответствующая стандартам. В этом докладе будет рассмотрено влияние Постгреса на стандарт SQL и фичи из стандарта, которые были релизованы в Постгресе, в том числе фичи, планирующиеся в 14й и последующих версиях.
-
Yugo Nagata SRA OSS, Inc. Japan Chief Scientist
Автоматическое инкрементальное обновление материализованных представлений
Материализованное представление служит для хранения результатов запросов определения представления в БД, чтобы добиться более быстрого ответа на запрос. Однако данные в представлении устаревают после изменения базовых таблиц. Следовательно, для поддержания актуальности содержимого необходимо обновлять представление. В PostgreSQL есть команда REFRESH MATERIALIZED VIEW для обновления материализованного представления, но эта команда вычисляет его содержимое с нуля, что неэффективно в случаях, когда изменяется только небольшая часть базовой таблицы.
Инкрементальное обновление представлений (IVM) - это метод эффективного обновления материализованных представлений, который вычисляет и применяет к материализованным представлениям только инкрементальные изменения вместо повторного вычисления. Эта функциональность требуется для быстрого обновления материализованных представлений, но еще не реализована в PostgreSQL.
Поэтому мы разработали IVM для PostgreSQL и предлагаем реализовать его в качестве основной функции. Патч сейчас обсуждается в списке рассылки hackers. Наша реализация делает возможным автоматическое инкрементальное обновление материализованных представлений при изменении базовой таблицы. Вам не нужно писать собственную триггерную процедуру для обновления представлений. После продолжительной работы нашей команды текущая реализация IVM поддерживает некоторые возможности аггрегации, подзапросы, соединение одной таблицы (self-join), внешние соединения (outer join) и CTE (предложения WITH) в запросе определения представления. Результат оценки производительности с использованием запросов TPC-H показывает, что наша реализация IVM может обновлять материализованное представление в 200+ раз быстрее, чем повторное вычисление с помощью команды REFRESH.
В данном докладе мы опишем нашу реализацию IVM и ее возможности.
-
Mahmoud SAKR université libre de bruxelles ProfessorEsteban Zimányi ULB Профессор
Управление данными подвижных объектов с MobilityDB
MobilityDB - это расширение PostgreSQL and PostGIS для работы с движущимися объектами. В нём определяются типы данных и функции для полноценной работы с геопространственными траекториями. Основной тип данных - tgeompoint (темпоральная геометрическая точка). Она представляет собой полную траекторию движения точки - автомобиля, птицы или человека. Функция speed(tgeompoint) вычисляет скорость точки как функцию времени, в форме tfloat (темпоральное число с плавающей точкой). Подобным образом в MobilityDB определяется 6 темпоральных типов и около 300 функций. Благодаря этому, MobilityDB представляет собой весьма функциональную платформу для управления подвижными данными.
В этом мастер-классе Вы:
- узнаете о базах данных подвижных объектов
- напишете SQL запросы для MobilityDB для изучения базы траекторий объектов
- ознакомитесь с типами данных, функциями и индексами MobilityDB.