title

text

Alvaro Hernandez
Alvaro Hernandez 8Kdata
16:00 05 February
45 мин

PostgreSQL & Java: past, present and future

Java is the most used programming language in the world. Yet how is it supported in PostgreSQL? What are the gotchas and the best practices? Now that Java is evolving significantly, how will PostgreSQL follow?

Despite Java's age, language is stronger than ever. It's the de facto programming language in the enterprise world. And since Java 8, it is having a come back in the startup and open source world. PostgreSQL is accessed more from Java than any other interface but, how's Java supported in PostgreSQL?

This talk will analyze how it has been in the past, but more importantly how can you use it and what can you do today. JDBC drivers, best practices, pl/java and other less frequently used tools will be presented and discussed.

And then we will look into the future, to see what is currently under development. Like Phoebe, a new Java Reactive Driver for PostgreSQL that targets clusters, pipelined queries and non-JDBC interface for fully asynchronous operation. And also what needs to be done in areas like server-side Java, to bring Java to a fully advanced first-level language within PostgreSQL.

Слайды

Видео

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

  • Dmitry Boikov
    Dmitry Boikov АО БАРС Груп
    Марат Фаттахов
    Марат Фаттахов АО "БАРС Груп"
    22 мин

    Porting a cloud solution from Oracle to Postgres

    First working on Oracle, we could not ignore appearance and growth of PostgreSQL. I will describe how we came to PostgreSQL and share some experience of migrating a large medical system.

    • developing a code converter;
    • packages migration;
    • our patches solving some of the migration problems.

  • D
    Dmitry Melnik ИСП РАН
    22 мин

    Speeding up query execution in PostgreSQL using LLVM JIT compiler

    Currently, PostgreSQL uses the interpreter to execute SQL-queries. This yields an overhead caused by indirect calls to handler functions and runtime checks, which could be avoided if the query were compiled into the native code "on-the-fly" (i.e. JIT-compiled): at a run time the specific table structure is known as well as data types used in the query. This is especially important for complex queries, which performance is CPU-bound. At the moment there are two major projects that implement JIT-compilation in PostgreSQL: a commercial database Vitesse DB and an open-source project PGStorm. The former uses LLVM JIT to achieve up to 8x speedup on selected TPC-H benchmarks, while the latter JIT-compiles the query using CUDA and executes it on GPU, which allows to speed up execution of specific query types by an order.

    Our work is dedicated to adding support for SQL query JIT-compilation to PostgreSQL using LLVM compiler infrastructure. In the presentation we'll discuss how JIT-compilation can be used to speed up various stages of query execution in PostgreSQL, and the specifics of translating an SQL query into LLVM bitcode to achieve good performing native code. Also we'll present preliminary results for our JIT-compiler on TPC-H benchmark.

  • Дмитрий Воронин
    Дмитрий Воронин ОАО "НПО РусБИТех"
    22 мин

    The base version of DBMS PostgreSQL can register events bellow: - connect and disconnect - denial of access with date, time and user's name.

    Requirements guidelines for audit subsystem is much wider possibilities basic version of database PostgreSQL.

    The RusBITech company holds the necessary improvements PostgreSQL database to enhance it's functionality.

    A result of improvements audit subsystem of PostgreSQL database as part of the operating system «Astra Linux Special Edition» further enables registration:

    • The creation and destruction of database objects;
    • Changes to the rules of access control;
    • Both failures and successful attempts to access the database objects;
    • Changes to the powers and status of subjects access objects access.

    For all events are specified: - date and time; - The user performing the action of the registrant; - The object on which the action is carried out; - Type of event; - The result of the operation.

    Audit subsystem of modified PostgreSQL is integrated into a centralized audit system OS «Astra Linux Special Edition». Provided the rules setting without stopping the logging (restarting) database.

  • Michael  Paquier
    Michael Paquier

    PostgreSQL and backups

    A backup is something that no Postgres deployments should go without as it gives the insurance to get back a deployment on its feet should a disaster strike.

    In this talk we will discuss why backups are essential in any sane PostgreSQL deployments (this seems obvious) and what are the different options available to define and set up a good backup strategy. On top of that is discussed how the future of backups would need to be handled, particularly regarding differential backups that gain in popularity among users with large deployments.