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] 2025

Video: [VDT19] MySQL 8.0: un database SQL+NoSQL per i micro servizi by Marco Carlessi [IT] 2025
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

Vantaggi di base della rete - manichini

Vantaggi di base della rete - manichini

Se la verità viene detta, le reti di computer sono un problema da impostare. Perché i vantaggi di avere una rete rendono la pena di crearne uno utile. Non è necessario essere un dottorato di ricerca per comprendere i vantaggi del networking. Le reti riguardano esclusivamente la condivisione. Nello specifico, le reti riguardano la condivisione di tre elementi: informazioni, risorse, ...

Biometria L'accettazione, la privacy e la legge - manichini

Biometria L'accettazione, la privacy e la legge - manichini

La tecnologia biometrica non è affatto universalmente accettata da tutti gli utenti. Ci sono una serie di considerazioni sociali e legali che danno ad ogni organizzazione una pausa prima di fare il salto a capofitto nell'implementazione di un sistema biometrico. Le persone sono più a loro agio con i sistemi di raccolta biometrici che sono i meno intrusivi. Scanner per retina e nasi elettronici sono ...

Biometria Nozioni di base - manichini

Biometria Nozioni di base - manichini

La biometria non è roba da fantascienza. Puoi trovare una dozzina di modi più o meno efficaci per utilizzare la biometria per identificare qualcuno, ognuno dei quali si divide in due classi: la biometria fisiologica misura una parte specifica della struttura o della forma di una porzione del corpo di un soggetto. La biometria comportamentale è più interessata a come ...

Scelta dell'editore

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

In Excel 2007, è possibile creare dizionari personalizzati da utilizzare quando si esegue il controllo ortografico dei fogli di lavoro. Utilizzare il pulsante Aggiungi al dizionario nella finestra di dialogo Controllo ortografico per aggiungere parole sconosciute a un dizionario personalizzato. Per impostazione predefinita, Excel aggiunge queste parole a un file dizionario personalizzato denominato CUSTOM. DIC, ma è possibile creare una nuova personalizzazione ...

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Sebbene sia possibile convertire qualsiasi cartella di lavoro di Excel in un componente aggiuntivo, non tutte le cartelle di lavoro traggono vantaggio da questa conversione. Una cartella di lavoro senza macro rende un componente aggiuntivo inutile. In effetti, gli unici tipi di cartelle di lavoro che traggono vantaggio dall'essere convertiti in un componente aggiuntivo sono quelli con macro. Ad esempio, una cartella di lavoro costituita da macro generiche (Sub ...

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Se si lavora in Microsoft Excel 2010 e vuoi iniziare a lavorare in un nuovo file di cartella di lavoro di Excel, puoi facilmente creare una nuova cartella di lavoro. Per fare ciò, puoi usare un comando nella scheda File o una scorciatoia da tastiera. Fare clic sulla scheda File. Excel visualizza la visualizzazione Backstage, in cui è possibile accedere ai comandi relativi ai file. ...

Scelta dell'editore

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Adobe Illustrator Creative Suite 5 (Adobe CS5) Illustrator è utilizzato per rimuovere rapidamente aree di grafica con la stessa facilità con cui si cancellano i pixel in Photoshop, accarezzando con il mouse su qualsiasi forma o gruppo di forme. Facendo doppio clic sullo strumento Gomma, è possibile definire il diametro, l'angolo e la rotondità della gomma. Se stai usando un ...

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

I più popolari strumenti di trasformazione in Adobe Creative Suite 5 (Adobe CS5) Illustrator - Rifletti, scala, inclina, rimodella e Trasformazione libera: sono facili da usare e modificano rapidamente la tua illustrazione. Lo strumento Rifletti Niente è simmetrico, giusto? Forse no, ma gli oggetti non creati simmetricamente in Illustrator possono sembrare off-kilter. Utilizzando lo strumento Rifletti, si ...

Quando utilizzare Adobe CS5 Illustrator - dummies

Quando utilizzare Adobe CS5 Illustrator - dummies

Utilizzando Adobe Creative Suite 5 (Adobe CS5) Illustrator anziché Photoshop , ottieni diversi benefici. Potresti aver sentito che Illustrator è migliore per la grafica vettoriale, ma perché e che altro porta? Illustrator può salvare ed esportare immagini nella maggior parte dei formati di file. Scegliendo di salvare o esportare, è possibile creare un ...