Programmering

Hvordan Aerospike opnår lav latenstid og stærk konsistens på tværs af flere websteder

I dagens globale digitale økonomi skal organisationer have applikationer, der altid er tændt, og som fungerer i realtid. Applikationer såsom digitale betalingssystemer, realtids beholdningssporing og onlinespil er afhængige af robuste systemer med hurtig adgang til datacentre fordelt over hele verden. For applikationer som disse er det uacceptabelt at kompromittere datakonsistensen for enhver transaktion, hvad enten dataene er gemt i en privat sky, en offentlig sky eller en kombination af begge.

Men at drive en klynge på tværs af geografisk distribuerede datacentre eller skyregioner indfører høje omkostninger, dataoverskridelser og begrænset modstandsdygtighed. For at overvinde disse forhindringer har Aerospike udviklet en klyngefunktion på flere steder i Aerospike Database 5, der gør det muligt for virksomheder at drive en enkelt databaseklynge på tværs af flere placeringer uden at risikere datatab eller begrænse datatilgængelighed.

Multi-site clustering giver en aktiv-aktiv dataarkitektur

En aktiv-aktiv dataarkitektur spænder over flere regioner og anmodninger om tjenesterapplikationer overalt. Hver placering er "aktiv". Dataregistreringer replikeres på tværs af regioner, så læsninger kan behandles hvor som helst. I nogle arkitekturer håndteres skrivning af en given datapost kun på en enkelt masterplacering; andre arkitekturer tillader, at sådanne skrivninger forekommer flere steder. Hver tilgang har sine udfordringer, der involverer tilgængelighed, konsistens og ydeevne.

Tidligere foretog organisationer afvejninger mellem datakonsistens og høj ydeevne. Aerospike Database 5 med klyngedannelse på flere sider eliminerer disse kompromiser. Multi-site clustering kombinerer stærk konsistens med understøttelse af globalt distribuerede transaktionsapplikationer, der kan lempe skrivelatensen, som varierer afhængigt af afstanden mellem webstederne i en klynge, mens den stadig leverer læsetid på under millisekunder ved høj kapacitet.

Sådan fungerer Aerospike-klynger på flere steder

I figur 1 nedenfor er en enkelt Aerospike-klynge arrangeret i form af tre stativer fordelt på tre steder. Webstederne kunne være et datacenter, en skyregion eller endda forskellige skyregioner såsom Amazon Web Services, Google Cloud eller Microsoft Azure. Applikationer identificerer dette geografisk distribuerede miljø som et enkelt system, og anmodninger om læse / skrive håndteres problemfrit. For optimal ydeevne læser du processen lokalt, mens du skriver ruten til eksterne placeringer, hvis det er nødvendigt.

Aerospike

Rackbevidsthed er en vigtig kapacitet, der gør det muligt for Aerospike-klynger at implementere på tværs af fjerne datacentre eller skyområder. I en klynge med flere websteder muliggør Aerospikes rackbevidsthedsfunktion, at replikaer af dataposter, der er grupperet i datapartitioner, kan lagres på forskellige stativer. Gennem indstillinger for datareplikeringsfaktor kan hvert rack konfigureres til at gemme en fuld kopi af alle data for at maksimere datatilgængelighed og lokal læsepræstation.

I figur 1 instruerer en replikationsfaktor på Aerospike at vedligeholde kopier af alle data i hvert rack. Kun en node i et rack i klyngen vedligeholder en masterkopi af en given datapartition til enhver tid; andre stativer har noder, der gemmer replikaer af denne partition. Aerospike synkroniserer masterkopien med replikerne på forskellige stativer / noder.

Aerospike opretholder en liste for at holde styr på disse oplysninger. I figur 1 er rostermasterkopien på node 3 i rack 2, og replikerne er på node 1 i rack 1 og node 2 i rack 3. Denne klynge bevarer stærk konsistens, undgår datatab og bevarer tilgængelighed på enkelt- fejl på stedet.

Hvordan Aerospike-klynger på flere steder kommer sig efter fiasko

Naturkatastrofer, strømafbrydelser, hardwarefejl og netværksfejl kan medføre, at en eller flere komponenter i en klynge med flere regioner bliver utilgængelige. Modstandsdygtighed er et kritisk krav i enhver operationel database i flere regioner.

I figur 2 nedenfor har en netværksfejl forårsaget, at Rack 3 blev afbrudt fra Racks 1 og 2 for at skabe et split-hjernescenario, som er, når nogle dele af systemet ikke er i stand til at kommunikere med andre. Rack 3 er stadig op, hvor alle tre noder danner en underklynge. I dette tilfælde finder Racks 1 og 2 let, at Rack 3 er ude og danner en klynge med seks noder. Dette bliver majoritetsunderklyngen og har fuldstændig tilgængelighed, da den har to kopier af data i underklyngen. En tredje kopi oprettes automatisk ved hver skrivning, når systemet fortsætter med at foretage transaktioner.

Aerospike

Hver transaktion, der blev begået i Rack 3, er også begået i Rack 1 og Rack 2, og først derefter vil transaktionerne gå videre. Lokale apps på Rack 1 og Rack 2 fungerer fortsat fint. De lokale apps på Rack 3 bliver utilgængelige. Ved hjælp af Aerospikes stærke konsistensalgoritme kan Rack 3 bestemme ud fra en kombination af listen, og det faktum, at den kan tale med Racks 1 og 2, at den er en minoritetsunderklynge og ikke er tilgængelig til applikation, der læser og skriver. Og når Rack 3 kommer tilbage eller bliver tilsluttet igen til de to andre racks, flettes de ekstra kopier af data, der er oprettet i Racks 1 og 2 til skrivninger, der er sket, tilbage i Rack 3, så det kan begynde at overtage sin del af belastningen. Alt dette sker uden indblanding fra operatøren, hvilket bevarer stærk konsistens uden datatab og fuldstændig tilgængelighed under split-hjernehændelsen.

Opfyldelse af kravene fra den altid økonomiske økonomi

Den aktuelle karakter af nutidens globale digitale økonomi kræver databasesystemer, der fungerer uden afbrydelse eller risiko for datatab. Aerospikes multi-site klyngefunktion giver organisationer mulighed for at implementere en enkelt klynge på tværs af flere placeringer med 24/7 tilgængelighed og stærk konsistens. Det er nu muligt at implementere nye typer applikationer, der involverer globalt distribuerede transaktioner.

Srini Srinivasan er grundlægger og produktchef hos Aerospike, en leder inden for næste generations NoSQL-dataløsninger i realtid. Han har to årtiers erfaring med at designe, udvikle og drive infrastruktur i høj skala. Han har også mere end 30 patenter inden for teknologi, database, web, mobil og distribuerede systemer. Han var med til at grundlægge Aerospike for at løse de skaleringsproblemer, han oplevede med internet og mobile systemer, mens han var senior direktør for ingeniørarbejde hos Yahoo.

New Tech Forum giver et sted at udforske og diskutere nye virksomhedsteknologier i hidtil uset dybde og bredde. Valget er subjektivt baseret på vores valg af de teknologier, som vi mener er vigtige og af største interesse for læserne. accepterer ikke markedsføringssikkerhed til offentliggørelse og forbeholder sig retten til at redigere alt bidraget indhold. Send alle forespørgsler til [email protected]