Elke aangepaste databasetoepassing die een aanzienlijke groei doormaakt, zal uiteindelijk moeten worden geschaald om de toename van het verkeer aan te kunnen. Het is belangrijk dat dit gebeurt op een manier die de integriteit en veiligheid van de gegevens beschermt. Om deze reden raden veel databasebeheerbedrijven sharding aan.
Sharded-databases hebben de afgelopen jaren veel aandacht gekregen, maar dit betekent niet dat ze voor iedereen geschikt zijn. In dit artikel gaan we dieper in op sharded-databases, zodat u een duidelijk idee krijgt van wat ze zijn en of ze geschikt zijn voor uw organisatie.
Wat is sharden?
Sharding is een database-architectuurpatroon dat lijkt op horizontale partitionering, wat de praktijk is om de rijen van een tabel in meerdere verschillende tabellen te scheiden. Deze tabellen staan bekend als 'partities'. Elke partitie heeft hetzelfde schema en dezelfde kolommen, maar totaal verschillende rijen. De gegevens in elke rij zijn uniek en onafhankelijk van de gegevens in andere partities.
Het doel van sharding is om gegevens op te splitsen in kleinere brokken. Zo kan uw applicatie minder queries maken. Wanneer uw database bijvoorbeeld een verzoek ontvangt, weet de toepassing waar het verzoek naartoe moet worden gestuurd. Het heeft veel minder gegevens om door te bladeren omdat het niet de hele database hoeft te doorlopen.
Sharding-architecturen
Er zijn een paar verschillende manieren waarop u uw database kunt sharden. Het is belangrijk dat alles correct is ingesteld, omdat u wilt dat uw query's naar de juiste shard gaan. Anders kunt u langzame zoekopdrachten en verloren gegevens krijgen.
Op sleutels gebaseerde sharding
Op sleutels gebaseerde sharding gebruikt een waarde uit nieuw geschreven gegevens en plugt deze in een 'hash-functie' om te bepalen naar welke shard de gegevens moeten gaan. Deze methode is gebruikelijk en kan gegevens beschermen tegen ongelijke distributie.
Op bereik gebaseerde sharding
Op bereik gebaseerde sharding omvat het sharden van gegevens op basis van bereiken van een bepaalde waarde. Het is eenvoudig te implementeren, maar het beschermt de gegevens niet tegen ongelijke verdeling.
Op directory's gebaseerde sharding
Op directory's gebaseerde sharding vereist dat u een 'opzoektabel' maakt en onderhoudt om bij te houden welke shard welke gegevens bevat. Het voordeel van deze methode is dat deze flexibel is.
Database-sharding kan een geweldige oplossing zijn als u uw database horizontaal wilt schalen. Neem vandaag nog contact op met Arkware voor meer informatie over sharding, als dit geschikt voor u is en de beste architectuur om te gebruiken.