Video: System Design Basics: Horizontal vs. Vertical Scaling 2025
De fleste relationsdatabaseforvaltere er bygget på en horisontal lagringsbehandling , som plasserer alle dataene i en database etter rad (eller post) når en transaksjon skjer. En databasetabell er representert som en kjede av databasesider som inneholder en eller flere dataarker.
En horisontal lagringsbehandling gir rask online-transaksjonsbehandling (OLTP) -støtte fordi de fleste transaksjoner forekommer i et rekordformat - for eksempel å sette inn en generell hovedbokoppføring eller skrive en sjekk. Men når en bruker ber om en post, blir databasesiden som inneholder dataene ofte flyttet til minnet, som for virksomhetsinformasjonsprogrammer er svært ineffektive.
Flere spesialprodukter databaseprodukter har dukket opp gjennom årene, utviklet for å hjelpe og optimalisere spørringsbaserte applikasjoner, for eksempel forretningsmessig intelligens. Slike produkter gjør det lettere for deg å utvikle interaktive datalager. Målet med disse kolonnevise databasene er å øke hastigheten på beslutningsstøttespørsmål utført mot store mengder data.
Når databaseadministratorer blir spurt om de noensinne vil legge inn en indeks på en kolonne som inneholder en persons områdekode, en elevs karakterpoeng gjennomsnitt eller en kundes totale transaksjoner, svarer de med en rungende "Nei! "De gir vanligvis denne adamant responsen av grunner basert på teknologi, for eksempel:
-
Vi indekserer bare basert på standard kjente stier (som navn) på grunn av overhead av indekser.
-
Den kardinaliteten, eller unik forekomst av data, ville tvinge databasen til å utføre en tabellskanning uansett.
Når du spør brukerne om hvilken informasjon de trenger for å oppfylle sitt ansvarsområde, svarer de med følgende krav:
-
Se antall personer etter områdekode på mitt territorium slik at jeg bedre kan håndtere mine kampanjer.
-
Identifiser de topprangerte elevene i kandidatklassen, så jeg kan ordne de riktige intervjuene.
-
Finn ut hvilke kunder som driver forretninger med firmaet mitt og bruker mellom $ 100 000 og $ 500 000 årlig.
Hver av disse tre kravene karakteriserer en annen brukerforespørsel, men de utfører alle liknende funksjoner: De er beslutningsstøttede spørsmål. Et behov for å få tilgang til data driver informasjon om brukerinformasjon, men brukerens tilgangsmønstre er ikke kompatible med de fleste RDBMS-indekseringsstrategier. Kort sagt, RDBMS-teknologien kommer i veien for programmets suksess.
En databasetabell er representert som en kjede av databasesider som inneholder en eller flere dataarker, som vist i denne figuren.En horisontal lagringsbehandling gir rask online transaksjonsbehandling (OLTP) -støtte fordi de fleste transaksjoner forekommer i et rekordformat.
Disse relasjonelle databasene hjelper søkeaktivitet ved å bruke indekser. Indeksene er bygd på toppen av radene for å forenkle og akselerere datainnhenting på vanlige baner, som vist på figuren.
Datalagringsløsninger, for eksempel forretningsmessig intelligens, bruker ikke mange av disse indekseringsteknikkene fordi de er laget for å hjelpe OLTP-applikasjoner i det vanlige behovet for å finne og oppdatere individuelle rader i databasetabeller.
For å kunne støtte typiske brukerforespørsler som er funnet i forretningsinformasjon, må andre lagrings- og indekseringsteknikker kreves. Leverandører som Sybase og Vertica har bygget vertikale lagringsledere. I stedet for lagring av data for rad lagrer disse produktene dataene etter kolonner - derav navnet vertikal lagringsbehandling eller kolonnevis lagring.
Denne metoden for lagring løser effektivt problemet med brukerforespørsler mot store datamengder fordi en bruker ofte søker bare noen få kolonner, i motsetning til det store antallet kolonner som forvaltes på rad av en horisontal lagringsbehandling. Med dataene lagret som en rekke sidendringer, med hver side som inneholder kolonnedata, reduseres søket behandlingstid med en faktor på 500 eller mer til 1.
I tillegg støtter disse produktene andre optimaliseringer som bidrar til spørringenes hastighet behandling, inkludert datakomprimering, parallell søkoperasjoner og flere indekseringsteknikker per kolonne. Utfordringen ved å implementere slike teknologier innebærer standardisering. Derfor nekter mange datastyringsavdelinger å implementere slike teknologier fordi disse teknologiene krever ekstra støttearbeid.
