Casa Finanza personale Gestione dei dati in NoSQL - dummies

Gestione dei dati in NoSQL - dummies

Sommario:

Video: [VDT19] MySQL 8.0: un database SQL+NoSQL per i micro servizi by Marco Carlessi [IT] 2024

Video: [VDT19] MySQL 8.0: un database SQL+NoSQL per i micro servizi by Marco Carlessi [IT] 2024
Anonim

Una volta gestite le chiavi in ​​modo appropriato, sei pronto per progettare come archiviare i dati con NoSQL e assicurarti che sia sicuro e sempre accessibile per il lavoro devi farlo

I tipi di dati nei negozi di valori-chiave

I negozi di valori-chiave di solito funzionano come & ldquo; secchi & rdquo; per dati binari. Alcuni database forniscono una forte digitazione dei dati interni e persino il supporto dello schema. Altri forniscono semplicemente comode funzioni di supporto nei loro driver client per la serializzazione di strutture dati di applicazioni comuni in un archivio di valori-chiave. Gli esempi includono mappe, elenchi e serie ordinate.

Oracle NoSQL può operare in due modalità:

  • Simple binary store

  • Supporto dello schema Avro ad alta strutturazione

Uno schema Avro è simile a uno schema di database relazionale - rafforzando un set molto severo delle regole di formato sui dati JSON (JavaScript Object Notation) memorizzati nel database, come illustrato qui:

{username: & ldquo; afowler & rdquo;, sessionid: 13452673, dal: 1408318745, tema: & ldquo; bluesky & rdquo;}

Si definisce uno schema Avro usando un documento JSON. Questo è un esempio dello schema Avro per i dati memorizzati mostrati in precedenza:

{& ldquo; Tipo & rdquo;: & ldquo; Record & rdquo;, & ldquo; namespace & rdquo;: & ldquo; com. esempio & rdquo;, & ldquo; nome & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; campi & rdquo;: [{& ldquo; nome & rdquo;: & ldquo; nome utente e rdquo;, & ldquo; Tipo & rdquo;: [& ldquo; stringa & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; nome & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; Tipo & rdquo;: & ldquo; int & rdquo;}, {& ldquo; nome & rdquo;: & ldquo; poiché & rdquo;, & ldquo; Tipo & rdquo;: & ldquo; lungo & rdquo;}, {& ldquo; nome & rdquo;: & ldquo; tema & rdquo;, & ldquo; Tipo & rdquo;: [& ldquo; stringa & rdquo;, & rdquo; null & rdquo;]}]}

Uno schema Avro fornisce una tipizzazione molto forte nel database per quando lo schema è importante. Nell'esempio precedente, vengono visualizzati i dati di stringa, un ID di sessione numerico, una data (millisecondi, dal momento in cui Unix Time Epoch è un intero lungo) e un'impostazione di personalizzazione per il tema da utilizzare sul sito Web.

Notate inoltre che il tipo di nome utente e tema ha due opzioni - stringa e null, che è il modo in cui istruisci a Oracle NoSQL che sono consentiti valori nulli. Potresti aver lasciato theme come stringa e fornito un parametro di configurazione aggiuntivo di & ldquo; predefinito & rdquo;: & ldquo; Bluesky & rdquo;.

Altri database NoSQL forniscono indici secondari su qualsiasi proprietà arbitraria di un valore con contenuto JSON. Riak, ad esempio, fornisce indici secondari basati su partizionamento del documento - in sostanza, una proprietà nota all'interno di un documento JSON viene indicizzata con un tipo.Ciò consente query di intervallo (minori di o maggiori di) oltre a semplici confronti uguali e non uguali. Riak riesce a fornire query di intervallo senza uno schema rigoroso - solo una semplice definizione dell'indice. Se i dati sono presenti, vengono aggiunti all'indice.

Replica dei dati

La memorizzazione di più copie degli stessi dati in altri server, o persino in rack di server, aiuta a garantire la disponibilità dei dati in caso di guasto di un server. L'errore del server si verifica principalmente nello stesso cluster.

È possibile gestire le repliche in due modi principali:

  • Master-slave: Tutte le letture e le scritture avvengono sul master. Gli schiavi subentrano e ricevono richieste solo se il maestro fallisce.

La replica master-slave viene in genere utilizzata negli archivi di valori-chiave conformi a ACID. Per abilitare la massima coerenza, l'archivio principale viene scritto e tutte le repliche vengono aggiornate prima del completamento della transazione. Questo meccanismo è denominato commit a due fasi e crea una rete aggiuntiva e tempo di elaborazione sulle repliche.

  • Master-master: Le letture e le scritture possono avvenire su tutti i nodi che gestiscono una chiave. Non c'è il concetto di un & ldquo; primaria & rdquo; proprietario della partizione.

Le repliche master-master sono in genere coerenti con il cluster che esegue un'operazione automatica per determinare il valore più recente per una chiave e rimuovere i valori obsoleti e obsoleti.

Nella maggior parte dei negozi a valore-chiave, questo avviene lentamente - al momento della lettura. Riak è l'eccezione qui perché ha un servizio anti-entropy che verifica la coerenza durante le normali operazioni.

Dati di versioning

Per abilitare la risoluzione automatica dei conflitti, è necessario un meccanismo per indicare l'ultima versione dei dati. Eventuali negozi di valori chiave coerenti raggiungono la risoluzione dei conflitti in modi diversi.

Riak utilizza un meccanismo vettoriale per prevedere quale copia è la più recente. Altri negozi di valore-chiave utilizzano timestamp semplici per indicare la stoltezza. Quando i conflitti non possono essere risolti automaticamente, entrambe le copie dei dati vengono inviate al client. I dati in conflitto inviati al client possono verificarsi nella seguente situazione:

  1. Il client 1 scrive nella replica A 'Adam: {likes: Cheese}'.

  2. La replica A copia i dati nella replica B.

  3. Il client 1 aggiorna i dati sulla replica A su "Adam: {likes: Cheese, hates: sunlight}".

    A questo punto, la replica A non ha abbastanza tempo per copiare i dati più recenti nella replica B.

  4. Il client 2 aggiorna i dati sulla replica B su "Adam: {likes: Cani, odia: canguri}".

    A questo punto, replica A e replica B sono in conflitto e il cluster di database non può risolvere automaticamente le differenze.

Un meccanismo alternativo consiste nell'utilizzare i timestamp e fidarsi di loro per indicare i dati più recenti. In una situazione del genere, è logico che l'applicazione verifichi che i timestamp leggano l'ultimo valore prima di aggiornare il valore.

Controllano il controllo e impostano il meccanismo, che in pratica significa 'Se l'ultima versione è ancora la versione 2, salva la mia versione 3'. Talvolta questo meccanismo viene definito come read match update (RMU) o read match write (RMW). Questo meccanismo è il meccanismo predefinito utilizzato da Oracle NoSQL, Redis, Riak e Voldemort.

Gestione dei dati in NoSQL - dummies

Scelta dell'editore

Sintassi JavaScript selezionata - dummies

Sintassi JavaScript selezionata - dummies

JavaScript è un linguaggio importante per la programmazione, lo sviluppo di giochi e le applicazioni desktop. Di seguito sono riportati gli elementi di sintassi JavaScript più comunemente utilizzati, inclusi i comandi per manipolare le variabili, controllare il flusso del programma e gestire le funzioni. Avviso funzione Descrizione ("messaggio"); Crea una finestra di dialogo a comparsa contenente un messaggio. var myVar = 0; Crea una variabile con un valore iniziale dato. Type is ...

I nuovi CSS3 Border Techniques - dummies

I nuovi CSS3 Border Techniques - dummies

Hanno fatto parte del CSS fin dall'inizio, ma i CSS3 aggiungono nuove opzioni davvero entusiasmanti. I browser moderni ora supportano i bordi creati da un'immagine così come gli angoli arrotondati e le ombre dei riquadri. Queste tecniche promettono di aggiungere nuove straordinarie funzionalità ai tuoi progetti. Confini dell'immagine CSS3 consente di utilizzare un'immagine ...

Scelta dell'editore

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Il componente aggiuntivo Analisi dati (noto nelle precedenti versioni di Excel come Analysis ToolPak o ATP) ti aiuta a fare analisi statistiche di ogni genere - e la previsione delle vendite è sicuramente una sorta di analisi statistica. Un componente aggiuntivo contiene codice Visual Basic: un programma, spesso scritto in una versione di BASIC, che Excel può eseguire. È ...

Utilizzando riferimenti di celle esterne in Excel - dummies

Utilizzando riferimenti di celle esterne in Excel - dummies

Potresti scoprire di avere dati in una cartella di lavoro di Excel che desideri fare riferimento in una formula all'interno di un'altra cartella di lavoro. In tale situazione, è possibile creare un collegamento tra le cartelle di lavoro utilizzando un riferimento di cella esterna. Un riferimento di cella esterna non è altro che un riferimento di cella che risiede in un esterno ...

Utilizzando Excel per calcolare una media basata su criteri - dummy

Utilizzando Excel per calcolare una media basata su criteri - dummy

È Possibile utilizzare Excel per calcolare una media . Immaginalo: devi calcolare una media da un elenco di numeri, usando solo i numeri nell'elenco che corrispondono a una condizione. In altre parole, calcola la media utilizzando i numeri se corrispondono a un determinato criterio. Excel è pieno di sorprese e, per questo trucco, tu ...

Scelta dell'editore

Come utilizzare le funzioni per trovare valori in Excel - dummies

Come utilizzare le funzioni per trovare valori in Excel - dummies

Excel fornisce funzioni per trovare il più grande o i valori più piccoli in un set di dati Excel. Queste funzioni includono MAX, MAXA, MIN, MINA, LARGE e SMALL. MAX: valore massimo La funzione MAX trova il valore più grande nei dati. La funzione ignora le celle vuote e le celle contenenti testo o valori logici come TRUE e FALSE ...

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

A volte potresti volere o dover creare un Excel cartella di lavoro in modo automatico. Ad esempio, potrebbe essere necessario copiare i dati da una tabella e incollarli in una cartella di lavoro appena creata. La seguente macro copia un intervallo di celle dal foglio attivo e incolla i dati in una nuova cartella di lavoro. In che modo ...

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

A volte quando si fa l'analisi what-if in Excel 2016 , hai in mente un risultato particolare, ad esempio un importo di vendita o una percentuale di crescita target. Quando è necessario eseguire questo tipo di analisi, si utilizza la funzione Goal Seek di Excel per trovare i valori di input necessari per raggiungere l'obiettivo desiderato. Per utilizzare la ricerca obiettivo ...