Dlaczego aplikacja webowa potrzebuje bazy danych
Lista Python w pamięci przechowuje dane tylko do momentu ponownego uruchomienia procesu — a prędzej czy później proces zostanie ponownie uruchomiony.
Lista zadań w sekcji 22.5 jest przechowywana w następujący sposób:
zadachi = [„Naucz się podstaw Python”, „Zbudować stronę na Flask”]
To zwykły zmienna Python — lista, który żyje w pamięci RAM aż do momentu Proces aplikacji jest w toku. Taka pamięć ma ograniczenia, które są niewidoczne na Mały przykład, ale staje się poważnym problemem wraz ze wzrostem aplikacji i obciążenia na nim.
| Problem | Co się dzieje |
|---|---|
| Restart | Zatrzymałem proces Python (zaktualizowałem kod, zrestartowałem serwer) — lista zniknął razem z nim |
| Procesy wielokrotne | Wdrożenie produkcyjne (Rozdział 22.34) często uruchamia wiele procesów aplikacyjnych jednocześnie—każdy ma własną pamięć, własny lista i nie widzą zmian nawzajem |
| Zapytanie o dane | Listę można przeszukiwać i filtrować za pomocą Python, ale nie może szybko znaleźć potrzebnych wpisów wśród milionów bez pełnego wyszukiwania |
| Spójność przy jednoczesnych zmianach | Dwa żądania, które pojawiają się niemal jednocześnie, mogą nieprzewidywalnie zrujnować lista, jeśli oba zmienią je jednocześnie |
DBMS (system zarządzania bazami danych) to system programowy, tworzenie, przechowywanie, zapytania i zarządzanie bazami danych; baza Dane są zorganizowane przechowywane dane, z którymi pracuje DBMS. DBMS zapewnia mechanizmy trwałego przechowywania, żądań, transakcji, limitów i Konsekwentna praca z danymi — rozwiązuje dokładnie te problemy. Konkretne zabezpieczenia dla zależą od wybranego DBMS, zaprojektowanego schematu, wykorzystania transakcji oraz kodu sama aplikacja: DBMS nie rozwiązuje automatycznie problemu, jeśli tego nie robi Używaj poprawnie.
Sekcje 22.21-22.28 analizują, jak bazy danych są zorganizowane i w jakim języku są pracę, a Rozdział 22.29 zastępuje lista Python w rozdziale roboczym bazą danych SQLite.