Des bases de données NoSQL que tout data scientist devrait connaître ! 2020!

Contenu

Vue d'ensemble

  • Les bases de données NoSQL sont omniprésentes dans l'industrie: un data scientist doit être familiarisé avec ces bases de données
  • Ici, nous verrons ce qu'est une base de données NoSQL et pourquoi vous devriez en savoir plus.
  • Nous verrons aussi les caractéristiques de 5 différentes bases de données NoSQL.

introduction

Voici quelques conseils que j'aurais aimé que quelqu'un me donne quand j'ai commencé dans la science des données: apprenez tout ce que vous pouvez sur l'utilisation des bases de données.

Voici un bref aperçu de l'endroit où votre connaissance de la base de données entrera en jeu:

  • Vous serez confronté à des questions sur la base de données lors de votre entretien en science des données.
  • Vous travaillerez intensivement avec des bases de données dans votre rôle de data scientist, analyste de données, analyste d'affaires, etc.
  • Vous tirerez parti de votre connaissance des bases de données pour collecter et collecter des données pour votre projet de science des données.

Beaucoup plus!

La vérité incontestable est que nous générons actuellement des données à un rythme et à une échelle sans précédent.. Le simple fait que plus de 8.500 tweets y 900 les photos sur Instagram en une seconde m'étonnent. Halluciner l'esprit: Comment les bases de données d'aujourd'hui gèrent-elles de tels volumes de données?

different-nosql-databases-6197427

Pour gérer cette grande quantité de données, nous avons besoin d'un système de base de données distribué qui peut exécuter plusieurs nœuds et est également tolérant aux partitions. Cela signifie que même si l'un des nœuds tombe en panne pour une raison quelconque, le système devrait fonctionner sans problème. Donc la tolérance de partition est un must. À présent, d'après le théorème CAP, nous ne pouvons pas avoir de tolérance de partition, disponibilité et cohérence les trois à la fois.

Il faut négocier entre disponibilité et cohérence. Par exemple, dans une application bancaire, un client devrait voir le solde correct, peu importe d'où il accède. Les résultats peuvent être retardés de quelques secondes, mais ils doivent être très cohérents.

Dans cet article, nous verrons différents types de bases de données NoSQL, ses caractéristiques et quand utiliser chaque type de base de données.

Table des matières

  1. Qu'est-ce qu'une base de données NoSQL?
  2. Types de bases de données NoSQL
    1. Base de données documentaire
    2. Base de données de valeurs-clés
    3. Base de données basée sur de larges colonnes
    4. Base de données basée sur des graphiques
  3. Différentes bases de données NoSQL
    1. MongoDB
    2. Cassandre
    3. Recherche élastique
    4. Amazon DynamoDB
    5. HBase

Qu'est-ce qu'une base de données NoSQL?

Ensuite, Qu'est-ce qu'une base de données NoSQL?

Vous avez peut-être entendu des gens dire qu'une base de données NoSQL est une base de données non relationnelle qui n'a aucune relation entre les données. Bon, Ce n'est pas vrai du tout. Ils peuvent également stocker la relation entre les données mais d'une manière différente.

On peut dire ça “NoSQL” ça veut dire “Pas de SQL seul”. Ici, les données ne sont pas réparties sur plusieurs tables, car ils permettent à toutes les données qui sont liées de quelque manière que ce soit, dans une seule structure de données. Lorsque vous travaillez avec une grande quantité de données, vous n'avez pas à vous soucier des décalages de performances lors de l'interrogation d'une base de données NoSQL. Pas besoin d'exécuter des joints coûteux! Ils sont hautement évolutifs et fiables et sont conçus pour fonctionner dans un environnement distribué..

Types de bases de données NoSQL

Maintenant que nous savons ce qu'est une base de données NoSQL, explorons les différents types de bases de données NoSQL dans cette section.

1. Bases de données NoSQL basées sur des documents

Les bases de données basées sur des documents stockent des données dans des objets JSON. Chaque document a des paires clé-valeur comme structures:

capture d

Les bases de données basées sur des documents sont faciles pour les développeurs, puisque le document correspond directement aux objets, puisque JSON est un format de données très courant utilisé par les développeurs Web. Ils sont très flexibles et nous permettent de modifier la structure à tout moment.

capture d

Quelques exemples de bases de données basées sur des documents sont MongoDB, Orienter la base de données et BaseX.

2. Bases de données clé-valeur

Comme le nom le suggère, stocke les données sous forme de paires clé-valeur. Ici, les clés et les valeurs peuvent être n'importe quoi, comme des chaînes, des nombres entiers ou même des objets complexes. Ils sont hautement divisibles et sont les meilleurs à l'échelle horizontale. Ils peuvent être très utiles dans les applications orientées session où nous essayons de capturer le comportement du client dans une session particulière..

Certains des exemples sont DynamoDB, Redis et Aerospike.

3. Bases de données étendues basées sur des colonnes

Cette base de données stocke les données dans des enregistrements similaires à n'importe quelle base de données relationnelle, mais il a la capacité de stocker un grand nombre de colonnes dynamiques. Regroupe logiquement les colonnes en familles de colonnes.

Par exemple, dans une base de données relationnelle, a plusieurs tables, mais dans une large base de données basée sur des colonnes, au lieu d'avoir plusieurs tables, nous avons plusieurs familles de colonnes.

Voici une bonne ressource pour plus d'informations sur les bases de données basées sur des colonnes:

https://www.youtube.com/watch?v=w_B0AKMaRzE

Cassandra et HBase sont des exemples populaires de ce type de base de données..

4. Bases de données basées sur des graphes

Ils stockent les données sous forme de nœuds et d'arêtes. La partie nœud de la base de données stocke des informations sur les entités principales en tant que personnes, endroits, produits, etc., et la partie bords stocke les relations entre eux. Ceux-ci fonctionnent mieux lorsque vous avez besoin de comprendre la relation ou le modèle entre vos points de données, comme un réseau social, moteurs de recommandation, etc.

Certains des exemples sont Neo4j, Amazon Neptune, etc.

À présent, Jetons un coup d'œil à certaines des bases de données NoSQL et à leurs fonctionnalités.

Liste des différentes bases de données NoSQL

1. MongoDB

MongoDB est la base de données documentaire la plus utilisée. Stocker des documents dans des objets JSON.

mongo-db-logo-7843472

Selon le site stackshare.io, plus de 3400 les entreprises utilisent MongoDB dans leur pile technologique. Uber, Google, eBay, Nokia, Coinbase en fait partie.

Quand utiliser MongoDB?

  1. Si vous prévoyez d'intégrer des centaines de sources de données différentes, Le modèle basé sur les documents de MongoDB sera un excellent choix, car il fournira une vue unifiée unique des données.
  2. Lorsque vous attendez beaucoup d'opérations de lecture et d'écriture de votre application, mais peu vous importe que certaines données soient perdues lors du crash du serveur
  3. Vous pouvez l'utiliser pour stocker les données de flux de clics et l'utiliser pour l'analyse du comportement des clients

Si vous voulez commencer avec MongoDB, Je vous recommande de lire les articles suivants:

2. Cassandre

Cassandra est un système de base de données distribué open source qui a été initialement construit par Facebook (et motivé par la Grande Table de Google). Il est largement disponible et assez évolutif. Peut gérer des pétaoctets d'informations et des milliers de requêtes simultanées par seconde.

279px-cassandra_logo-svg_-2992395

Une fois de plus, selon stackshare.io, plus de 400 les entreprises utilisent Cassandra dans leur pile technologique. Facebook, Instagram, Netflix, Spotify, Coursera en font partie.

Quand utiliser Cassandre?

  1. Lorsque votre cas d'utilisation nécessite plus d'opérations d'écriture que de lecture
  2. Dans les situations où vous avez besoin de plus de disponibilité que de cohérence. Par exemple, vous pouvez l'utiliser pour les sites Web de médias sociaux, mais vous ne pouvez pas l'utiliser à des fins bancaires.
  3. Vous avez besoin de moins de jointures et d'agrégations dans vos requêtes de base de données
  4. Traqueurs de santé, données météorologiques, le suivi des commandes et les données de séries chronologiques sont de bons cas d'utilisation où vous pouvez utiliser les bases de données Cassandra.

3. Recherche élastique

Il s'agit également d'un système de base de données NoSQL distribué open source. Il est hautement évolutif et cohérent. Vous pouvez également l'appeler comme Moteur analytique. Peut analyser, stocker et rechercher facilement de gros volumes de données.

Si la recherche en texte intégral fait partie de votre cas d'utilisation, ElasticSearch sera la meilleure option pour votre pile technologique. Il permet même la recherche de correspondance floue.

1280px-elasticsearch_logo-svg_-7590200

Plus de 3000 les entreprises utilisent Elasticsearch dans leur pile technologique, inclus Slack, Udemy, Moyen et Stackoverflow.

Quand utiliser ElasticSearch?

  1. Si votre cas d'utilisation nécessite une recherche en texte intégral, Elasticsearch sera la meilleure option
  2. Si votre cas d'utilisation implique des chatbots où ces robots résolvent la plupart des requêtes, comme quand une personne écrit quelque chose, il y a de fortes chances de fautes d'orthographe. Vous pouvez utiliser les pratiques de correspondance floue intégrées d'ElasticSearch
  3. En outre, ElasticSearch est utile pour stocker les données de journal et les analyser.

4. Amazon DynamoDB

Il s'agit d'un système de base de données distribué basé sur des paires clé-valeur créées par Amazon et hautement évolutif. Mais, Malheureusement, pas open source. Peut facilement gérer 10 des milliards de demandes par jour pour que vous compreniez pourquoi.

amazon-dynamodb-logo-300x150-1-4826258

Plus de 700 les entreprises utilisent DynamoDB dans leur pile technologique, y compris Snapchat, Soulevez et Samsung.

Quand utiliser DynamoDB?

    1. Si vous recherchez une base de données capable de gérer des requêtes clé-valeur simples, mais ces requêtes sont très nombreuses.
    2. Si vous travaillez avec une charge de travail OLTP, comme la réservation de billets en ligne ou les services bancaires, où les données doivent être très cohérentes

5. HBase

C'est également un système de base de données distributive open source hautement évolutif. HBase a été écrit en JAVA et s'exécute sur le système de fichiers distribué Hadoop (HDFS).

apache_hbase-logo-vin_-300x200-9488359

Plus de 70 les entreprises utilisent Hbase dans leur pile technologique, côme randonnée, Pinterest et HubSpot.

Quand utiliser HBase?

  1. Vous devez avoir au moins pétaoctets de données à traiter. Si votre volume de données est petit, vous n'obtiendrez pas les résultats souhaités
  2. Si votre cas d'utilisation nécessite un accès en temps réel et aléatoire aux données, HBase sera le bon choix.
  3. Si vous souhaitez stocker facilement des messages en temps réel pour des milliards de personnes

Remarques finales

Ce n'est en aucun cas une liste exhaustive. Il y a plus de bases de données NoSQL, mais ce sont les plus utilisés dans l'industrie.

Si vous avez travaillé avec l'une de ces bases de données ou toute autre base de données NoSQL, Laissez-moi savoir dans la section commentaire ci-dessous. J'aimerais entendre parler de votre expérience!

Il y a beaucoup de différence entre la science des données que nous apprenons dans les cours et la pratique personnelle et celle avec laquelle nous travaillons dans l'industrie. Je vous recommande de suivre les cours gratuits ci-dessous pour tout comprendre sur l'analyse, apprentissage automatique et intelligence artificielle:

  1. Introduction au cours gratuit d'IA / ML | Application mobile
  2. Introduction à l'application mobile AI / ML pour les chefs d'entreprise
  3. Cours d'introduction à l'analyse d'affaires gratuit | Application mobile

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.