title

text

Тарас Чикин
Тарас Чикин Цифромед
17:30 05 February
45 мин

To Eat "the Elephant" in chunks: how we made friends with MSSQL, Postgres, wrote our replication, and transferred to Postgres one of the largest MISes in Russia.

It is our experience of the medical information system "RT MIS" transfer from MSSQL to PostgreSQL . When the necessity of transfer to PostgreSQL in our "RT MIS", one of the largest medical information systems, became imminent, we felt really terrified having assessed its amount: there was a huge number of stored procedures, functions, SQL-queries in its application code and services. It all requested transcribing, was exacerbated by demands on the system accessibility. So the variant "we awoke in the morning and PostgreSQL was working everywhere" was definitely impossible. That is why we chose another way: began eating "the elephant (PostgreSQL)" in chunks.

In my report, I am going to share our practical experience of the transfer, the instruments we used, the reason for another replication, the problems we met and their solutions. And finally, what turned out to be better: PostgreSQL or MSSQL.

Слайды

Видео

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

  • Олег Правдин
    Олег Правдин 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

  • Bruce Momjian
    Bruce Momjian EnterpriseDB
    45 мин

    Non-Relational Postgres

    Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. Such storage allows for greater efficiency and access simplicity, and can also avoid the negatives of entity-attribute-value (eav) storage. The talk will cover many examples of multiple-value-per-field storage, including arrays, range types, geometry, full text search, xml, json, and records.

  • Семен Трошкин
    Семен Трошкин Мазар АО
    22 мин

    High availability PostgreSQL cluster under the control of the Patroni for 1С. Single entry point is organized by Consul DNS on Windows

    200 bases, several clusters, several terabytes of data Share our experience setting up and using patroni cluster DBMS Cluster on Linux, 1C server for windows. We use: PostgreSQL assembly for 1C, Patroni, Consul, Consul dns, Commvault, Ansible Vagrant file and Ansible playbook with roles attached.

  • Александр Чирков
    Александр Чирков Барс Груп
    Александр Кварацхелия
    Александр Кварацхелия БАРС Груп
    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.