← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 56: async доступ до PostgreSQL

Технологія: Python

Номер лабораторної: 56 · Рівень: middle

Тема: Асинхронна робота з базою даних

Повний опис / сценарій лабораторної:

Meta: навчитися виконувати SQL запити асинхронно і розуміти коли це дає виграш.



Krok 1. Встановити asyncpg або інший async драйвер для PostgreSQL.



Krok 2. Створити тестову базу і користувача у PostgreSQL.



Krok 3. Створити файл src/app/asyncdb56.py з функцією яка виконує простий SELECT.



Krok 4. Додати кілька одночасних запитів і запустити їх через asyncio gather.



Krok 5. Виміряти час виконання у асинхронному і синхронному варіантах.



Krok 6. Додати простий пул зєднань і використовувати його у запитах.



Krok 7. Занотувати що асинхронний доступ не прискорює сам SQL, а покращує роботу з великою кількістю очікувань.



Krok 8. Продумати як тестувати асинхронний код який працює з базою.



Krok 9. Додати обробку відмови зєднання і логування повторних спроб.



Krok 10. Mini zvit.

Zavdannya: опиши сервіс де перехід на async доступ до бази буде найбільш корисним.