title

text

Александр Кварацхелия
Александр Кварацхелия БАРС Груп
Александр Чирков
Александр Чирков Барс Груп
: December
45 мин

Migration from Oracle to PostgreSQL using an automatic converter

In the report, we want to talk about the experience of migrating one large system from Oracle to PostgreSQL. The system itself was built on the PHP + Oracle stack; its distinguishing feature was that all business logic was implemented in PL / SQL code. In a DBMS, there are more than 3000 packages with 4-10 functions (procedures) in each. In PHP - more than 10,000 forms with inserts of anonymous blocks used to receive data, process and save results in Oracle.

To solve this extremely voluminous work, we took ANTLR4 (a powerful parser generator for reading, processing, executing, or translating structured text), PL/SQL grammar, and created an automatic converter that allows you to convert all objects in the schema and our system from Oracle to working code for PostgreSQL.

Слайды

Видео

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

  • Владимир Алешин
    Владимир Алешин Avito
    45 мин

    Stored procedures as code

    We will discuss stored procedures and functions, as well as the code within the database in general. We'll take a look at stored procedures from different angles: as a DBA, a database developer, and a backend developer. We will try to understand the specifics of stored procedures that often go against the common coding guidelines, and discuss best practices for working with stored procedures.
    This is mainly a motivational talk for database and backend developers, not an advanced tech talk.

  • Олег Правдин
    Олег Правдин Lingualeo
    45 мин

    Real case of smooth MySQL → PG migration of highloaded project (20+M users)

    A brief story how MySQL → PG migration could increase company efficiency tenfold times:

    1. Program code has been reduced 50 times, with optimization of backend team (from 15 to 3 engineers)
    2. Software development of new features has become measuring in days, not in months
    3. Infrastructure costs per 1M users have been reduced 20 times
    4. Database structure and technical documentation were simplified significantly, from 100K high-dependent tables to just 20 simple tables
    5. New security level because of total forbidden on external SQL commands to the database
    6. Quick analytics aggregation on multiple parameters, without external analytics systems
    7. The last, but not the least: the main business was keeping alive during migration

  • Георгий Рылов
    Георгий Рылов Яндекс
    22 мин

    WAL-G: new features and expansion of the community

    Open-source maintainers face many challenges as projects grow. How to write more required features, fix more issues and have time to watch more pull requests? On the example of WAL-G(backup tool for PostgreSQL) I will tell you about how we solved these problems by launching a course of Open-source development at Ural Federal University, what we achieved and what will we do next.

  • Николай Аверин
    Николай Аверин Miro
    22 мин

    pg_repack and deferred constraints

    pg_repack is one of the most popular instruments for removing bloat of tables and indexes in Postgres. In most cases, it works perfectly. But if you use such a feature of Postgres as deferred constraints, using pg_repack becomes more difficult or even impossible. I will talk about how we encountered the problem and will describe some workarounds - from internal instruments of Postgres to a small patch for pg_repack.