title

text

Miroslav Šedivý
Miroslav Šedivý solute GmbH
16:30 04 February
90 мин

Asynchronous Python and PostgreSQL Using asyncpg

Python may not be the fastest programming language on the CPU, but its fast and easy development saves a lot of costs between the keyboard and the chair. Since database clients spend most of their time waiting for a response from the database server, Python's asynchronous functionality available in the recent versions (3.5+) may help to optimize the application's runtime considerably by working on something else while server's response is being prepared. The asynchronous interface between Python and PostgreSQL is called "asyncpg". In the workshop we'll explore this library and write a short application using some of its useful features.

Видео

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

  • Álvaro Hernández
    Álvaro Hernández OnGres
    180 мин

    Oracle to PostgreSQL Migration Tutorial

    Stop paying for Larry’s boat!

    PostgreSQL is a fully-featured, enterprise-grade and open source database, named two years in a row database of the year! And it’s also the best candidate to migrate off of Oracle, supporting very advanced SQL, easy administration and pl/pgsql, a replacement for Oracle’s PL/SQL. Stop spending hundreds of thousands or millions of $ on database licenses and reinvest them in your team, infrastructure and software.

    Join this half-day tutorial to learn the best practices, tricks and tools to perform a successful Oracle to PostgreSQL migration. Learn from the team that performed 150M users Blackberry migration to PostgreSQL on GCP with near-zero downtime, and the key author behind orafce, a set of Oracle compatible functions on top of PostgreSQL.

  • Christopher Travers
    Christopher Travers DeliveryHero SE
    45 мин

    Data Recovery in PostgreSQL on a Damaged Filesystem

    This case study walks participants through a case where we decided to embark on a data recovery effort. This talk is applicable to all users, from novices to advanced PostgreSQL database administrators. Beginners will get an understanding of what data recovery is and is not, what expectations to have going into it, and how to work with contracted experts in order to ensure the best possible outcome, while more advanced users and experts will also get a fair bit out of the technical aspects of the case study.

    While the talk will emphasize non-technical operational aspects of data recovery, it will also include discussions of the internals of PostgreSQL we had to work with, as well as how we went about approaching difficulties so that we could retrieve the data we hoped to.

  • М
    Марат Сурмашев Health Samurai
    Nikolay Ryzhikov
    Nikolay Ryzhikov Health Samurai
    90 мин

    Using JSONB

    JSONB in PostgreSQL has interesting properties for design and development of business systems with heavy domain, helping to fight against complexity and variability. We will discuss the trade-offs of the JSONB approach. Using an open source project for Health IT - fhirbase we will:

    • load synthetic medical data into PostgreSQL
    • learn how to search and index this data (gin, jsquery, json-knife)
    • use JSON aggregation to build complex queries (GraphQL)
    • see how this data can be modified and validated
    • discuss architecture consequences of JSONB usage

    Technical requirements:

    • docker
    • docker-compose

    Detailed prerequisites

  • Aleksander Kuzmenkov
    Aleksander Kuzmenkov Postgres Professional
    45 мин

    Towards more efficient query plans: PostgreSQL 11 and beyond

    A major responsibility of a database engine is to convert a declarative SQL query to an efficient execution plan, employing various methods to scan and join the relations. There is always a development effort to improve this area. What clever execution plans can PostgreSQL generate, what's new in version 11 and what is in development? To name a few things, the joins are optimized by removing unneeded outer and inner joins, and reducing joins from outer and semi to inner. There is work to enable merge joins on inequality and range overlap, and to improve join selectivity estimates with multi-column statistics. When it comes to scanning a single relation, covering indexes allow to use index-only scans more often. Incremental sort and more precise estimation of sorting costs help generate better paths when sorted output is required, e.g. when using GROUP BY and ORDER BY or performing merge joins. This talk aims to give an overview of such optimizations that already exist and that are being developed now.