Skip to content
wroc.py with Mirumee

Details

Zapraszamy na kolejne spotkanie wroc.py!
Exact location: https://youtu.be/5qoFU1i6ELA
(Biuro Mirumee ul. Oławska 11, wejście od ulicy Łaciarskiej 61, 3cie piętro Wrocław)

Agenda:

Adding zero-downtime migrations strategy in SaaS applications

Iga Karbowiak, Python Developer at Saleor Commerce

Abstract: Zero-downtime migration is a technique for running database migrations without stopping the web app. As clients’ databases grow larger, applying necessary updates to the database can become time-consuming or potentially break the database schema. This talk will describe problematic operation types and provide a strategy for writing and running migrations to release new software versions without downtime.

Description:

When running a web-based SaaS application, it is important to provide software updates without causing downtime for users. However, these updates often require changing the database schema with migrations. In this talk, we will discuss a solution that allows the software to remain life and able to handle incoming traffic while performing migrations.
To ensure zero downtime during this process, the old code must be compatible with the new database schema. Although this may seem easy, it often isn’t. In this talk, we will cover problematic operations such as:

  • renaming tables or columns,
  • deleting tables or columns,
  • adding new columns,
  • updating all records in a table with a large amount of data.

We will discuss potential problems that may arise due to certain changes and provide corresponding solutions. Additionally, I will describe the challenges we encountered when introducing this approach to Saleor, an open-source e-commerce platform powered by Django.
While the topic and examples are from the Django project, the issue is general and can be faced by any database-related project.

The structure of the talk:

  • Background of the problem
  • Examples of operations causing the downtime
  • Introducing the zero-downtime strategy

Writing migrations that follow a zero downtime approach

Proceeding the software update without any downtime

Krótkie studium optymalizacji pythonowych struktur danych w praktycznych przykładach

Tomasz Melcer

Abstrakt: Python nie słynie raczej z bycia językiem szybkim lub efektywnie operującym na danych. Jeśli bardzo potrzeba, są biblioteki napisane w językach niskiego poziomu, które w tym pomagają. Wiążą się jednak z nimi koszty: dodatkowe zależności utrudniające wdrożenie, nowe API do nauczenia się. Ile się da wycisnąć z czystego Pythona? Przedstawię rzeczywisty przykład na to, że całkiem sporo. Przy okazji pokażę kilka detali implementacji CPythona, o których warto wiedzieć, optymalizując programy.

Bio: Praktyk-programista i uczeniomaszynowiec z nastoletnim stażem w biznesie i ciut dłuższym hobbistycznie. Umiem napisać kod w C ze wskaźnikami, czasami nawet uda mi się przy tym nie naruszyć ochrony pamięci. Pythona nauczyłem się, bo przestałem rozumieć swój kod w Perlu. Java miłością nie była, ale przywykłem i doceniam jej zalety. Uważam też, że Basha da się lubić. Lubię też grać w planszówki i uczyć się języków naturalnych.

Photo of wroc.py group
wroc.py
See more events
Łaciarska 61
Łaciarska 61 · Wrocław