High-Performance Python Async
Edycja 2026. Dogłębne spojrzenie na przyspieszanie Python asyncio za pomocą uvloop oraz bezpośrednią komunikację z PostgreSQL przy użyciu protokołu binarnego asyncpg.
Odcinki
Potrzeba szybkości: Architektura uvloop
3m 52sOdkryj różnice architektoniczne między standardowym asyncio w Pythonie a uvloop. Analizujemy, jak uvloop wykorzystuje Cython i libuv, aby osiągnąć wydajność zbliżoną do języka Go.
Wdrażanie uvloop
4m 19sDowiedz się, jak zintegrować uvloop ze swoją aplikacją w Pythonie. Ten odcinek omawia podejście oparte na EventLoopPolicy, pozwalające na płynną wymianę domyślnej pętli zdarzeń.
Wprowadzenie do asyncpg: Protokół binarny
3m 52sPoznaj podstawy projektowe asyncpg. Omawiamy, dlaczego pominięcie standardowego DB-API na rzecz protokołu binarnego PostgreSQL przynosi ogromny wzrost wydajności.
Łączenie i podstawowe zapytania
3m 54sRozpocznij pracę z asyncpg, łącząc się z bazą danych i uruchamiając podstawowe zapytania. Zrozum natywną składnię argumentów Postgres.
Natywna konwersja typów
3m 38sOdkryj, jak asyncpg automatycznie mapuje typy danych PostgreSQL na natywne obiekty Pythona, eliminując potrzebę złożonego parsowania przez ORM.
Niestandardowe kodeki typów
4m 09sNaucz się definiować niestandardowe konwersje danych w asyncpg. Ten odcinek wyjaśnia, jak używać set_type_codec do automatycznego dekodowania JSONB na słowniki Pythona.
Zaawansowane kodeki z PostGIS
3m 53sZanurz się w niestandardowe kodeki typów, mapując typy geometryczne PostGIS z PostgreSQL na obiekty Shapely w Pythonie przy użyciu formatu binarnego.
Zarządzanie transakcjami
3m 27sOpanuj transakcje bazodanowe w asyncpg. Omawiamy zachowanie auto-commit oraz bezpieczne wykonywanie wielu zapytań przy użyciu asynchronicznych menedżerów kontekstu.
Pula połączeń
3m 31sSkaluj swoją aplikację dzięki wbudowanej puli połączeń w asyncpg. Dowiedz się, jak efektywnie zarządzać połączeniami z bazą danych w usługach sieciowych o dużym natężeniu ruchu.
Buforowanie przygotowanych zapytań
4m 21sZrozum, jak asyncpg optymalizuje parsowanie zapytań dzięki automatycznym przygotowanym zapytaniom i dlaczego zewnętrzne pule, takie jak PgBouncer, mogą powodować konflikty.
Tablice Postgres i klauzule IN
4m 25sRozwiąż najczęstszy błąd składniowy podczas migracji do asyncpg. Dowiedz się, jak poprawnie filtrować zapytania względem listy wartości za pomocą ANY().
Obiekty Record a Named Tuples
4m 18sPoznaj unikalny projekt obiektów Record w asyncpg. Zrozum, dlaczego notacja kropkowa jest domyślnie pomijana i jak ją włączyć za pomocą niestandardowych klas.
Strumieniowanie wyników za pomocą kursorów
4m 30sZapobiegaj wyczerpaniu pamięci podczas zapytań do ogromnych zbiorów danych. Dowiedz się, jak używać kursorów asyncpg do strumieniowania wyników fragment po fragmencie.
Błyskawiczne ładowanie danych za pomocą COPY
3m 42sPrzyspiesz swoje potoki ładowania danych. Analizujemy protokół COPY w PostgreSQL, aby masowo ładować dane nieporównywalnie szybciej niż za pomocą instrukcji INSERT.
Asynchroniczne Listen i Notify
3m 40sOdblokuj architektury sterowane zdarzeniami w czasie rzeczywistym bezpośrednio w PostgreSQL. Dowiedz się, jak używać add_listener w asyncpg do natychmiastowego przesyłania wiadomości pub/sub.
Telemetria i logowanie zapytań
4m 42sZyskaj głęboką obserwowalność wydajności swojej bazy danych. Odkryj, jak używać listenerów logów w asyncpg do śledzenia wolnych zapytań i monitorowania telemetrii wykonania.
Zabezpieczanie połączeń za pomocą SSL
4m 11sUpewnij się, że Twoje połączenia z bazą danych są bezpieczne. Omawiamy konfigurację kontekstu SSL i wymuszanie bezpośredniego TLS podczas łączenia się z chmurowymi bazami danych.