Hopp over navigasjon

Skalere opp kontra å skalere ut

En introduksjon til databaseskalerbarhet ved databehandling i skyen

Data, data overalt – det er det vi snakker om når vi snakker om skalerbarhet

Skalerbarhet ved databehandling i skyen er muligheten til raskt og enkelt å øke eller redusere størrelsen eller kraften til en IT-løsning eller ressurs. Selv om begrepet skalerbarhet kan referere til funksjonaliteten til ethvert system når det gjelder å håndtere en økende mengde arbeid, refererer vi ofte til databaser og data når vi snakker om å oppskalere kontra å utvide, og mye av det.

Databaseskalerbarhet er noe moderne apputviklere er svært opptatt av. La oss si at en ny app tar av – og etterspørselen etter den vokser fra en håndfull brukere til millioner av brukere over hele verden. Noe av det viktigste i det å hjelpe apputviklerne med å holde tritt med etterspørselen og minimere nedetid, er muligheten til å skalere effektivt.

Denne samtalen om å skalere ut kontra å skalere opp fokuserer på hvordan skalerbarhet hjelper oss med å tilpasse og håndtere det store volumet og det store utvalget av data, endrede datavolumer og skiftende arbeidsbelastningsmønstre – alt generert fra skyen, mobilen, sosiale medier og stordata.

Skalere ut kontra å skalere opp

På sitt mest grunnleggende nivå kan databaseskalerbarhet deles inn i to typer:

Loddrett skalering, eller skalering opp eller ned, der du øker eller reduserer datakraften eller databasene etter behov – enten ved å endre ytelsesnivåer eller ved å bruke elastiske databaseutvalg for å justere automatisk til arbeidsbelastningsbehovene.

Vannrett skalering, eller skalere ut eller inn, der du legger til flere databaser eller deler den store databasen inn i mindre noder ved hjelp av en datapartisjoneringstilnærming kalt fragmentering, som kan administreres raskere og enklere på tvers av servere.

Skalere opp loddrett

Loddrett skalering brukes når du må reagere raskt for å løse et ytelsesproblem som du ikke kan løse ved hjelp av klassiske databaseoptimaliseringsteknikker, for eksempel spørringsendringer eller indeksering. Oppskalering er nyttig for å håndtere spisser i arbeidsbelastningene der gjeldende ytelsesnivå ikke oppfyller alle kravene. Ved å skalere opp kan du legge til flere ressurser, slik at du enkelt kan håndtere de mest aktive arbeidsbelastningene. Når ressursene ikke trengs lenger, kan du gå tilbake til den opprinnelige tilstanden og spare på skykostnader når du skalerer ned.

Oppskaler når:

  • Du ser at arbeidsbelastningene dine når en ytelsesgrense, for eksempel CPU- eller I/U-grenser.
  • Du må reagere raskt for å løse ytelsesproblemer som ikke kan løses med klassisk databaseoptimalisering.
  • Du trenger en løsning som lar deg endre tjenestenivåer for å tilpasse deg endrede ventetidskrav.

Skalere ut vannrett

Apputviklere begynner å vurdere å skalere ut eller å foreta vannrett skalering når de ikke kan få nok ressurser til arbeidsbelastningene sine, selv om de opererer på de høyeste ytelsesnivåene. Med vannrett skalering deles data inn i flere databaser, eller fragmenter, på tvers av servere, og hvert fragment kan skaleres opp eller ned uavhengig av hverandre.

Hvordan forbedrer partisjonering av data skalerbarhet? Når du oppskalerer en enkelt database ved å legge til ressurser som virtuelle maskiner (VM-er), vil den til slutt nå en fysisk maskinvaregrense. Siden datapartisjoner er plassert på en egen server, kan du utvide et system nesten ubegrenset hvis du deler data på tvers av flere fragmenter.

Noen typer databaseteknologier, spesielt ikke-relasjonelle databaser eller NoSQL-databaser, er utviklet med unike funksjonaliteter for å utvide data vannrett av fragmentering, slik at de kan håndtere store, ikke-relasjonelle, ubestemte eller raskt endrede data.

Noen relasjonelle (SQL) databasetjenester som opprinnelig tilbød tjenester for å opp- eller nedskalere, begynner også å tilby spennende alternativer for å matche skalerbarhetsfordelene i ikke-relasjonelle databaser. Hyperskaleringstjenester som Microsoft Azure SQL Database Hyperscale og Azure Database for PostgreSQL Hyperscale gjør det mulig for brukere å raskt skalere lagring opptil 100 TB, gi fleksibel, skybasert arkitektur som gjør det mulig å vokse etter behov, og legger til rette for nesten øyeblikkelige sikkerhetskopier og raske databasegjenopprettinger på bare få minutter.

Utvid når:

  • Du har geodistribuerte programmer der hver app skal ha tilgang til deler av dataene i området. Hver app får bare tilgang til fragmentet som er knyttet til området uten å påvirke andre fragmenter.
  • Du har et globalt fragmentscenario, for eksempel belastningsfordeling, der du har et stort antall geodistribuerte klienter som setter inn data i sine egne dedikerte fragmenter.
  • Du har maksimert ytelseskravene dine, selv på de høyeste ytelsesnivåene i tjenesten, eller hvis dataene ikke får plass i en enkelt database.

Autoskalering

Autoskalering er prosessen med automatisk og dynamisk samsvarende ressurser for å oppfylle ytelseskravene til et system. Etter hvert som arbeidsmengden øker, kan det hende at apper trenger flere ressurser for å opprettholde de nødvendige ytelsesnivåene eller dekke økende etterspørsel. Hvis etterspørselen avtar og tilleggsressursene ikke lenger er nødvendige, kan du spare på skyutgifter ved å ha en automatisk tjeneste på plass for å fjerne tildeling av ubrukte ressurser.

Autoskalering utnytter elastisiteten til skybaserte miljøer. Det letter administrasjonskostnadene ved å redusere behovet for at systemoperatører hele tiden tar beslutninger om å legge til eller fjerne ressurser eller kontrollere systemets ytelse.

Selv om det finnes to hovedmåter apper kan skalere på – loddrett eller vannrett – er det mindre vanlig å automatisere loddrett skalering, fordi oppskalering ofte krever at systemet blir midlertidig utilgjengelig mens det rulles ut på nytt.

Autoskalering er vanligere når du skalerer vannrett fordi skalering ut eller inn bare betyr å legge til eller fjerne forekomster av en ressurs, og appen fortsetter å kjøre uten avbrudd etter hvert som nye ressurser klargjøres. Hvis etterspørselen synker, kan ressurser stenges enkelt uten nedetid og tildeling fjernes.

Mange leverandører av skybaserte systemer, for eksempel Microsoft Azure, støtter vannrett autoskalering.

  • En database er en samling beslektet informasjon som er lagret og organisert, slik at den blir enklere å administrere og få tilgang til. Etter hvert som nye data og datatyper genereres i et svimlende tempo, blir det en utfordring å holde dataene organiserte, tilgjengelige og sikre. Systemer for databaseadministrasjon (DBMS), som inkluderer et lag med administrasjonsverktøy, brukes ofte til å håndtere store mengder data.

    Nye databasetyper og teknologier oppstår stadig for å tilpasse seg det store volumet og det store utvalget av data generert fra skyen, mobilen, sosiale medier og stordata.

    Finn ut mer om databaser
  • NoSQL-databaser, ofte referert til som ikke-relasjonell eller «ikke bare» SQL, er et mangfoldig sett med databaseteknologier som håndterer datalagring og henting på en annen måte enn en tradisjonell, relasjonell (SQL) database.

    NoSQL-databaser krever ikke et forhåndsdefinert skjema og kan bruke flere datamodeller, noe som gjør dem ekstremt effektive når det gjelder å håndtere store mengder ustrukturerte data og skalere databaseprosjekter med stordata.

    Finn ut mer om NoSQL-databaser
  • PostgreSQL er en robust database med åpen kildekode som fungerer med relasjonell og ikke-relasjonell spørring, kjent for sin pålitelighet og dataintegritet. PostgreSQL er mye brukt innen områder som økonomiske tjenester, produksjon, offentlige geografiske informasjonssystemer og netteknologi. Utviklere oppretter apper med PostgreSQL, mens administratorer stoler på at det beskytter dataene deres.

    Finn ut mer om PostgreSQL
  • Hurtigbufring er en vanlig teknikk som brukes av utviklere og IT-eksperter for å forbedre ytelsen og skalerbarheten til et system. Hurtigbufring fungerer ved å midlertidig kopiere data som brukes ofte, til rask lagring som er plassert i nærheten av appen. Hvis denne raske datalagringen er plassert nærmere appen enn den opprinnelige kilden, kan hurtigbufring forbedre responstiden for klientapper betraktelig ved å betjene data raskere. Utviklere utformer ofte apper for å bufre behandlede data, for så å endre bufferen for å betjene forespørsler raskere enn i standard databasespørringer.

    Få mer informasjon om hurtigbufring
  • Datafragmentering er en type vannrett datapartisjonering som lar deg dele den store databasen inn i mindre databaser, som kan administreres raskere og enklere på tvers av servere.

    Finn ut mer om databasefragmentering
  • En plattform som tjeneste, ofte forkortet til PaaS, er en tjeneste fra en skytjenesteleverandør som tilbyr et behovsbetinget miljø for apputvikling, testing, levering og administrasjon. Plattform som tjeneste gjør det enklere og raskere for utviklere å opprette nett- eller mobilapper – uten å måtte håndtere konfigurering eller administrasjon av den underliggende infrastrukturen for servere, lagring, nettverk og databaser de trenger som utviklere.

    Finn ut mer om PaaS

Utforsk skalerbarhet i skyen med Azure

Oppdag en omfattende tilnærming til oppskalering kontra utskalering – en som passer ditt eget scenario på tvers av lokale miljøer, multiskymiljøer og kantmiljøer. Azure-serien med databasetjenester tilbyr et utvalg av totaladministrerte relasjonsdatabaser, NoSQL-databaser og databaser i minnet. De spenner over proprietære motorer og motorer med åpen kildekode, for å passe til behovene moderne apputviklere har.

Spar tid og penger med automatisert infrastrukturadministrasjon – inkludert automatiseringsløsninger for skalerbarhet, tilgjengelighet og sikkerhet.

Relaterte produkter og tjenester

Azure SQL

En serie med SQL-skydatabaser som tilbyr fleksible alternativer for overføring, modernisering og utvikling av apper

Azure Cosmos DB

Rask NoSQL-database med åpne API-er for enhver skalering

Azure PostgreSQL

Totaladministrert, intelligent og skalerbar PostgreSQL

Azure SQL Database

Administrert intelligent SQL i skyen

Azure SQL Managed Instance

Administrert, alltid oppdatert SQL-forekomst i skyen

SQL Server på virtuelle maskiner

Overføring av SQL Server-arbeidsbelastninger til laveste TCO

Azure Database for MySQL

Totaladministrert, skalerbar MySQL-database

Azure Maria DB

Administrert MariaDB-databasetjeneste for apputviklere

Azure Cache for Redis

Få fart på programmene med høy gjennomstrømning og datahurtigbufring med lav forsinkelse

Skaler uten grenser med administrerte databaser

Fokuser på å bygge apper og gjøre jobben enklere med å få databasene dine administrert av Microsoft Azure

Vi er klar når du er. La oss sette opp den kostnadsfrie kontoen din