Wanneer u NIET moet sharden
Leesreplica's, partitionering en krachtigere machines lossen de meeste schaalproblemen op — weet wanneer sharding de verkeerde oplossing is.
Wanneer u NIET moet sharden is een gratis SQL Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject SQL Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus SQL Academy bevat in totaal 4 lessen.
Sharding is het laatste redmiddel
Sharding vermenigvuldigt de operationele complexiteit. De meeste applicaties hebben het nooit nodig. Probeer eerst alle eenvoudigere opties.
Stap 1: verticale opschaling
Een krachtigere server. Moderne cloudinstanties kunnen gemakkelijk het volgende aan:
- 128 kernen
- 1 TB RAM
- 50.000 IOPS NVMe
Dat zijn 100k-500k QPS op één Postgres-knooppunt. De meeste applicaties passen hier ruimschoots binnen.
Stap 2: leesreplica's
Als leesbewerkingen overheersen, voeg je replica's toe. Eén primaire database plus 3 replica's kan 10× zoveel leesbewerkingen verwerken.
Stap 3: caching
Redis of memcached vóór veelgebruikte query's. Vaak de goedkoopste verbetering.
Stap 4: partitionering
Declaratieve partitionering van PG lost het probleem van een "te grote tabel" binnen één server op. Vaak 100x eenvoudiger dan sharding.
Stap 5: services opsplitsen
Verplaats verschillende domeinen naar verschillende databases — een database voor bestellingen, een database voor gebruikers en een analysedatabase. Elke database kan onafhankelijk opschalen.
Stap 6: analyses verplaatsen
OLTP-query's → Postgres. Analytische query's → ClickHouse / BigQuery / Snowflake. Veel verhalen over "we moeten sharden" blijken eigenlijk te gaan over "analyses belasten onze OLTP te zwaar".
Daarna misschien sharden
Als je nog steeds tegen grenzen aanloopt met 50 TB aan uitsluitend OLTP-gegevens en de werklast meer schrijfbewerkingen vereist dan één server aankan, begin dan met het plannen van shards.
Operationele kosten van sharding
- Meer servers om te bewaken en van patches te voorzien
- Back-ups over shards moeten worden gecoördineerd
- Query's over shards belasten de applicatiecode
- Herverdeling van shards is lastig
- Hete shards vereisen actieve herverdeling
De strategie "laat sharden"
Bouw met patronen die rekening houden met sharding (neem altijd tenant_id op en gebruik nooit wereldwijd oplopende tellers), zodat je later KUNT sharden. Maar shard pas als het echt moet.
Shardingvriendelijk schema
Ontwerp je schema alsof je misschien ooit gaat sharden, zelfs als je op één knooppunt blijft:
- Tenant_id op elke rij
- UUID's of gedistribueerde ID's (geen automatische ophoging)
- Geen wereldwijd unieke reeksen
- Foreign keys binnen het bereik van één tenant
De afweging erkennen
Sharding levert capaciteit op ten koste van mogelijkheden. JOIN's, transacties en query's worden lastiger. Zorg dat de winst het waard is.
Samenvatting
Sharding lost een echt probleem op — maar het is een ingrijpende oplossing.
- Schaal eerst verticaal op
- Gebruik leesreplica's en caching
- Partitioneer voordat je gaat sharden
- Verplaats analyses van OLTP
- Ontwerp voor sharding en stel het daadwerkelijke sharden uit
Korte controle
Je overweegt sharding omdat OLTP-query's traag zijn. Welke stap helpt waarschijnlijk het meest voordat je gaat sharden?
Leer SQL met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 46
- Lessen
- 183
Veelgestelde vragen
Is de les “Wanneer u NIET moet sharden” gratis?
Ja — de volledige tekst van “Wanneer u NIET moet sharden” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus SQL Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus SQL Academy bevat in totaal 4 lessen.
Wat leer ik in “Wanneer u NIET moet sharden”?
Leesreplica's, partitionering en krachtigere machines lossen de meeste schaalproblemen op — weet wanneer sharding de verkeerde oplossing is. Je oefent met SQL Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met SQL Academy te beginnen?
Ervaring vooraf is niet nodig. SQL Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Wanneer u NIET moet sharden”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over SQL Academy?
Ja. Elke les over SQL Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Shardingstrategieën: bereik, hash, directory
- Query's over shards: het moeilijke probleem
- Citus en gedistribueerd Postgres
- Wanneer u NIET moet sharden