Bazy danych i ORM
Gdzie żyją dane i jak się z nimi komunikuję. PostgreSQL to mój domyślny wybór — w parze z Prismą lub Drizzle, zależnie od środowiska.
PostgreSQL
Moja domyślna baza danych. Obsługuje wszystko — od prostego CRUD po full-text search, kolumny JSON i dane czasowe — w jednym silniku.
MySQL
Używam MySQL, kiedy projekt tego wymaga — istniejąca infrastruktura, domyślne ustawienia AWS RDS, migracje z legacy.
MongoDB
Właściwy wybór na dane dokumentowe, które nie pasują do tabel — treści CMS, logi zdarzeń, elastyczne schematy.
Redis
Używam Redisa do cache'owania, sesji, rate limitingu i real-time'u (pub/sub). Szybkie odczyty z pamięci — to jego rola.
SQLite
Idealny do aplikacji local-first, osadzonych baz i środowisk deweloperskich. Coraz częściej w produkcji dzięki Turso i Litestream.
Prisma
Mój domyślny ORM. Type-safe zapytania, auto-generowane migracje, świetne DX. Współpracuje z Postgresem, MySQL, SQLite.
Drizzle
Lżejszy od Prismy, bliższy SQL. Wybieram Drizzle, kiedy potrzebuję większej kontroli nad zapytaniami albo liczy się rozmiar bundle'a (edge).
TypeORM
Używam TypeORM w istniejących projektach NestJS, które już na nim polegają. Do nowych wolę Prismę lub Drizzle.