Hoe ga je verder?
Kies je volgende databaseroute
Een nieuw databasehulpmiddel is nuttig wanneer het een probleem oplost dat je SQLite-project nog niet heeft. Begin met dat probleem. Kies daarna één klein project met een zichtbaar eindpunt.
| Nieuw probleem | Route | Eén afgebakend project |
|---|---|---|
| Meerdere processen of computers hebben één gedeelde database nodig | PostgreSQL en een client/server-driver | Verplaats de drie tabellen en de beschikbaarheidsquery naar een lokale oefenserver. |
| Herhaald omzetten tussen rijen en Python-objecten overheerst de code | SQLAlchemy of een andere ORM | Koppel de drie tabellen aan objecten en reproduceer één query, terwijl je de gegenereerde SQL blijft inspecteren. |
| Een ander programma heeft uitleenbewerkingen via HTTP nodig | Een web-API | Bied één endpoint voor alleen-lezen aan voor beschikbare voorwerpen, rond de bestaande queryfunctie. |
| Verkennen en samenvatten zijn het hoofddoel | SQL en hulpmiddelen voor data-analyse | Exporteer de activiteitsrijen en beantwoord daarover één vraag met groepering. |
| Eén gemeten query is traag bij veel meer gegevens | Indexen en queryplannen | Vergelijk het plan van die query vóór en na één goed onderbouwde index. |
| Gegevens beschermen is ook buiten de applicatiecode van belang | Databasebeheer | Maak een back-up van een tijdelijke oefendatabase, herstel die elders en controleer de herstelde rijen. |
Kies één route, niet alle zes. Schrijf het probleem op, de eerste wijziging en het bewijs dat aangeeft dat het project af is. “PostgreSQL leren” heeft geen eindpunt. “De drie tabellen en de beschikbaarheidsquery werken via een lokale PostgreSQL-server” wel.
Deze routes laten ook zien wat buiten het project ligt dat je net hebt gebouwd. Je hebt nog niet geoefend met het installeren of beheren van PostgreSQL of MySQL, toegangsgegevens voor gehoste omgevingen en TLS, authenticatie, deployment, verbindingspools, gelijktijdige schrijvers, back-ups, prestatieoptimalisatie, indexen, EXPLAIN QUERY PLAN, ORM-gedrag, asynchrone drivers of een webframework. Een onderwerp noemen is niet hetzelfde als het leren.
Dat is goed nieuws voor je volgende project: je hoeft niet te doen alsof de hele databasewereld één stap is. Kies de nieuwe behoefte die je echt hebt, behoud de gewoonten die al werken en voeg telkens één nieuwe interface toe.