Video: Common design patterns with Azure Cosmos DB | Azure Friday 2024
Per capirci NoSQL può essere un po 'difficile. Se hai studiato database a scuola, potresti essere stato indottrinato in un modo relazionale di pensare. Dì database alla maggior parte delle persone e pensano sistema di gestione del database relazionale . Questo è naturale perché negli ultimi 30 anni, il RDBMS è stato così dominante.
Per aiutarti in questo viaggio, ecco alcuni termini chiave che sono prevalenti, così come cosa significano quando applicati ai database NoSQL.
-
Costruzione database
-
Database: Una singola unità logica, potenziale distribuita su più macchine, in cui i dati possono essere aggiunti e che possono essere interrogati per i dati che contiene.
Il termine relazionale tablespace potrebbe anche essere applicato a un database o a una raccolta NoSQL.
-
Data farm: Termine di RDBMS che fa riferimento a un set di set di repliche di sola lettura memorizzati in un cluster gestito di macchine.
In un RDBMS, in genere non è possibile aggiungere macchine senza tempi morti. Nei cluster NoSQL, è auspicabile scalare rapidamente.
-
Partizione: Un insieme di dati da memorizzare insieme su un singolo nodo per l'elaborazione dell'efficienza, o da replicare.
Potrebbe anche essere usato per l'interrogazione. In questo caso, può essere pensato come una collezione .
-
-
Struttura del database
-
Raccolta: Un set di record, in genere documenti, raggruppati insieme. Questo non si basa su una proprietà all'interno del set di record, ma all'interno dei suoi metadati. L'assegnazione di un record a una raccolta viene in genere eseguita al momento della creazione o dell'aggiornamento.
-
Schema: In RDBMS e in una certa misura memorizza le colonne. La struttura dei dati deve essere configurata nel database prima che i dati vengano caricati.
Nei database di documenti, sebbene qualsiasi struttura possa essere archiviata, a volte è meglio limitare le strutture applicando lo schema, come in una definizione dello schema XML. NoSQL generalmente, tuttavia, è considerato privo di schema o come schema variabile di supporto.
-
-
Record
-
Record: Una singola unità atomica di rappresentazione dei dati nel particolare database che viene descritto.
In un RDBMS, questa sarebbe una riga, come nei magazzini di colonne. Questo potrebbe anche essere un valore in un negozio con valore-chiave, un documento in un negozio di documenti o un argomento (non triplo) in un negozio triplo.
-
Riga: Unità atomica del record in un archivio RDBMS o colonna.
Potrebbe essere modellato come elemento all'interno di un archivio di documenti o come una mappa in un archivio di valori-chiave.
-
Campo: Un singolo campo all'interno di un record. Una colonna in un RDBMS.
Potrebbe non essere presente in tutti i record, ma quando presente dovrebbe essere dello stesso tipo o struttura.
-
Tabella: Una singola classe di record. In Bigtable, vengono anche chiamate tabelle. In un negozio triplo, possono essere chiamati tipi di RDF o nomi con nomi, a seconda del contesto. In un negozio di documenti, possono essere raccolte.
-
-
Associa associazioni
-
Chiave primaria: Un valore univoco garantito in una determinata tabella che può essere utilizzato per fare sempre riferimento a un record. Una chiave in un archivio di valori-chiave, URI in un archivio documenti o IRI in un archivio triplo o grafico.
-
Chiave esterna: Un valore di dati che indica che un record è correlato a un record in una tabella o un set di record diversi. Ha lo stesso valore della chiave primaria nella tabella correlata.
-
Relazione: Un collegamento o un bordo nella teoria dei grafi, che indica che due record hanno un collegamento semantico. La relazione può essere tra due record nella stessa tabella o in tabelle diverse.
In RDBMS, normalmente sono le altre tabelle, mentre in un negozio triplo è comune mettere in relazione soggetti dello stesso tipo (persone in un grafico sociale, ad esempio). Alcuni database, principalmente archivi di grafici, supportano l'aggiunta di metadati alle relazioni.
-
-
Organizzazione di storage
-
Server: Un singolo nodo del computer all'interno di un cluster. Esegue in genere una singola istanza del codice di un server di database.
-
Cluster: Un gruppo o server fisici gestiti insieme nello stesso centro dati per fornire un singolo servizio. Può replicare i suoi database in cluster in altri data center.
-
Forma normale: Un metodo per normalizzare, o ridurre al minimo la duplicazione, nei dati in un RDBMS.
I database NoSQL in genere portano a una struttura di dati denormalizzata per fornire query o accesso ai dati più rapidi.
-
-
Tecnologia di replica
-
Replica disco: Replica trasparente dei dati tra i nodi in un singolo cluster per fornire resilienza ad alta disponibilità in caso di guasto di un singolo nodo.
-
Replica del database: Replica tra database in cluster diversi. Replica tutti i dati in ordine di aggiornamento da un cluster a un altro. Sempre unidirezionale.
-
Replica flessibile: Fornisce la replica controllata da applicazioni di dati tra database in cluster diversi. Gli aggiornamenti potrebbero non arrivare nello stesso ordine in cui sono stati applicati al primo database. In genere comporta alcune elaborazioni personalizzate, come la priorità per gli aggiornamenti dei dati da inviare successivamente. Può essere bidirezionale con codice di risoluzione dei conflitti di aggiornamento appropriato.
-
-
Strumenti di ricerca
-
Indice: Un elenco ordinato di valori presenti in un particolare record.
-
Indice inverso: Un elenco ordinato di valori (termini) e un elenco di chiavi primarie di record che utilizzano questi termini.
Fornisce una ricerca di testo non strutturata efficiente e funzioni di aggregazione rapida e ordinamento quando memorizzato nella cache.
-
Query: Una serie di criteri che si traduce in un elenco di record che corrispondono esattamente alla query, restituiti in ordine di particolari valori di campo.
-
Cerca: Un insieme di criteri che si traduce in un elenco ordinato pertinenza che corrisponde alla query.
I criteri di ricerca potrebbero non richiedere una corrispondenza esatta, restituendo invece un calcolo della pertinenza ponderato per vicinanza della corrispondenza ai criteri.Questo è ciò che fa Google quando esegui una ricerca.
-