Video: System Design Basics: Horizontal vs. Vertical Scaling 2025
De fleste relationsdatabaseforvaltere er blevet bygget på en horisontal lagringsleder , , som placerer alle data i en database efter række (eller post), når en transaktion opstår. En database tabel er repræsenteret som en kæde af database sider, der indeholder en eller flere data rækker.
En horisontal opbevaringsleder giver hurtig support til online transaktionsbehandling (OLTP), fordi de fleste transaktioner forekommer i et rekordformat - for eksempel at indsætte en generel hovedbogspost eller skrive en check. Når en bruger anmoder om en rekord, flyttes databasesiden, der indeholder dataene, dog ofte til hukommelse, hvilket er meget ineffektivt for business intelligence-applikationer.
Flere specialdatabaseprodukter er opstået i årenes løb, der er designet til at hjælpe og optimere forespørgselscentrerede applikationer, såsom business intelligence. Sådanne produkter gør det lettere for dig at udvikle interaktive datalagre. Målet med disse kolonnebaserede databaser er at øge hastigheden af beslutningsstøttespørgsmål udført mod store mængder data.
Når databaseadministratorer bliver spurgt, om de nogensinde vil placere et indeks på en kolonne, der indeholder en persons områdekode, en elevs karakterpoint gennemsnit eller en kundes samlede transaktioner, svarer de med et rungende "Nej! "De giver normalt denne adamant svar af grunde baseret på teknologi, såsom:
-
Vi indekserer kun baseret på standard, velkendte stier (f.eks. Navn) på grund af indeksets overhead.
-
kardinalitet, eller enestående forekomst af data, ville tvinge databasen til at udføre en bordscanning alligevel.
Men når du spørger brugerne, hvilke oplysninger de har brug for til at opfylde deres jobansvar, svarer de med disse krav:
-
Se antallet af personer efter områdekode på mit område, så jeg bedre kan administrere mine kampagner.
-
Identificer de toprangerede elever i kandidatklassen, så jeg kan arrangere de rigtige interviews.
-
Find ud af, hvilke kunder der driver forretning med mit firma og bruger mellem $ 100.000 og $ 500.000 årligt.
Hver af disse tre krav karakteriserer en anden brugersøgning, men de udfører alle samme funktioner: De er beslutningsstøtteorienterede forespørgsler. Et behov for adgang til data drev brugerinformationsbehov, men brugerens adgangsmønstre er ikke kompatible med de fleste RDBMS indekseringsstrategier. Kort sagt, RDBMS teknologien kommer i vejen for applikationernes succes.
En database tabel er repræsenteret som en kæde af database sider, der indeholder en eller flere data rækker, som vist i denne figur.En horisontal lageradministrator tilbyder hurtig online transaktionsbehandling (OLTP) support, fordi de fleste transaktioner forekommer i et rekordformat.
Disse relationsdatabaser hjælper forespørgselsaktivitet ved at bruge indekser. Indekser er bygget oven på rækkerne for at forenkle og fremskynde dataindhentning på almindelige stier, som vist i figuren.
Datalagringsløsninger, såsom business intelligence, bruger ikke mange af disse indekseringsteknikker, fordi de er blevet udformet til at hjælpe OLTP-applikationer med det hyppige behov for at finde og opdatere individuelle rækker inden for databasetabeller.
For at understøtte typiske bruger forespørgsler, der findes i business intelligence, kræves der andre opbevarings- og indekseringsteknikker. Leverandører som Sybase og Vertica har opbygget vertikale opbevaringschefer. I stedet for at lagre data for række gemmer disse produkter dataene ved hjælp af kolonner - dvs. navnet lodret opbevaringsleder eller kolonnevis opslag.
Denne oplagringsmetode løser effektivt problemet med bruger forespørgsler mod store datasæt, fordi en bruger ofte søger kun nogle få kolonner, i modsætning til det store antal kolonner, der forvaltes i en række af en vandret lageradministrator. Med de data, der er gemt som en række sideændringer, reduceres forespørgselsbehandlingstiden med en faktor på 500 eller mere til 1.
Disse produkter understøtter også andre optimeringer, der hjælper med spørgsmålet behandling, herunder datakomprimering, parallel forespørgselsoperationer og multiple indekseringsteknikker pr. kolonne. Udfordringen med at implementere sådanne teknologier indebærer standardisering. Derfor nægter mange databehandlingsafdelinger at gennemføre sådanne teknologier, fordi disse teknologier kræver yderligere supportarbejde.