Video: Scaling Databases - Web Development 2025
Et fælles træk ved NoSQL-systemer er deres evne til at skalere på tværs af mange råvareservere. Disse relativt billige platforme betyder, at du kan skalere databaser ved at tilføje en ny server i stedet for at erstatte gammel hardware med ny, mere kraftfuld hardware i et enkelt skud.
Der er tilfælde i brug i store mængder, der hurtigt tvinger dig til at skille ud. Disse omfatter
-
Du modtager statusrapporter og logmeddelelser fra tværs af et IT-landskab. Dette scenario kræver hurtig indtastningstid, men det kræver sandsynligvis ikke avanceret analysestøtte.
-
Du vil have hurtig caching for komplekse forespørgsler. Måske vil du få de seneste nyhedshistorier på en hjemmeside. Her læser cachere fremhævelse over forespørgsler eller indtaste hastigheder.
Den eneste ting, der er almindelig for udførelsen af alle NoSQL-databaser, er, at du ikke kan stole på offentliggjorte data - ingen af det - for at finde ud af, hvad resultaterne sandsynligvis vil være på dine data, til eget brug.
Du kan helt sikkert ikke stole på en bestemt databaseleverandørs løfte om ydeevne! Mange leverandører citerer høje indtastningshastigheder mod en kunstig brugssag, der ikke er en realistisk brug af deres database som bevis for deres databases overherredømme.
Problemet er imidlertid, at disse samme undersøgelser måske fuldstændig overser forespørgselshastigheden. Hvad er punktet i lagring af data, hvis du aldrig bruger det?
Disse undersøgelser kan også udføres på systemer, hvor nøglefunktioner er deaktiveret. Sikkerhedsindekser er muligvis ikke aktiveret, eller måske er ACID-transaktionsstøtte slået fra under undersøgelsen, så dataene gemmes hurtigt, men der er ingen garanti for, at det er sikkert.
Alt dette betyder, at du skal lave din egen test, hvilket er let nok, men vær sikker på at testen er så tæt på dit endelige system som muligt. For eksempel er der ingen mening i at teste en enkelt server, hvis du planlægger at skalere til 20 servere. Sørg især for at have en nøjagtig blanding af indtagelse, modifikation og forespørgsel af data.
Overvej at spørge din NoSQL-sælger om disse spørgsmål:
-
Kan du sikre dig, at alle størrelses- og præstationsceller citeres er til systemer, der sikrer ACID-transaktioner under indtagelse, der understøtter realtidsindeksering, og som indeholder en realistisk blanding af indtag og læsning / forespørgselsforespørgsler?
-
Indeholder dit produkt funktioner, der gør det nemt at øge serverens kapacitet?
-
Indeholder dit produkt funktioner, der gør det nemt at fjerne ubrugt serverkapacitet?
-
Er dit produkts forespørgselshastighed begrænset af mængden af oplysninger, der skal caches i RAM?
-
Bruger dit produkt en hukommelseskortstrategi, der kræver, at alle indekser holdes i RAM for tilstrækkelig ydeevne (hukommelseskortet betyder, at den maksimale mængde data, der er gemt, er den samme som mængden af fysisk RAM installeret)?
-
Kan din database opretholde sekundære forespørgselsvaretider under modtagelse af højfrekvente opdateringer?
-
Sikrer systemet, at der ikke kræves nedetid for at tilføje eller fjerne serverkapacitet?
-
Sikrer systemet, at oplysninger straks er tilgængelige for forespørgsel, efter at den er tilføjet til databasen?
-
Sikrer systemet, at datasikkerhed opretholdes uden at påvirke forespørgselshastigheden negativt?
-
Sikrer systemet, at databasens skala- og tilbagekalingsfunktioner er scriptable, og at de vil integrere til din valgte serverprogrammeringssoftware (for eksempel VMWare og Amazon Cloud Formation)?