Panoramica
- I database NoSQL sono onnipresenti nel settore: Ci si aspetta che un data scientist abbia familiarità con questi database.
- Aquí veremos qué es una Banca dati NoSQLI database NoSQL sono sistemi di gestione dei dati che si caratterizzano per la loro flessibilità e scalabilità. A differenza dei database relazionali, Utilizzare modelli di dati non strutturati, come documenti, chiave-valore o grafica. Sono ideali per le applicazioni che richiedono la gestione di grandi volumi di informazioni e un'elevata disponibilità, come nel caso dei social network o dei servizi cloud. La sua popolarità è cresciuta in... y por qué debería aprender sobre ella.
- Vedremo anche le caratteristiche di 5 diversi database NoSQL.
introduzione
Ecco un consiglio che vorrei che qualcuno mi avesse dato quando ho iniziato a lavorare nella scienza dei dati.: Scopri il più possibile sull'utilizzo dei database.
Aquí hay un vistazo rápido a dónde entrará en juego su conocimiento de la Banca datiUn database è un insieme organizzato di informazioni che consente di archiviare, Gestisci e recupera i dati in modo efficiente. Utilizzato in varie applicazioni, Dai sistemi aziendali alle piattaforme online, I database possono essere relazionali o non relazionali. Una progettazione corretta è fondamentale per ottimizzare le prestazioni e garantire l'integrità delle informazioni, facilitando così il processo decisionale informato in diversi contesti....:
- Dovrai affrontare domande sui database nel tuo colloquio di data science.
- Lavorerai ampiamente con i database nel tuo ruolo di data scientist, analista dati, analista di affari, eccetera.
- Ti affiderai alla tua conoscenza dei database per raccogliere e compilare i dati per il tuo progetto di data science.
E molto altro ancora!!
La verità incontrovertibile è che stiamo generando dati a un ritmo e una scala senza precedenti in questo momento.. Il semplice fatto che più di 8.500 tweet e 900 foto su Instagram in un secondo mi lascia a bocca aperta. Allucinata la mente: In che modo i database odierni gestiscono tali volumi di dati??
Per gestire questa grande quantità di dati, Abbiamo bisogno di un sistema di database distribuito in grado di eseguire più nodi e che sia anche tollerante alle partizioni. Significa che anche se uno dei nodi fallisce per qualsiasi motivo, Il sistema dovrebbe funzionare senza problemi. Quindi la tolleranza alla partizione è un must.. Ora, secondo il teorema CAP, Non possiamo avere tolleranza di partizione, Disponibilità e coerenza tutte e tre allo stesso tempo.
Dobbiamo negoziare tra disponibilità e coerenza. Ad esempio, in un'app bancaria, Un cliente dovrebbe vedere il saldo corretto indipendentemente da dove accede.. I risultati possono essere ritardati di alcuni secondi, Ma devono essere molto coerenti.
In questo articolo, vedremo diversi tipi di database NoSQL, Le tue funzionalità e quando utilizzare ogni tipo di database.
Sommario
- Che cos'è un database NoSQL?
- Tipi di database NoSQL
- Database basato su documenti
- Database chiave-valore
- Ampio database basato su colonne
- Database basato su grafici
- Diversi database NoSQL
- MongoDB
- Cassandra
- ElasticSearch
- Amazon DynamoDB
- HBaseHBase es una base de datos NoSQL diseñada para manejar grandes volúmenes de datos distribuidos en clústeres. Basada en el modelo de columnas, permite un acceso rápido y escalable a la información. HBase se integra fácilmente con Hadoop, lo que la convierte en una opción popular para aplicaciones que requieren almacenamiento y procesamiento de datos masivos. Su flexibilidad y capacidad de crecimiento la hacen ideal para proyectos de big data....
Che cos'è un database NoSQL?
Quindi, Che cos'è un database NoSQL?
Potresti aver sentito dire che un database NoSQL è qualsiasi database non relazionale che non ha alcuna relazione tra i dati.. Bene, Non è del tutto vero.. Possono anche memorizzare la relazione tra i dati ma in modo diverso.
Possiamo dire che “NoSQL” significa “Nessun SQL da solo”. Qui, I dati non sono suddivisi in più tabelle, in quanto consentono tutti i dati correlati in ogni modo possibile, in un'unica struttura dati. Quando si lavora con una grande quantità di dati, non è necessario preoccuparsi dei ritardi delle prestazioni quando si esegue una query su un database NoSQL. Non c'è bisogno di eseguire costose join!! Sono altamente scalabili e affidabili e progettati per funzionare in un ambiente distribuito.
Tipi di database NoSQL
Ora che sappiamo cos'è un database NoSQL, esploriamo i diversi tipi di database NoSQL in questa sezione.
1. Database NoSQL basati su documenti
Las bases de datos basadas en documentos almacenan los datos en objetos JSONJSON, o Notazione degli oggetti JavaScript, Si tratta di un formato di scambio dati leggero e facile da leggere e scrivere per gli esseri umani, e facile da analizzare e generare per le macchine. Viene comunemente utilizzato nelle applicazioni Web per inviare e ricevere informazioni tra un server e un client. La sua struttura si basa su coppie chiave-valore, rendendolo versatile e ampiamente adottato nello sviluppo di software... Ogni documento ha coppie chiave-valore come strutture:
I database basati su documenti sono facili per gli sviluppatori, Poiché il documento viene mappato direttamente agli oggetti, poiché JSON è un formato di dati molto comune utilizzato dagli sviluppatori web. Sono molto flessibili e ci permettono di modificare la struttura in qualsiasi momento.
Esempi di database basati su documenti includono MongoDB, Orient DB e BaseX.
2. Database di valori-chiave
Come suggerisce il nome, Memorizza i dati come coppie chiave-valore. Qui, Le chiavi e i valori possono essere qualsiasi cosa, come stringhe, Interi o anche oggetti complessi. Sono altamente divisibili e sono i migliori in scala orizzontale.. Pueden ser realmente útiles en aplicaciones orientadas a sesiones donde intentamos capturar el comportamiento del cliente en una sessioneIl "Sessione" È un concetto chiave nel campo della psicologia e della terapia. Si riferisce a un incontro programmato tra un terapeuta e un cliente, dove si esplorano i pensieri, Emozioni e comportamenti. Queste sessioni possono variare in durata e frequenza, e il suo scopo principale è quello di facilitare la crescita personale e la risoluzione dei problemi. L'efficacia delle sessioni dipende dalla relazione tra il terapeuta e il terapeuta.. in particolare.
Alcuni degli esempi sono DynamoDB, Redis e Aerospike.
3. Database estesi basati su colonne
Questo database memorizza i dati in record simili a qualsiasi database relazionale, ma ha la capacità di memorizzare un gran numero di colonne dinamiche. Raggruppa le colonne in modo logico in famiglie di colonne.
Ad esempio, in un database relazionale, ha più tabelle, ma in un database basato su colonne larghe, invece di avere più tabelle, Abbiamo diverse famiglie di colonne.
Ecco una buona risorsa per ulteriori informazioni sui database basati su colonne:
https://www.youtube.com/watch?v=w_B0AKMaRzE
Esempi popolari di questo tipo di database sono Cassandra e HBase.
4. Database basati su grafici
Archiviare i dati sotto forma di nodi e bordi. La parte del nodoNodo è una piattaforma digitale che facilita la connessione tra professionisti e aziende alla ricerca di talenti. Attraverso un sistema intuitivo, Consente agli utenti di creare profili, condividere esperienze e accedere a opportunità di lavoro. La sua attenzione alla collaborazione e al networking rende Nodo uno strumento prezioso per chi vuole ampliare la propria rete professionale e trovare progetti in linea con le proprie competenze e obiettivi.... de la base de datos almacena información sobre las entidades principales como personas, posti, prodotti, eccetera., e la parte dei bordi memorizza le relazioni tra di loro. Questi funzionano meglio quando è necessario capire la relazione o il modello tra i punti dati., come social network, Motori di raccomandazione, eccetera.
Alcuni degli esempi sono Neo4j, Amazon Neptune, eccetera.
Ora, Diamo un'occhiata ad alcuni dei database NoSQL e alle loro funzionalità.
Elenco dei diversi database NoSQL
1. MongoDB
MongoDB è il database basato su documenti più utilizzato. Archiviare documenti in oggetti JSON.
Secondo il sito web stackshare.io, più di 3400 le aziende utilizzano MongoDB nel loro stack tecnologico. Uber, Google, eBay, Nokia, Coinbase sono alcuni di loro.
Quando usare MongoDB?
- Nel caso in cui si preveda di integrare centinaia di fonti di dati diverse, Il modello basato su documenti di MongoDB sarà una scelta eccellente, in quanto fornirà una visione unica e unificata dei dati.
- Quando si prevedono molte operazioni di lettura e scrittura dall'applicazione, Ma non ti interessa molto che alcuni dei dati vengano persi nel crash del server
- È possibile utilizzarlo per archiviare i dati clickstream e utilizzarli per l'analisi del comportamento dei clienti
Se vuoi iniziare con MongoDB, Ti consiglio di leggere i seguenti articoli:
2. Cassandra
Cassandra è un sistema di database distribuito open source inizialmente costruito da Facebook (e alimentato dal Big Table di Google). È ampiamente disponibile e abbastanza scalabile. Può gestire petabyte di informazioni e migliaia di richieste simultanee al secondo.
Un'altra volta, secondo stackshare.io, più di 400 le aziende utilizzano Cassandra nel loro stack tecnologico. Facebook, Instagram, Netflix, Spotify, Coursera sono alcuni di loro.
Quando usare Cassandra?
- Quando il caso d'uso richiede più operazioni di scrittura che di lettura
- In situazioni in cui è necessaria più disponibilità che coerenza. Ad esempio, Puoi usarlo per i siti Web di social media, ma non puoi usarlo per scopi bancari.
- Sono necessari meno join e aggregazioni nelle query di database
- Monitoraggio della salute, Dati meteo, Il monitoraggio degli ordini e i dati delle serie temporali sono alcuni validi casi d'uso in cui è possibile utilizzare i database di Cassandra..
3. ElasticSearch
Questo è anche un sistema di database NoSQL distribuito open source. È altamente scalabile e coerente. Puoi anche chiamarlo come Motore analitico. Puoi analizzare, Archivia e cerca facilmente grandi volumi di dati.
Se la ricerca full-text fa parte del tuo caso d'uso, ElasticSearch sarà la scelta migliore per il tuo stack tecnologico. Permette anche la ricerca con corrispondenza approssimativa.
Più di 3000 le aziende utilizzano Elasticsearch nel loro stack tecnologico, incluso Slack, Udemy, Medium e Stackoverflow.
Quando utilizzare ElasticSearch?
- Se il tuo caso d'uso richiede una ricerca full-text, Elasticsearch sarà l'opzione migliore
- Se il tuo caso d'uso coinvolge chatbot in cui questi bot risolvono la maggior parte delle query, come quando una persona scrive qualcosa, C'è un'alta probabilità di errori di ortografia. Puoi utilizzare le pratiche di corrispondenza fuzzy integrate di Elasticsearch
- Cosa c'è di più, ElasticSearch è utile per archiviare i dati di log e analizzarli.
4. Amazon DynamoDB
Si tratta di un sistema di database distribuito basato su coppie chiave-valore create da Amazon e altamente scalabile. Ma, purtroppo, Non open source. Può essere facilmente gestito 10 Miliardi di richieste al giorno per capire perché.
Più di 700 le aziende utilizzano DynamoDB nel loro stack tecnologico, incluso Snapchat, Lyft e Samsung.
Quando utilizzare DynamoDB?
- Nel caso in cui si stia cercando un database in grado di gestire semplici query chiave-valore, Ma queste consultazioni sono molto numerose..
- Nel caso in cui si stia lavorando con un carico di lavoro OLTP, come la prenotazione di biglietti online o bancari, dove i dati devono essere molto coerenti
5. HBase
È anche un sistema di database distributivo open source altamente scalabile. HBase se escribió en JAVA y se ejecuta sobre el sistema de archivos distribuidoUn sistema de archivos distribuido (DFS) permite el almacenamiento y acceso a datos en múltiples servidores, facilitando la gestión de grandes volúmenes de información. Este tipo de sistema mejora la disponibilidad y la redundancia, ya que los archivos se replican en diferentes ubicaciones, lo que reduce el riesgo de pérdida de datos. Cosa c'è di più, permite a los usuarios acceder a los archivos desde distintas plataformas y dispositivos, promoviendo la colaboración y... l'Hadoop (HDFSHDFS, o File system distribuito Hadoop, Si tratta di un'infrastruttura chiave per l'archiviazione di grandi volumi di dati. Progettato per funzionare su hardware comune, HDFS consente la distribuzione dei dati su più nodi, garantire un'elevata disponibilità e tolleranza ai guasti. La sua architettura si basa su un modello master-slave, dove un nodo master gestisce il sistema e i nodi slave memorizzano i dati, facilitare l'elaborazione efficiente delle informazioni..).
Più di 70 le aziende utilizzano Hbase nel loro stack tecnologico, come Escursione, Pinterest e HubSpot.
Quando usare HBase?
- È necessario disporre di almeno petabyte di dati da elaborare. Se il volume di dati è ridotto, Non otterrai i risultati desiderati
- Se il tuo caso d'uso richiede un accesso casuale e in tempo reale ai dati, HBase sarà la scelta giusta.
- Se vuoi archiviare facilmente messaggi in tempo reale per miliardi di persone
Note finali
Questo non è affatto un elenco esaustivo. Ci sono più database NoSQL, Ma questi sono i più utilizzati nel settore.
Se hai lavorato con uno di questi database o qualsiasi altro database NoSQL, fammi sapere nella sezione commenti qui sotto. Mi piacerebbe conoscere la tua esperienza!!
C'è molta differenza tra la scienza dei dati che apprendiamo nei corsi e nella pratica personale e quella con cui lavoriamo nell'industria. Ti consiglio di seguire i seguenti corsi gratuiti cristallini per capire tutto sull'analisi, apprendimento automatico e intelligenza artificiale:
- Introduzione al corso gratuito di intelligenza artificiale / ML | App per dispositivi mobili
- Introduzione all'app mobile AI / ML per i leader aziendali
- Corso introduttivo gratuito di analisi aziendale | App per dispositivi mobili