Storage / dane aplikacji
Memory, SQLite czy PostgreSQL?
Wspólny kontrakt nie oznacza identycznej trwałości i kosztów uruchomienia. Wybór zależy od danych, miejsca wykonania oraz wymagań operacyjnych.
| Właściwość | Memory | SQLite | PostgreSQL |
|---|---|---|---|
| Miejsce danych | Pamięć bindingu | Plik lokalnej bazy | Osobny serwer bazy |
| Przygotowanie | Pakiet dostawcy | Pakiet, biblioteka natywna, ścieżka pliku | Pakiet, serwer, połączenie i uprawnienia |
| Nowy host/binding | Pusto | Odczyt z tego samego pliku | Odczyt zależy od właściwej bazy i konfiguracji |
| Neutralne put/get/list/delete | Tak | Tak | Tak |
| Transakcje, Query Plan i Mutation Plan | Tak, w zakresie implementacji | Tak, w zakresie implementacji | Tak, w zakresie implementacji |
| Native SQL i migracje | Nie deklaruje | Deklaruje | Deklaruje |
| Próba pierwszego zapisu w tym przeglądzie | Wykonana | Wykonana, także nowy proces | Testy na PostgreSQL 17.9: 20/20 PASS |
Memory — najkrótsza droga
Dostawca ma ograniczenia liczby bucketów i rekordów oraz rozmiaru payloadów i łącznych danych. Nie używa zewnętrznego serwera. Nadaje się do pierwszego poznania kontraktu i kontrolowanych prób; zamknięcie bindingu nie tworzy trwałego archiwum.
SQLite — dane w pliku
Konfiguracja wymaga path. Dostawca używa Microsoft.Data.Sqlite i natywnej biblioteki SQLite, dlatego zgodność pakietu z systemem ma znaczenie. Obsługuje m.in. timeouty, limity skanowania i migracje.
Wykonana próba potwierdziła zachowanie jednego zapisu po poprawnym zamknięciu i ponownym uruchomieniu hosta. Nie dowodzi odporności na każdą awarię nośnika, właściwej konfiguracji backupu ani bezpieczeństwa współdzielenia pliku w dowolnym wdrożeniu.
PostgreSQL — osobna baza
Dostawca korzysta z Npgsql. Wymaga connectionString, który jest sekretem konfiguracji bindingu. Deklarowany zakres serwera w manifeście to PostgreSQL 14–18; nie oznacza to nowego odbioru każdej wersji w tym przeglądzie.
25 października 2026 testy dostępnej kompilacji Release uruchomiono z rzeczywistym PostgreSQL 17.9 na testowym Linuxie. Wynik: 20 PASS, 0 FAIL, 0 SKIP, w tym cztery wcześniej pominięte scenariusze. Obejmują operacje na bazie, wykonywanie Query Plan, typy projekcji i zapis udowodnionej delty mutacji. Użyto osobnej bazy i roli przez tunel SSH; po próbie usunięto je i zamknięto tunel. Nie jest to nowa kompilacja źródeł ani odbiór wszystkich wersji PostgreSQL.
Bezpieczny wybór na początek
Zacznij od Memory, żeby poznać zapis i odczyt. Potem powtórz ten sam scenariusz z SQLite. PostgreSQL dodaj, gdy masz przygotowaną bazę, uprawnienia, sposób przechowywania sekretu oraz własny test połączenia i operacji.