Nous constatons souvent un bond apparemment soudain dans l'utilisation et les progrès technologiques connexes simplement parce que ce qui était autrefois irréalisable est aujourd'hui pratique. L'augmentation des applications Big Data suit de près la diffusion de l'informatique en nuage. Voyons ce qu'est le Big Data, pourquoi il est important aujourd'hui et comment il a évolué en tandem avec les bases de données NoSQL. Lorsque nous parlons de Big Data, nous avons affaire à des quantités massives d'informations que nous pouvons examiner, ou analyser, pour trouver quelque chose de pertinent.
Les Big Data présentent généralement trois caractéristiques, chacune marquée par les 3 V.
- Volume- Nous disposons d'un grand nombre de données.
- Vélocité- Nos données arrivent rapidement.
- Variété- Nos données se présentent sous différentes formes.
Voyons comment nous obtenons autant de données, quels sont les types de données et la valeur que nous pouvons en tirer.
Tirer des conclusions
Nous avons besoin de grands ensembles de données pour trouver des modèles sous-jacents, car les petits ensembles de données ne sont pas fiables pour représenter le monde réel. Imaginez que vous fassiez un sondage auprès de 10 personnes : huit d'entre elles ont des téléphones Android, deux ont des iPhones. Avec ce petit échantillon, vous pourriez extrapoler qu'Apple ne détient qu'une part de marché de 20 %. Ce n'est pas une bonne représentation du monde réel.
Il est également important d'obtenir des informations à partir de données démographiques et géographiques multiples. Une enquête menée auprès de 10 personnes de Philadelphie, en Pennsylvanie, ne nous apprend pas grand-chose sur le monde, les États-Unis ou même l'État de Pennsylvanie dans son ensemble. En bref, pour obtenir des données fiables et de qualité, il faut en avoir beaucoup. Plus l'étude est vaste, plus nous pouvons la décomposer et en tirer des conclusions.
Faisons passer notre enquête de 10 à 100 et enregistrons également l'âge des participants. Nous recueillons désormais davantage de données à partir d'un échantillon plus important. Disons que les résultats montrent que 40 personnes ont des téléphones Android et 60 des iPhones. Il s'agit encore d'un très petit échantillon, mais nous pouvons constater qu'une multiplication par 10 du nombre de participants a entraîné une variation significative de 80 points dans nos résultats. Mais il ne s'agit là que d'un seul champ de données de notre ensemble. Étant donné que nous avons enregistré l'âge de nos participants ainsi que leur choix de téléphone, nous pourrions constater que les groupes âgés de 10 à 20 ans ou de 21 à 30 ans présentent un ratio très différent.
Tout tourne autour de l'algorithme
Le Big Data nous amène à traiter d'importants volumes de données qui nous parviennent rapidement et dans des formats variés. À partir de ces données, nous sommes en mesure de trouver des modèles sous-jacents qui nous permettent de créer des modèles précis qui reflètent le monde réel. Quelle est l'importance de ces modèles ? Des modèles précis nous permettent de faire des prédictions et de développer ou d'améliorer des algorithmes.
L'exemple le plus courant de Big Data à l'œuvre dans notre vie quotidienne est une chose simple et parfois controversée : les moteurs de recommandation. "Si vous aimez X, vous aimerez probablement Y aussi ! C'est certainement utile du point de vue du marketing et de la publicité, mais c'est loin d'être le seul cas d'utilisation. Le Big Data et les algorithmes sont à la base de tout, des voitures autonomes à la détection précoce des maladies.
Dans notre court exemple de collecte de données, nous nous sommes arrêtés à 100 personnes, mais si vous voulez vraiment de bonnes données, vous avez besoin de milliers ou de millions de sources avec une multitude d'attributs différents. Il ne s'agirait toujours pas de "Big Data", même si nous élargissions la taille de l'échantillon et mettions en place un système d'ingestion rapide des résultats. Il nous manquerait l'un des trois V, la variété, et c'est de là que provient l'essentiel de nos données.
Variétés de données
Nous pouvons classer le type de données que nous collectons en trois catégories de base : Structurées, semi-structurées et non structurées. Les données structurées sont similaires à notre enquête ci-dessus. Nous disposons d'un schéma prédéfini et nos données s'inscrivent dans une structure rigide. Ce type de données convient parfaitement aux SGBDR utilisant SQL, car ils sont conçus pour travailler avec des lignes et des colonnes. En dehors des bases de données SQL, les données structurées comprennent généralement les fichiers csv et les feuilles de calcul.
La grande majorité des données existantes proviennent d'un grand nombre de sources différentes, issues de nos activités quotidiennes, et ce de différentes manières. Publications sur les médias sociaux, historique des achats, navigation et cookies : Chaque action peut permettre d'établir le profil d'un individu avec de nombreux attributs tels que l'âge, le lieu de résidence, le sexe, la situation de famille, etc. Nous ne faisons qu'effleurer la surface ici, mais il suffit de se concentrer sur ce qui suit : les industries collectent beaucoup de données pour tirer des conclusions précises et une grande majorité de ces données ne sont pas dans des formats prédéfinis et structurés. Pour le Big Data, nous travaillons généralement avec des formes de données semi-structurées et non structurées.
Les journaux d'application ou les courriers électroniques sont des exemples de données semi-structurées. Nous les appelons semi-structurées parce que, bien qu'elles ne se présentent pas sous forme de lignes et de colonnes rigides, il existe un modèle général de formatage de ces données. Les deux types de fichiers les plus courants pour les données semi-structurées sont JSON et XML. Les données non structurées peuvent être presque tout ce qui n'est pas structuré ou semi-structuré et, comme nous pouvons l'imaginer, elles constituent la grande majorité de nos données. Parmi les exemples courants de données non structurées, citons les messages sur les médias sociaux, les fichiers audio et vidéo, les images et autres documents.
Notre enquête téléphonique fonctionne toujours comme une démonstration analytique : plus nous avons de données, plus nos conclusions reflètent fidèlement le monde réel, mais pour obtenir plus de données, nous devons disposer d'un système capable d'ingérer plus que des données structurées. C'est là que les bases de données NoSQL entrent en jeu.
Big Data et NoSQL
Le concept de "big data" est connu depuis les années 1980 et, comme de nombreuses technologies à croissance rapide, il a fait un grand pas en avant au milieu des années 2000. Une étape importante a été franchie lorsque Apache a publié Hadoop en 2006. Hadoop est un logiciel libre conçu pour traiter de manière fiable de grands ensembles de données.
Parmi ses principaux composants figurent HDFS(Hadoop Distributed File System) et YARN(Yet Another Resource Negotiator). HDFS est un système de fichiers rapide et tolérant aux pannes, tandis que YARN s'occupe de la planification des tâches et de la gestion des ressources. Dans la plupart des cas, HBase, une base de données non relationnelle orientée colonnes, s'exécute au-dessus de HDFS. HBase correspond à la définition large de NoSQL, mais il est suffisamment différent des autres bases de données populaires pour ne pas figurer sur les mêmes listes que MongoDB ou Cassandra (un autre projet Apache ).
HBase, en tandem avec HDFS, peut stocker des quantités massives de données en milliards de lignes et prend en charge les données éparses. Cependant, il n'est pas sans limites. HBase dépend de HDFS, a des exigences matérielles élevées et ne dispose pas d'un langage de requête natif. Contrairement à Mongo et Cassandra, HBase repose également sur une architecture primaire-réplique qui peut entraîner un point de défaillance unique.
Mais dès le début, nous pouvons voir pourquoi les Big Data et NoSQL sont compatibles. Reprenons les Vs.
- Volume- Les Big Data nécessitent une base de données massive, et une base de données massive nécessite une mise à l'échelle horizontale. Les bases de données SQL peuvent, souvent avec d'importantes limitations, évoluer horizontalement, mais c'est là que les bases de données NoSQL sans schéma excellent.
- Vélocité- Les bases de données NoSQL n'ont pas la cohérence et la validation des bases de données SQL, mais elles ont aussi la vitesse d'écriture brute dont nous avons besoin pour ingérer beaucoup de données, rapidement.
- Variété- Le Big Data nécessite un système capable de traiter des données non structurées et les bases de données NoSQL sans schéma comme MongoDB sont bien adaptées à cette tâche.
Les bases de données NoSQL ne sont pas exclusivement utilisées pour les Big Data, mais on comprend pourquoi elles se sont développées en parallèle. Il n'y a aucun signe de ralentissement du Big Data, et la base de données NoSQL MongoDB, lancée en 2009, est l'une des bases de données à la croissance la plus rapide sur le marché.
Commentaires