This is the Trace Id: 741d288aabf836b24b15e3e313acbe80
Overslaan naar hoofdinhoud Verkennen Alle producten weergeven (meer dan 200) Microsoft Foundry Azure Copilot GitHub Copilot Azure Kubernetes Service (AKS) Azure Cosmos DB Azure Database for PostgreSQL Azure Arc Microsoft Fabric Linux Virtual Machines in Azure Foundry Models Foundry Agent Service Foundry IQ Foundry Tools Foundry Control Plane Observability in Foundry Control Plane Azure OpenAI in Foundry Models Azure Spraak in Foundry Tools Azure Machine Learning Bekijk alle databases Azure Cosmos DB Azure DocumentDB Azure SQL Azure Database for PostgreSQL Door Azure Beheerde Redis Microsoft Fabric Azure Databricks Linux Virtual Machines in Azure Windows Server op Azure Azure Functions Azure Virtual Machine Scale Sets Azure API Management Azure Container Apps Azure Kubernetes Service (AKS) Azure Kubernetes Fleet Manager Azure Container Registry Azure Red Hat OpenShift Azure Container Instances Azure Containeropslag Azure Arc Azure lokaal Microsoft Defender voor Cloud Azure Monitor Microsoft Sentinel Azure Migrate Alle oplossingen weergeven (meer dan 40) Cloudoplossingen voor kleine en middelgrote bedrijven Cloudmigratie en -moderniseringscentrum Gegevensanalyse voor AI Azure Databases AI-apps en agents Microsoft Marketplace Microsoft Sovereign Cloud AI-apps en agents Verantwoorde AI met Azure AI-infrastructuur Gegevensanalyse voor AI Machine learning-bewerkingen (MLOps) Toepassingsontwikkeling met weinig code op Azure Integratieservices Serverloze computing DevOps Migratie en het moderniseringscentrum .NET-apps-migratie Databases op Azure Linux op Azure Oracle op Azure SAP op de Microsoft Cloud Adaptieve cloud High Performance Computing (HPC) Infrastructuur als een dienst (IaaS) Tolerantie Azure Essentials Frontier Accelerate voor Azure FinOps in Azure Microsoft Marketplace Azure-prijsoverzicht Een Azure-account maken Gratis Azure-services Flexibele koopopties Prijscalculator FinOps in Azure ROI van AI maximaliseren Azure-besparingsplannen Azure-reserveringen Azure Hybrid Benefit Virtual Machines Azure SQL Microsoft Foundry Microsoft Fabric Azure Kubernetes Service (AKS) Microsoft Defender voor Cloud Meer informatie Softwareontwikkelingsbedrijven Microsoft Marketplace Een partner zoeken Bronnen voor Azure-partners Aan de slag met Azure Verhalen van klanten Rapporten van analisten, technische documenten en e-books Video's Meer informatie over cloud-computing Documentatie Verken Azure Portal Resources voor ontwikkelaars Quickstart-sjablonen Resources voor start-ups Ontwikkelaarscommunity Studenten Azure voor Partners Blog Evenementen en webinars Meer informatie Ondersteuning Contact opnemen met Verkoop Aan de slag met Azure Aanmelden

Wat is database-sharding?

Database-sharding is een methode van horizontale schaalvergroting die de prestaties en beschikbaarheid van oplossingen verbetert in wereldwijde, gedistribueerde systemen.

Definitie van database-sharding

Database-sharding verwijst naar het proces waarbij een grote database wordt verdeeld in kleinere, beter beheersbare segmenten, bekend als shards. Het ondersteunt horizontale schaalvergroting zodat apps en systemen groeiende hoeveelheden data en gebruikers aankunnen zonder dat dit ten koste gaat van prestaties of beschikbaarheid. Organisaties gebruiken sharding-strategieën om opslagbeperkingen en andere uitdagingen bij het schalen van databases in moderne cloudomgevingen te overwinnen.

  • Database-sharding wordt gedefinieerd als een methode van horizontale schaalvergroting waarbij een database wordt opgesplitst in onafhankelijke shards die draaien op een shared-nothing-architectuur (SNA).
  • Data wordt verdeeld over shards met behulp van shard-sleutels, waarmee apps verzoeken naar de juiste shards kunnen sturen.
  • Gegevens worden doorgaans verdeeld over shards met behulp van numerieke waarden, hash-functies, opzoekmappen of geografische locaties.
  • Voordelen van database-sharding zijn onder andere verbeterde queryprestaties, ondersteuning voor horizontale schaalbaarheid en grotere fouttolerantie.
  • Sharding wordt gebruikt in sectoren zoals bankwezen, e-commerce en sociale media platforms, die vaak snelle groei of pieken in data of gebruikers moeten verwerken.

Hoe werkt database-sharding?

Database-sharding is een techniek om grote databases horizontaal te schalen door ze op te splitsen in kleinere, onafhankelijke delen die shards worden genoemd. Elke shard functioneert als een aparte database met een eigen deel van de totale data, maar met hetzelfde schema. Dit maakt het mogelijk dat de shards samen één logische database vormen, ook al draaien ze op aparte servers.

Database-sharding volgt een shared-nothing-architectuur (SNA), een gedistribueerd computermodel waarbij elke shard zelfstandig werkt zonder verwerkte, geheugen- of opslagmiddelen te delen met andere shards.

Een shard-sleutel, een specifiek veld of combinatie van velden in de data, bepaalt welke data op elke shard wordt opgeslagen. Wanneer een app data moet lezen of schrijven, gebruikt het de shard-sleutel om het verzoek naar de juiste shard te sturen.

Sharding-strategieën

Organisaties beheren data die over meerdere shards verdeeld is op verschillende manieren. Hier zijn enkele veelvoorkomende strategieën:

  • Bereik of dynamische sharding: gegevens worden gedeeld door waardenbereiken in de shard-sleutel. Bijvoorbeeld, één shard in een e-commerce database kan klant-ID nummers 1–1.000.000 toegewezen krijgen, en een andere shard-klant-ID nummers 1.000.001–2.000.000. Deze methode is efficiënt voor bereikquery's, maar kan leiden tot ongelijke verdeling als bepaalde bereiken vaker worden geopend.
  • Sharding op basis van hash:gegevens worden gelijkmatig verdeeld over shards door een wiskundige formule, een hash-functie, toe te passen op elke shard-sleutel. Deze aanpak helpt overbelasting te voorkomen, maar kan gerelateerde gegevens over meerdere shards verspreiden, waardoor bereikquery's minder efficiënt zijn.
  • Sharding op basis van mappen of opzoeken: Een shard-toewijzing geeft aan welke shard-sleutels overeenkomen met welke gegevens. Deze strategie biedt flexibiliteit om indien nodig snel meer shard-sleutels toe te voegen, maar voegt complexiteit en potentiële overhead toe.
  • Geo-sharding: gegevens worden gepartitioneerd op basis van geografische locatie, waardoor de latentie voor gebruikers in verschillende regio's wordt verminderd en gegevenslocatievereisten worden ondersteund. Veel platforms combineren geo-sharding met database-replicatie voor meer veerkracht.

Meer informatie over databases.

Wat zijn de belangrijkste voordelen van database-sharding?

Voor database-sharding is een zorgvuldige selectie van shard-sleutels, een sharding-strategie en optimalisatie van queryroutering vereist. Hier zijn enkele belangrijke voordelen van database-sharding:

  • Verbetert queryprestaties: Door data over meerdere shards te verdelen, kunnen databases sneller de benodigde dataset ophalen om elke query uit te voeren. Dit zorgt voor snellere reactietijden.
  • Ondersteunt horizontale schaalbaarheid: In plaats van de capaciteit van één server te vergroten, kunnen organisaties groeiende data- en werklastvolumes opvangen door uit te breiden met meer shards (en servers). Meer informatie over omhoog schalen versusuitschalen.
  • Versterkt fouttolerantie: Omdat sharding een SNA-benadering gebruikt, is elke shard geïsoleerd van de anderen. Een probleem dat één shard treft, heeft geen invloed op de andere, wat de betrouwbaarheid van het systeem verhoogt. Datareplicatie over shards beschermt de beschikbaarheid verder.
  • Bevordert kostenefficiëntie:Data-shards hebben minder hardware- en softwarevereisten dan grote databases, die vaak dure, high-end-servers nodig hebben.

Helpt AI-werklasten te optimaliseren: Complexe, monolithische databases kunnen de toegang van AI tot data, voorspellingen en het leerproces vertragen. Sharding ondersteunt het creëren van een gedistribueerde, data-rijke omgeving waarin AI effectiever kan functioneren.

Industriespecifieke voorbeelden van database-sharding

Database-sharding is vooral waardevol voor cloudoplossingen die snelle groei of onvoorspelbare pieken in data- of gebruikersverkeer ervaren. De volgende gebruiksvoorbeelden laten zien hoe sharding in verschillende sectoren kan worden toegepast:

  • E-commerce: Retailplatforms verdelen klant- en orderdata over shards, wat zorgt voor snelle productzoekopdrachten en soepele afrekenervaringen tijdens drukke periodes.
  • Financiële dienstverlening: Bank- en andere financiële transacties worden gesplitst op datum of rekeningnummer, wat efficiënte queries en veilige, schaalbare opslag mogelijk maakt.
  • Online gaming: Speler- of sessiegegevens worden verdeeld op regio en gebruikers-ID, wat de belasting over shards balanceert en latentie (de tijd die data nodig heeft om zijn bestemming te bereiken) voor een wereldwijd publiek minimaliseert.
  • Sociale media: Sociale mediaplatforms verdelen gebruikersprofiel- en activiteitendata op gebruikers-ID of tijdsbereik. Deze aanpak maakt het platform mogelijk om snel recente berichten op te vragen en miljoenen gelijktijdige gebruikers te ondersteunen.
  • Software-as-a-service (SaaS): SaaS-apps met meerdere tenants verdelen data vaak op tenant-ID, wat klantdata isoleert en beheer vereenvoudigt naarmate het aantal gebruikers groeit. Ze kunnen het ook verdelen op tenant workload of geografische locatie.

Meer informatie over hoe big data analytics werkt.

De toekomst van database-sharding

Door data over meerdere, onafhankelijke servers te verdelen, vermindert sharding de belasting op één server, minimaliseert knelpunten en verbetert de beschikbaarheid en responsiviteit van het systeem. De voordelen van database-sharding in moderne cloudomgevingen zullen alleen maar toenemen naarmate AI en andere gerelateerde technologieën zich verder ontwikkelen.

Trends om te bekijken zijn onder andere:

Door AI ondersteunde sharding-werkstromen

Intelligente functies, zoals geautomatiseerde selectie van shard-selectie, workload-herverdeling en queryrouting, worden steeds gebruikelijker.

Voordeel: Vereenvoudigde en geoptimaliseerde operaties en ongekende schaalbaarheid

Sharding zonder downtime herverdelen

Moderne dataplatforms zullen steeds vaker shard-sleutelwijzigingen ondersteunen zonder dat er downtime of complexe datamigraties nodig zijn.

Voordeel: Meer flexibiliteit om sharding-strategieën aan te passen naarmate workloads veranderen

Sharding gecombineerd met serverloze databases

Serverloze databases voorzien en beheren servers onafhankelijk voor elke shard. Ze schalen ook de capaciteit op aanvraag omhoog of omlaag op basis van gebeurtenisgestuurde query's.

Voordeel: vermindering van operationele overhead

Adaptieve, beleidsgestuurde geosharding

Geautomatiseerde sharding-workflows routeren data automatisch over geografische shards op basis van geo-specifieke beleidsregels die in code zijn ingebed. Voordeel: Snellere naleving van veranderende regelgeving en privacy-eisen

Krijg meer informatie over cloud computing.

Veelgestelde vragen

  • Database-sharding is het proces van horizontaal schalen van een grote database over meerdere servers, waarbij elke server een shard met een uniek deel van de totale data host. Sharding wordt gebruikt om groeiende datavolumes en gebruikersverkeer efficiënt te verwerken door queries en opslag over meerdere machines te verdelen in plaats van te vertrouwen op één grote server.
  • Zowel sharding als partitionering optimaliseren databasebewerkingen door een grote database op te splitsen in kleinere subsets. Tijdens het partitioneren worden gegevens echter gesplitst op dezelfde server, maar met sharding worden de gegevens over meerdere servers verdeeld. Replicatie betekent dat er meerdere kopieën van dezelfde dataset op verschillende servers worden bewaard voor redundantie. 
  • Ja, database-sharding verbetert de prestaties en schaalbaarheid van applicaties. Door data en workloads over shards te verdelen, vermindert sharding de responstijd van queries en verhoogt het de fouttolerantie. Organisaties kunnen apps ook horizontaal schalen. De keuze van shard-sleutels en shard-strategieën is essentieel voor het optimaliseren van datasharding.
  • Ja, Azure en andere cloudplatforms bieden ingebouwde ondersteuning voor database-sharding. Azure SQL Database biedt bijvoorbeeld verschillende hulpprogramma's om database-scaling te optimaliseren, waaronder een clientbibliotheek die het maken en beheren van shards vereenvoudigt.