title

text

Dmitry Melnik
Dmitry Melnik ИСП РАН
14:00 17 March
22 мин

Dynamic Compilation of SQL Queries in PostgreSQL Using LLVM JIT

Currently, to execute SQL queries PostgreSQL uses interpreter, which implements Volcano-style iteration model. At the same time it’s possible to get significant speedup by dynamically JIT-compiling query “on-the-fly”. In this case it’s possible to generate code that is specialized for given SQL query, and perform compiler optimizations using the information about table structure and data types that is already known at run time. This approach is especially important for complex queries, which performance is CPU-bound.

Слайды

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

  • Andrey Fefelov
    Andrey Fefelov Mastery.pro
    45 мин

    Postgres as BI platform core, features, practical experience

    I will tell you about why Postgres is first-choice product as a foundation for your BI system with classical OLAP workload. Briefly it will be said about existing open source BI solutions.

    I will also describe specific of our architecture, why we chose snowflake scheme and how we are doing extract, transformation and load procedures. It will be mentioned about special Postgres tuning for OLAP and massive data bulkload workloads. Also I will let you know about Postgres usage as a column database with cstore_fdw by Citus and results achieved. Cons and problems of our approach will be described in the end of the talk.

    VIDEO

  • Ivan Frolkov
    Ivan Frolkov Postgres Professional
    45 мин

    Relocatable tables in PostgresPro

    With big data threads, even the upload of data to a database can often be problematic – apart from the data upload itself, you need to create indexes, perform VACUUM after the upload for correct Index-only scans, etc. From this talk, you will learn how to avoid most of such problems (if not all of them).

    VIDEO

  • Pavel Luzanov
    Pavel Luzanov Postgres Professional
    90 мин

    Tools for server code debugging, profiling, and tracing

    Debugging, profiling, and tracing of the executed commands play an important role in development of any applications. This is also true for developing stored procedures in DBMS.

    PostgreSQL offers various tools (both built-in and external) for these purposes.

    In this talk, we will provide an overview of the available tools and their advantages and disadvantages, as well as a detailed demo of their use cases.

    This talk is a part of a basic course for backend application developers (DEV1), which “Postgres Professional” company plans to announce in the near future.

  • Marco Slot
    Marco Slot Citus Data
    45 мин

    Towards 1M writes/sec: Scaling PostgreSQL using Citus MX

    Citus allows you to distribute postgres tables across many servers. It extends postgres to transparently delegate or parallelise work across a set of worker nodes, enabling you to scale out the CPU and memory available for queries.

    One year ago, we began a long journey to allow Citus to scale out another dimension: write throughput. With writes being routed through a single postgres node, write throughput in Citus was ultimately bottlenecked on the CPUs of a single node. Citus MX is a new edition of Citus which allows distributed tables to be used from from any of the nodes, enabling NoSQL-like write-scalability.