sql >> Database >  >> RDS >> Access

Wat is database-sharding?

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.


  1. Hoe kan ik een String[]-parameter instellen op een native query?

  2. TOP 5 MySQL-verwijdersyntaxis met tips voor T-SQL-ontwikkelaars

  3. Oracle DB Server + APEX + ORDS + JasperReports from scratch (Deel 1)

  4. `pg_tblspc` ontbreekt na installatie van de nieuwste versie van OS X (Yosemite of El Capitan)