sql >> Database teknologi >  >> RDS >> Database

Relationelle vs ikke-relationelle databaser – Del 2

I mit tidligere indlæg har vi set nogle grundlæggende forskelle mellem relationelle og ikke-relationelle databaser. Lad os i dette indlæg tale om skalerbarheden af ​​disse to.

Skalerbarhed

Det er en evne i et system, der nemt kan rumme de hurtige indkommende data uden store ydeevneproblemer. Dette er hovedfaktoren for ethvert system for at give god skalerbarhed. Der er to typer skaleringsmetoder kendt som lodret og vandret skalering.

Lodret skalering

Alle de relationelle databaseværktøjer understøtter vertikal skalering. Dette er metoden til at øge systemets kraft ved at tilføje ekstra CPU, hukommelse og diskplads. Så for at tillade hurtige indkommende data er den enkelte produktionsserver optimeret til at skalere op. I denne skaleringsteknik er der altid en enkelt produktionsserver, som kan forbindes af alle applikationer og brugere. Et klyngemiljø kan oprettes med nogle noder og replikere data på tværs af noder.

På grund af ACID-egenskaber bør alle noder have det samme sæt af data, og datasynkronisering bliver kompliceret, hvis der er flere noder i klyngen. Dette er meget optimeret til læseskalering. Vertikal skalering er også kendt som opskalering
Fordelen ved denne skaleringsmetodologi er den tætte integration af data og dens konsistens på tværs af noderne i en klynge. Alle noder vil have det samme sæt data, og hvis der er et problem med produktionsserveren, vil en anden node automatisk blive forbundet af applikationerne. Så denne klynge er kendt som Fail-over klynge.

Horisontal skalering

Alle de ikke-relationelle databaseværktøjer understøtter horisontal skalering. Dette er metoden til at tilføje flere computere til netværket for at tillade hurtige indgående data. Det er nemt at tilføje flere noder i klyngen for at tillade datavækst. Data opdeles automatisk og behandles på tværs af noder i en klynge. Dette er et distribueret datamiljø. Hadoop Distributed File System (HDFS) er et klassisk eksempel på dette. Horisontal skalering er også kendt som Scale-out.

Fordelen ved denne skaleringsteknik er, at da data opdeles og replikeres på tværs af noder, hvis nogen af ​​noderne går offline, kan applikationen stadig have data fra andre noder, og dette garanterer tilgængeligheden af ​​data hele tiden. Denne metode er meget nyttig i de tilfælde, hvor der ikke kræves JOINs blandt nodernes data. Dette er også nyttigt til at adskille data og have dem på forskellige geografiske steder.

Selvom begge disse skaleringsteknikker har fordele og ulemper, kan et godt miljø blande begge disse for at få enestående opskalering og udskalering. Vi kan have en opskalering af læse- og skrivedatabase på en enkelt server, som kræver ACID-egenskaber og have en udskalering af distribuerede historiske data på tværs af flere noder til datamining-formål.


  1. Django + Psychopg2:InterfaceError:kun protokol 3 understøttes

  2. Hvad svarer til SQL Server APPLY i Oracle?

  3. Forespørge data ved at forbinde to tabeller i to databaser på forskellige servere

  4. Hvordan udfører jeg en GROUP BY på en aliaseret kolonne i MS-SQL Server?