In che modo Aerospike raggiunge una bassa latenza e una forte coerenza su più siti

Nell'odierna economia digitale globale, le organizzazioni devono disporre di applicazioni sempre attive e che funzionino in tempo reale. Applicazioni come sistemi di pagamento digitale, monitoraggio dell'inventario in tempo reale e giochi online si basano su sistemi resilienti con accesso rapido ai data center distribuiti in tutto il mondo. Per applicazioni come queste, è inaccettabile compromettere la coerenza dei dati per qualsiasi transazione, indipendentemente dal fatto che i dati siano archiviati in un cloud privato, in un cloud pubblico o in qualsiasi combinazione di entrambi.

Ma la gestione di un cluster tra data center distribuiti geograficamente o aree cloud comporta costi elevati, incoerenze dei dati e resilienza limitata. Per superare questi ostacoli, Aerospike ha sviluppato una funzionalità di clustering multisito in Aerospike Database 5 che consente alle aziende di gestire un singolo cluster di database in più sedi senza rischiare la perdita di dati o limitare la disponibilità dei dati.

Il clustering multisito fornisce un'architettura dei dati attivo-attivo

Un'architettura di dati active-active copre più regioni e richieste di applicazioni di servizi in tutte le posizioni. Ogni posizione è "attiva". I record di dati vengono replicati tra le regioni in modo che le letture possano essere elaborate in qualsiasi posizione. In alcune architetture, le scritture di un dato record di dati vengono gestite solo in una singola posizione master; altre architetture consentono che tali scritture avvengano in più posizioni. Ogni approccio ha le sue sfide che coinvolgono disponibilità, coerenza e prestazioni.

In passato, le organizzazioni hanno fatto dei compromessi tra coerenza dei dati e prestazioni elevate. Aerospike Database 5 con clustering multisito elimina questi compromessi. Il clustering multisito combina una forte coerenza con il supporto per applicazioni transazionali distribuite a livello globale che possono ridurre la latenza di scrittura, che varia in base alla distanza tra i siti di un cluster, pur offrendo una latenza di lettura inferiore al millisecondo con un throughput elevato.

Come funzionano i cluster multisito di Aerospike

Nella Figura 1 di seguito, un singolo cluster Aerospike è organizzato sotto forma di tre rack distribuiti su tre siti. I siti potrebbero essere un data center, una regione cloud o anche diverse aree cloud come Amazon Web Services, Google Cloud o Microsoft Azure. Le applicazioni identificano questo ambiente geograficamente distribuito come un unico sistema e le richieste di lettura / scrittura vengono gestite senza problemi. Per prestazioni ottimali, legge il processo localmente mentre scrive il percorso verso posizioni remote, se necessario.

Aerospike

La consapevolezza del rack è una funzionalità importante che consente ai cluster Aerospike di distribuire in data center distanti o regioni cloud. In un cluster multisito, la funzionalità di riconoscimento dei rack di Aerospike consente di archiviare le repliche dei record di dati raggruppati in partizioni di dati su rack diversi. Tramite le impostazioni del fattore di replica dei dati, ogni rack può essere configurato per archiviare una copia completa di tutti i dati per massimizzare la disponibilità dei dati e le prestazioni di lettura locale.

Nella Figura 1, un fattore di replica di 3 indica ad Aerospike di conservare le copie di tutti i dati in ogni rack. Solo un nodo in un rack del cluster conserva una copia principale di una data partizione dati in qualsiasi momento; altri rack hanno nodi che memorizzano le repliche di questa partizione. Aerospike sincronizza la copia master con le repliche su diversi rack / nodi.

Aerospike mantiene un elenco per tenere traccia di queste informazioni. Nella Figura 1, la copia master del registro si trova sul nodo 3 del rack 2 e le repliche si trovano sul nodo 1 del rack 1 e sul nodo 2 del rack 3. Questo cluster manterrà una forte coerenza, eviterà la perdita di dati e preserverà la disponibilità su errori del sito.

Come i cluster multisito Aerospike si riprendono dai guasti

Disastri naturali, interruzioni di corrente, guasti hardware e guasti di rete possono rendere inaccessibili uno o più componenti di un cluster multi-regione. La resilienza è un requisito fondamentale di qualsiasi database operativo multiregionale.

Nella Figura 2 di seguito, un errore di rete ha causato la disconnessione del Rack 3 dai Rack 1 e 2 per creare uno scenario "split-brain", ovvero quando alcune parti del sistema non sono in grado di comunicare con altre. Il rack 3 è ancora attivo, con tutti e tre i nodi che formano un sotto-cluster. In questo caso, i rack 1 e 2 scoprono facilmente che il rack 3 non è disponibile e formano un cluster con sei nodi. Questo diventa il sotto-cluster maggioritario e ha una disponibilità completa poiché ha due copie di dati all'interno del sotto-cluster. Una terza copia viene creata automaticamente ad ogni scrittura mentre il sistema procede con le transazioni.

Aerospike

Ogni transazione di cui è stato eseguito il commit nel Rack 3 viene salvata anche nel Rack 1 e nel Rack 2 e solo allora le transazioni andranno avanti. Le app locali su Rack 1 e Rack 2 continuano a funzionare correttamente. Le app locali sul Rack 3 non saranno disponibili. Utilizzando l'algoritmo di forte coerenza di Aerospike, Rack 3 può determinare da una combinazione del roster e dal fatto che può parlare con i Rack 1 e 2, che si tratta di un sotto-cluster di minoranza e non è disponibile per le letture e le scritture dell'applicazione. E quando il Rack 3 ritorna o viene ricollegato agli altri due rack, le copie extra dei dati che sono state create nei Rack 1 e 2 per le scritture avvenute verranno unite di nuovo nel Rack 3 in modo che possa iniziare a prendere il controllo della sua parte di il carico. Tutto questo avviene senza l'intervento dell'operatore,preservando una forte coerenza senza perdita di dati e completa disponibilità durante l'evento split-brain.

Soddisfare le esigenze di un'economia globale sempre attiva

La natura sempre attiva dell'odierna economia digitale globale richiede sistemi di database che funzionino senza interruzioni o rischi di perdita di dati. La capacità di clustering multisito di Aerospike consente alle organizzazioni di distribuire un singolo cluster in più sedi con disponibilità 24 ore su 24, 7 giorni su 7 e forte coerenza. È ora possibile implementare nuovi tipi di applicazioni che coinvolgono transazioni distribuite a livello globale.

Srini Srinivasan è fondatore e chief product officer di Aerospike, leader nelle soluzioni di dati NoSQL di nuova generazione in tempo reale. Ha due decenni di esperienza nella progettazione, sviluppo e gestione di infrastrutture su larga scala. Possiede inoltre più di 30 brevetti in tecnologie di database, web, dispositivi mobili e sistemi distribuiti. Ha co-fondato Aerospike per risolvere i problemi di ridimensionamento riscontrati con Internet e i sistemi mobili mentre era direttore tecnico senior di Yahoo.

-

Il New Tech Forum offre un luogo per esplorare e discutere la tecnologia aziendale emergente in profondità e ampiezza senza precedenti. La selezione è soggettiva, in base alla nostra scelta delle tecnologie che riteniamo importanti e di maggiore interesse per i lettori. non accetta materiale di marketing per la pubblicazione e si riserva il diritto di modificare tutti i contenuti forniti. Invia tutte le richieste a [email protected]