Trace Id is missing
Naar hoofdinhoud gaan

Opschalen versus uitschalen

Een introductie tot schaalbaarheid van databases in cloud computing.

Data, overal data, daar hebben we het over wanneer we het hebben over schaalbaarheid

Schaalbaarheid in  cloud computing is de mogelijkheid om snel en eenvoudig de omvang of het vermogen van een IT-oplossing of -hulpmiddel te vergroten of te verkleinen. Hoewel de term schaalbaarheid kan verwijzen naar het vermogen van elk systeem om een ​​groeiende hoeveelheid werk aan te kunnen, hebben we het in dit geval over een grote hoeveelheid databases en data.

Schaalbaarheid van databases is waar moderne app-ontwikkelaars zich vooral mee bezighouden. Stel dat een nieuwe app een grote vlucht neemt en de vraag naar deze app neemt toe van een handjevol gebruikers tot miljoenen gebruikers over de hele wereld. Een van de belangrijkste mogelijkheden om de app-ontwikkelaars te helpen gelijke tred te houden met de vraag en downtime te minimaliseren, is de mogelijkheid om efficiënt te schalen.

Dit gesprek over uitschalen versus opschalen richt zich op de manieren waarop schaalbaarheid ons helpt ons aan te passen aan en om te gaan met het enorme volume en de enorme hoeveelheid gegevens, veranderende gegevensvolumes en veranderende werkdrukpatronen - allemaal gegenereerd vanuit de cloud, mobiele en sociale media en big data.

Een vrouw die een presentatie geeft terwijl anderen op de stoel zitten en luisteren

Uitschalen versus opschalen

Op het meest eenvoudige niveau kan schaalbaarheid van databases worden onderverdeeld in twee typen:

Verticaal schalen, of op- of terugschalen, waarbij je rekenkracht of databases naar behoefte vergroot of verlaagt. Dit kun je doen door prestatieniveaus te wijzigen of door pools voor elastische databases te gebruiken die zich automatisch aanpassen aan de eisen van de workload.

Horizontaal schalen of uit- of inschalen, waarbij je meer databases toevoegt of grote database opsplitst in kleinere knooppunten, met behulp van een aanpak waarin je gegevenspartities maakt. Dit wordt sharding genoemd. Hierdoor kunnen gegevens sneller en gemakkelijker worden beheerd op meerdere servers.

Verticaal opschalen

Verticaal schalen wordt gebruikt wanneer je snel moet reageren om een prestatieprobleem op te lossen dat je niet kunt oplossen met behulp van klassieke databaseoptimalisatietechnieken, zoals querywijzigingen of indexering. Opschalen is handig voor het verwerken van pieken in workloads waarbij het huidige prestatieniveau niet aan alle eisen kan voldoen. Door op te schalen kun je meer resources toevoegen, zodat je eenvoudig piekworkloads kunt verwerken. Wanneer de resources vervolgens niet meer nodig zijn, kun je met terugschalen teruggaan naar de oorspronkelijke staat en besparen op cloudkosten.

Wanneer moet je opschalen:

Horizontaal uitschalen

App-ontwikkelaars gaan overwegen om uit te schalen of horizontaal te schalen wanneer ze niet voldoende resources voor hun workloads kunnen krijgen, zelfs niet wanneer ze op de hoogste prestatieniveaus actief zijn. Bij horizontaal schalen worden gegevens gesplitst in verschillende databases, of shards, op verschillende servers, waarbij elke shard onafhankelijk omhoog of omlaag kan worden geschaald.

Hoe verbetert het partitioneren van gegevens de schaalbaarheid? Wanneer je één database opschaalt door resources zoals virtuele machines (VM's) toe te voegen, bereikt deze uiteindelijk een fysieke hardwarelimiet. Omdat gegevenspartities elk op een afzonderlijke server worden gehost, kun je een systeem bijna onbeperkt uitschalen als je gegevens over meerdere shards verdeelt.

Sommige typen databasetechnologieën, met name niet-relationele of  NoSQL-databases, zijn ontwikkeld met unieke mogelijkheden om gegevens horizontaal uit te schalen met  Databasesharding, waardoor ze grote, niet-gerelateerde, onbepaalde of snel veranderende gegevens kunnen verwerken.

En sommige relationele (SQL) databaseservices die oorspronkelijk services boden om op- of terug te schalen, zijn begonnen met interessante opties aan te bieden die opwegen tegen de schaalbaarheidsvoordelen van niet-relationele databases. Met hyperscaleservices als  Microsoft Azure SQL Database Hyperscale  en  Azure Database for PostgreSQL Hyperscale kunnen gebruikers de opslagruimte snel opschalen tot 100 TB, een flexibele cloudarchitectuur bieden waarmee de opslagruimte naar behoefte kan worden uitgebreid, en kunnen ze vrijwel direct back-ups maken en snel de database herstellen in slechts enkele minuten.

Wanneer moet je uitschalen:

Automatisch schalen

Automatisch schalen is het proces van automatisch en dynamisch resources aanpassen zodat deze voldoen aan de prestatievereisten van een systeem. Naarmate de hoeveelheid werk groeit, hebben apps mogelijk extra resources nodig om de benodigde prestatieniveaus te behouden of aan de groeiende vraag te voldoen. Als de vraag afneemt en de extra resources niet meer nodig zijn, kun je besparen op clouduitgaven door een automatische service te gebruiken om de toewijzing van ongebruikte resources ongedaan te maken.

Met automatisch schalen wordt gebruik gemaakt van de elasticiteit van cloudomgevingen. Hierdoor wordt de beheeroverhead eenvoudiger, doordat systeemoperators niet meer voortdurend beslissingen hoeven te nemen over het toevoegen of verwijderen van resources of het controleren van de prestaties van het systeem.

Hoewel er twee belangrijke manieren zijn waarop apps kunnen worden geschaald, verticaal of horizontaal, is het minder gebruikelijk om verticaal schalen te automatiseren, omdat het bij opschalen vaak vereist is dat het systeem tijdelijk niet beschikbaar is terwijl het opnieuw wordt geïmplementeerd.

Automatisch schalen komt vaker voor wanneer je horizontaal schaalt, omdat uit- of inschalen betekent dat je alleen exemplaren van een resource toevoegt of verwijdert. Je app wordt zonder onderbreking uitgevoerd wanneer er nieuwe resources worden ingericht. Als de vraag daalt, kunnen resources probleemloos worden afgesloten zonder uitvaltijd en kan de toewijzing ongedaan worden gemaakt.

Veel providers van cloudsystemen, waaronder Microsoft Azure, bieden ondersteuning voor automatisch horizontaal schalen.

  • Een database is een verzameling van gerelateerde informatie die is opgeslagen en georganiseerd, zodat deze eenvoudiger is te beheren en te gebruiken. Omdat nieuwe gegevens en gegevenstypen in een razendsnel tempo worden gegenereerd, wordt het een uitdaging om die gegevens georganiseerd, toegankelijk en veilig te houden. Vaak worden databasebeheersystemen (DBMS), die een laag beheerhulpprogramma's bevatten, gebruikt om enorme hoeveelheden gegevens te verwerken.

    Er ontstaan voortdurend nieuwe databasetypen en -technologieën om alleen al de hoeveelheid en de enorme variatie aan gegevens aan te kunnen die worden gegenereerd op basis van de cloud, mobiele media, sociale media en big data.

    Meer informatie over databases

  • NoSQL-databases, vaak aangeduid als niet-relationele of "'niet-alleen'" SQL, zijn een diverse set databasetechnologieën die het opslaan en ophalen van gegevens anders verwerken dan een traditionele, relationele (SQL-)database.

    Voor NoSQL-databases is geen vooraf gedefinieerd schema vereist. Deze kunnen gebruikmaken van meerdere gegevensmodellen, waardoor ze zeer effectief zijn in het verwerken van grote hoeveelheden ongestructureerde gegevens en het schalen van big-data databaseprojecten.

    Meer informatie over NoSQL-databases

  • PostgreSQL is een robuuste, opensource-database die werkt met relationele en niet-relationele query's, en staat bekend om de betrouwbaarheid en gegevensintegriteit. PostgreSQL wordt veel gebruikt op terreinen als financiële diensten, productie, geografische informatiesystemen voor de overheid en webtechnologie. Ontwikkelaars maken apps met PostgreSQL, terwijl beheerders erop vertrouwen dat zij hiermee hun gegevens kunnen beveiligen.

    Meer informatie over PostgreSQL

  • Caching (in de cache opslaan van gegevens) is een veelvoorkomende techniek die door ontwikkelaars en IT-professionals wordt gebruikt om de prestaties en schaalbaarheid van een systeem te verbeteren. Bij caching gaat het erom dat veelgebruikte gegevens tijdelijk worden gekopieerd naar een snelle opslag die zich vlakbij de app bevindt. Als deze snelle gegevensopslag zich dichter bij de app bevindt dan de oorspronkelijke bron, kan caching de reactietijden voor client-apps significant verbeteren, doordat er meer gegevens kunnen worden verwerkt. Ontwikkelaars ontwerpen vaak apps om verwerkte gegevens in de cache op te slaan en de cache vervolgens voor een nieuw doeleinde te gebruiken om aanvragen sneller te verwerken dan bij standaarddatabasequery's.

    Meer informatie over opslaan in cache

  • Gegevenssharding is een horizontaal type gegevenspartitionering waarmee je je grote database kunt onderverdelen in kleinere databases, die je sneller en gemakkelijker op meerdere servers kunt beheren.

    Meer informatie over databasesharding

  • Platform as a service, vaak afgekort als PaaS, is een service van een cloudserviceprovider die een on-demand omgeving biedt voor het ontwikkelen, testen, leveren en beheren van apps. Met PaaS kunnen ontwikkelaars eenvoudiger en sneller web-apps en mobiele apps maken, zonder dat ze zich bezig hoeven te houden met het opzetten of het beheren van de onderliggende infrastructuur van servers, de opslag, het netwerk en de databases die zij als ontwikkelaars nodig hebben.

    Meer informatie over PaaS

Schaalbaarheid van de cloud verkennen met Azure

Ontdek een uitgebreide benadering voor omhoog schalen versus uitschalen: eentje die past bij je eigen scenario in on-premises omgevingen, omgevingen met meerdere clouds en randomgevingen. De Azure-familie van databaseservices biedt verschillende volledig beheerde, relationele, NoSQL- en in-memory databases die bedrijfseigen en opensource-engines omvatten en zijn afgestemd op de behoeften van moderne app-ontwikkelaars.

Bespaar tijd en geld met automatisch infrastructuurbeheer, waaronder automatiseringsoplossingen voor schaalbaarheid, beschikbaarheid en beveiliging.

Er wordt gediscussieerd en laptops staan ​​open

Gerelateerde producten en services

Azure SQL

Verschillende SQL-clouddatabases leveren flexibele opties voor app-migratie, modernisering en ontwikkeling.

Azure Cosmos DB

Snelle NoSQL-database met open API's voor elke schaal.

Azure PostgreSQL

Volledig beheerde, intelligente en schaalbare PostgreSQL.

Azure SQL Database

Beheerde, intelligente SQL in de cloud.

Azure SQL Managed Instance

Beheerde, altijd up-to-date SQL-instantie in de cloud.

SQL Server op Virtual Machines

Je SQL Server-workloads migreren naar de cloud tegen de laagste TCO.

Azure Database for MySQL

Volledig beheerde, schaalbare MySQL-database.

Azure Maria DB

Beheerde MariaDB-databaseservice voor app-ontwikkelaars.

Azure Cache voor Redis

Versnel toepassingen met gegevenstoegang met een hoge doorvoer en opslaan in cache met een lage latentie.

Ben je er klaar voor? Stel een gratis account in