Casa Finanza personale Accesso chiave ad alta velocità con NoSQL - dummies

Accesso chiave ad alta velocità con NoSQL - dummies

Sommario:

Video: Common design patterns with Azure Cosmos DB | Azure Friday 2024

Video: Common design patterns with Azure Cosmos DB | Azure Friday 2024
Anonim

Gli archivi a valore chiave in NoSQL sono tutti basati sulla velocità. È possibile utilizzare varie tecniche per massimizzare tale velocità, dai dati di memorizzazione nella cache, all'utilizzo di più copie di dati o all'utilizzo delle strutture di archiviazione più appropriate.

Memorizzazione nella cache dei dati in memoria

Poiché i dati sono facilmente accessibili quando sono archiviati nella memoria ad accesso casuale (RAM), la scelta di un archivio di valori-chiave che memorizza i dati nella RAM può velocizzare significativamente l'accesso ai dati, anche se al prezzo di maggiori costi del server.

Spesso, però, vale la pena di fare questo compromesso. Puoi facilmente calcolare quale percentuale dei tuoi dati memorizzati è richiesta frequentemente. Se sai che il cinque percento è generalmente richiesto ogni pochi minuti, prendi il cinque percento delle dimensioni dei tuoi dati e aggiungi quel numero come spazio di RAM di riserva tra i tuoi server di database.

Tenere presente che anche il sistema operativo, altre applicazioni e il server del database hanno requisiti di memoria.

Replica dei dati negli slave

Negli archivi di valori-chiave, una chiave particolare viene archiviata su uno dei server nel cluster. Questo processo è chiamato key partitioning . Ciò significa che, se questa chiave viene richiesta costantemente, questo nodo riceverà la maggior parte delle richieste. Questo nodo, quindi, sarà più lento della velocità media della richiesta, influenzando potenzialmente la qualità del servizio per gli utenti.

Per evitare questa situazione, alcuni negozi di valore-chiave supportano l'aggiunta di repliche di sola lettura, dette anche slave. Redis, Riak e Aerospike sono buoni esempi. La replica consente di archiviare la chiave più volte su più server, aumentando la velocità di risposta ma al costo di un maggior numero di hardware.

Alcuni negozi con valore chiave garantiscono che le repliche della chiave abbiano sempre lo stesso valore del master. Questa garanzia è chiamata essere pienamente coerente. Se si verifica un aggiornamento sul server master che contiene la chiave, tutte le repliche sono garantite per essere aggiornate.

Non tutti i negozi di valore-chiave garantiscono questo stato (Riak, per esempio), quindi se è importante essere aggiornati al millisecondo, quindi scegliere un database le cui repliche siano completamente coerenti (come Aerospike).

Modellazione dei dati nei negozi di valori-chiave

Molti negozi di valori-chiave supportano solo strutture base per i loro tipi di valore, lasciando al programmatore dell'applicazione il compito di interpretare i dati. Il supporto del tipo di dati semplice in genere include stringhe, numeri interi, JSON e valori binari.

Per molti casi d'uso, questo funziona bene, ma a volte è utile un accesso un po 'più granulare ai dati.Redis, ad esempio, supporta i seguenti tipi di valori di dati:

  • Stringa

  • Elenco

  • Set

  • Set ordinato

  • Mappe hash

  • Matrici bit

  • Log Hyperlog

I set ordinati possono essere interrogato per la corrispondenza di intervalli di valori - molto simile a interrogare un indice di valori ordinati per data, che è molto utile per la ricerca di un sottoinsieme di dati digitati.

Operando sui dati

Redis include operazioni per incrementare e decrementare direttamente i valori chiave, senza dover eseguire una serie di passi read-modify-update (RMU). È possibile farlo in un'unica transazione per garantire che nessun'altra applicazione modifichi il valore durante un aggiornamento. Queste operazioni specifiche del tipo di dati includono anche l'aggiunta e la rimozione di elementi in elenchi e insiemi.

È anche possibile fornire funzionalità di completamento automatico sull'interfaccia utente di un'applicazione utilizzando il comando Redis ZRANGEBYLEX. Questo comando recupera un set di chiavi che corrisponde parzialmente a una stringa. Quindi, se dovessi digitare "NoSQL for" nella barra di ricerca di un'applicazione creata su Redis, vedresti il ​​suggerimento "NoSQL For Dummies. "

Valutazione dei redis

Redis è orgoglioso di essere un negozio di valori-chiave molto leggero ma incredibilmente veloce. È stato originariamente progettato per essere un archivio di valori-chiave in-memory, ma ora vanta l'archiviazione dei dati basata su disco.

È possibile utilizzare Redis per salvaguardare i dati abilitando la modalità AOF (aggiungi solo file) e istruendo Redis per forzare i dati su disco su ogni query (noto come fsync flushing forzato). AOF rallenta le operazioni di scrittura, ovviamente, ma fornisce un livello più alto di durabilità per i dati. Essere consapevoli, tuttavia, che è ancora possibile perdere fino a un secondo di comandi.

Inoltre, Redis ha aggiunto solo di recente il supporto per il clustering. Infatti, al momento della stesura di questo articolo, il supporto del clustering di Redis è in fase di beta testing. Fortunatamente, Redis utilizza un modello di cluster a nulla condiviso, con master per chiavi e schiavi particolari che non vengono mai scritti direttamente da un client; solo il padrone lo fa. Fornire clustering shared-nothing dovrebbe rendere più semplice per Redis implementare clustering affidabile di quanto lo sia per i database che consentono di scrivere su tutte le repliche.

Se si desidera uno strato di cache in memoria ad altissima velocità di fronte a un altro database - MongoDB o Riak sono comunemente usati con Redis - quindi valutare Redis come opzione. Man mano che il supporto per il clustering e la durabilità dei dati si evolvono, forse Redis può superare altri database di back-end.

Accesso chiave ad alta velocità con NoSQL - dummies

Scelta dell'editore

Scattare foto digitali con uno zoom ottico - dummy

Scattare foto digitali con uno zoom ottico - dummy

La fotocamera digitale potrebbe avere uno zoom ottico, che è un Obiettivo zoom attuale vecchio stile (al contrario di uno zoom digitale). Per utilizzare lo zoom ottico della fotocamera digitale per scatti ravvicinati, segui questi passaggi di preparazione delle immagini prima di attivare il pulsante o lo switch di zoom:

La reflex digitale e la sensibilità alla luce - dummy

La reflex digitale e la sensibilità alla luce - dummy

La tua reflex digitale ha un'opzione per determinare la sensibilità del sensore della fotocamera è alla luce. Le fotocamere digitali sono le stesse delle fotocamere a pellicola in quanto la sensibilità alla luce è determinata dalla valutazione ISO. Il vantaggio di una fotocamera digitale è che non è necessario cambiare pellicola per modificare le valutazioni ISO. Quando aumenti ...

Scatti grandangolari con obiettivi standard - manichini

Scatti grandangolari con obiettivi standard - manichini

Fotografia grandangolare con un angolo di campo maggiore rispetto alla lunghezza focale normale o teleobiettivo. A volte si percepiscono le foto come molto espansive. Altre volte, a malapena lo si nota. Dipende tutto dal soggetto e da come si inquadra la scena. Questa figura mostra una scena di terreni agricoli che è stata scattata utilizzando un Sony APS-C ...

Scelta dell'editore

Come usare il meta tag DESCRIPTION - dummies

Come usare il meta tag DESCRIPTION - dummies

I meta tag sono tag HTML speciali che puoi utilizzare per trasportare informazioni, che i browser o altri programmi possono quindi leggere. Quando i motori di ricerca di Internet furono creati per la prima volta, i webmaster includevano i meta tag nelle loro pagine per rendere più facile per i motori di ricerca determinare le pagine. I motori di ricerca hanno utilizzato anche questi meta ...

Come scrivere un grande tag Title Web Marketing - dummies

Come scrivere un grande tag Title Web Marketing - dummies

Scrivere un tag title è fondamentale per il successo del web marketing e coinvolge più che mettere le parole chiave prima. I motori di ricerca mostrano il tag parola chiave nella parte superiore di ciascun elemento nelle pagine dei risultati dei motori di ricerca (SERP). Un tag del titolo ben scritto potrebbe aumentare le probabilità che un cliente in ricerca faccia clic sul tuo annuncio. Se ...

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

Quando le persone effettuano ricerche sul Web utilizzando Yahoo! , ottengono una combinazione di risultati organici e pagati. Se lavori per una società più grande, potresti provare Yahoo! La ricerca inoltra Pro per ottenere un vantaggio rispetto alla concorrenza e puoi persino registrare il tuo sito con Yahoo! Directory. Yahoo! I risultati di ricerca organica ...

Scelta dell'editore

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

ShareMyPlaylists (o SMP, in breve) è stato uno dei primi siti di condivisione di playlist Spotify e continua a innovare e offrire nuove funzionalità ai visitatori. Il mantra del sito è "Long Live the Mixtape", e qui troverai tantissime creazioni accuratamente compilate da migliaia di utenti. Dopo aver creato una playlist Spotify piena di ...

Spotify Unlimited - dummies

Spotify Unlimited - dummies

Spotify Unlimited è un modo brillante per ascoltare tutta la musica che vuoi senza limiti. È come una persona speciale che ti compra da mangiare e da bere tutta la sera per non doverti preoccupare del conto. È come essere in grado di dormire nel weekend senza preoccuparsi del lavoro o se ...

I generi di Spotify - dummies

I generi di Spotify - dummies

Che si tratti di hard rock, techno, pop, jazz, industrial, indie pop, folk , classico, heavy metal, valzer o qualsiasi altra cosa ti piaccia, Spotify ha il genere o il tipo di musica coperto. Puoi cercare i generi comuni da Spotify. Sebbene Spotify abbia pubblicato un elenco di quasi 1, 000 generi noti, non tutti saranno in grado di offrire ...