jeudi 4 avril 2013

Enjeux et idées reçues sur les Big Data



Au delà du buzz autour du Big Data, il y a deux faits incontestables: D'une part, de véritables enjeux techniques se jouent actuellement dans de les entreprises pour appréhender des quantités de données toujours plus importantes. D'autre part, devant le flux d'articles, d'annonces marketing ou autres séminaires, on en viendrait presqu'à croire qu'adresser ces Big Data se règle simplement avec des solutions sur étagère ou quelques heures d'expertise. C'est plus compliqué que cela, et l'histoire ne fait que commencer. 

Technology Hype Cycle - Gartner 2012 (en savoir plus)

Avec plus de 3 exa-octets (3 x 1024 To) de nouvelles données générées par jour, l'IDC (http://www.idc.fr/) estime à plus de 1200 exa-octets la quantité de données qui seront créées au cours de l'année 2013. L'explosion des données numériques a démarré il y a plus d'une décennie, et ceux qui travaillent sur des Big Data savent qu'elles ne se limitent pas aux montagnes de données de Google, Amazon ou encore eBay.


Quelle que soit la taille des entreprises, il y a désormais de nouvelles opportunités pour celles qui maîtrisent la collecte, le traitement et le stockage de Big Data: pour optimiser leur productions, pour développer de nouvelles stratégies commerciales, pour mieux comprendre le monde qui nous entoure ou même tout simplement pour améliorer la vie de tous au quotidien. Un écosystème de solutions riche et mature existe déjà sur ce nouveau marché du Big Data. 



Cependant, ces solutions restent encore réservées à quelques "early adopter". Malgré une littérature  très abondante depuis quelques années, cette nouvelle tendance forte de l'informatique reste pour beaucoup un "Big Mythe" alimenté de quelques d'idées reçues. Ayant actuellement à travailler sur ces sujets dans mon activité professionnelle, je vous propose une synthèse de différentes lectures permettant de définir le Big Data en fonction de ce qu'il n'est pas (ou pas seulement).


Big Data = Volume de données

Même si c'est une des caractéristiques qui définit le Big Data, le Volume est généralement le moins important des 3. Les deux autres étant la Variété et la Vélocité (les 3 "V" du Big Data, théorisés dès 2001 par Gartner's Doug Laney). 

En général, les spécialistes considèrent le peta-octets comme un point de départ, en terme de Volume de données, pour parler de Big Data. Mais il ne s'agit là que d'un ordre de grandeur qui peut beaucoup varier et qui est finalement beaucoup moins discriminant que les deux autres "V".

La Variété fait référence au type et à la nature des fichiers de données qui peuvent être très variables (par exemple son, vidéo, images, documents, données de géolocalisation, fichiers de logs, …). Lorsqu'il s'agit de gérer et d'analyser de manière complète une grande Variété de données, les bases de données relationnelles se révèlent généralement inadaptées et nécessite de trouver d'autres solutions technologiques. La Variété peut donc être beaucoup plus discriminante que le Volume. La Vélocité fait référence à la fréquence de changement des données et au délais pendant lequel ces données peuvent (ou doivent) être utilisées pour rester pertinentes. Les solutions classiques de stockage et d'interrogation de données sont souvent mal adaptées aux données à haute-vélocité, de nouvelles approches sont alors nécessaires. Plus les données sont créées et agrégées de manière rapide, et plus leur analyse se fait dans un court délais, alors la Vélocité est la principale contrainte dans votre problématique de Big Data.


Big Data = Hadoop

Hadoop est le framework logiciel Open-Source Apache permettant de travailler avec des Big Data. Il est dérivé d'une technologie mise au point par Google (MapReduce, GoogleFS et BigTable) et utilisé par la suite par de nombreuses plateformes web comme Yahoo, Facebook, Amazon, eBay,… Cependant, les cas d'usage des Big Data sont trop variés et complexes pour qu'une seule et même technologie constitue la solution systématiquement adéquate. Même si Hadoop est une technologie qui a fait ses preuves dans de multiples projets, elle ne constitue qu'une des trois familles de technologies adaptées au stockage et au traitement des Big Data. Ces deux autres familles étant NoSQL et les entrepôts de données MPP (pour Massively Parallel Processing) tels que HP’s Vertica, EMC’s Greenplum ou IBM’s Netezza.

Au delà de ces considérations, Hadoop est un framework logiciel, ce qui veut dire qu'il contient différents composants spécialement conçus pour résoudre des problèmes de stockage massif et distribué, de filtrage, d'agrégation, d'analyse et d'extraction. Tous ces composants ne sont pas toujours nécessaire pour adresser votre problématique de Big Data et certains des ces composants peuvent parfois être remplacés par d'autres technologies. Un exemple courant c'est l'utilisation de la distribution MapR d'Hadoop dans laquelle le système de fichiers HDFS est remplacé par le NFS pour permettre un accès aléatoire au système de lecture/écriture de fichiers.


Big Data = "Unstructured Data"

Il n'est pas simple de définir ce qu'est une donnée structurée ou non-structurée dans un contexte de Big Data. En effet, les Big Data sont souvent constituées dans un même jeu de données d'une diversité de types de données même si chacun d'eux est structuré. Il convient donc de parler de données "multi-structurées" pour prendre en compte la multitude des types de données qui possède, chacune, leur propre structure.

Toute la différence est donc là. Est-ce que vos données sont réellement non-structurées (ce qui est finalement assez rare) ou (ce qui est plus souvent le cas) vos données ont des types variés mais peuvent s'intégrer après leur collecte dans des schémas de données connus. Par exemple, si vous développez un outil d'évaluation de votre popularité sur le web, vous serez amené à traiter des données de types très variés (résultats de moteurs de recherche, articles de blogs, tweets, messages FaceBook, nouvelles LinkedIn,…) mais dont chacun possède un structure connue et donc modélisable.

Cet article constitue une bonne synthèse des enjeux autour de la gestion de Big Data avec des données structurées et non-structurées.


Big Data = Analyse des flux des médias sociaux

Si votre organisation a besoin d'analyser finement le trafic sur son site web, d'extraire des informations pertinentes des fichiers de logs de son système informatique, de suivre l'évolution de son image auprès de ses clients ou toute sorte de traitement à partir de volumineux jeux de données générés chaque jours, alors les technologies de Big Data offrent des solutions. Effectivement, les pionniers dans ce domaine ont été les grandes entreprises du web opérant des réseaux sociaux (Google, Facebook, Yahoo, …) mais ce qu'il faut retenir c'est que ces solutions radicalement nouvelles qu'ils ont mis en place avaient avant tout pour objectif de dépasser les barrières technologiques liées au Volume, à la Variété et à la Vélocité de leurs données, plus que de permettre l'analyse et la mesure d'audience. Ce dernier aspect n'est qu'une conséquence, une nouvelle opportunité.

Aujourd'hui, l'augmentation de la puissance de nos ressources informatiques (souvent basées sur le Cloud), l'émergence de solutions Open-Source (Apache Hadoop par exemple) et une démarche de collecte nouvelle et systématique des données, offrent des perspectifs à un spectre beaucoup plus large d'entreprises. Les domaines d'utilisation et d'application du Big Data sont désormais très variés. De nombreux retours d'expériences existent aujourd'hui au travers de solutions de Business Analytics (qui inclus souvent du Big Data) dans les domaines du marketing, de l'industrie automobile, de l'assurance, des finances, des télécoms, de l'énergie ou encore de la grande distribution… Parmi d'innombrables articles, je vous recommande celui-ci paru dans Forbes qui propose un éclairage sur les nouvelles opportunités du Big Data dans les entreprises. A voir également cette vidéo sur la compétition des entreprises basées sur la vitesse, dans laquelle le Big Data est une des clés.


NoSQL = No SQL

Définitivement non, NoSQL signifie "Not Only" SQL. Les solutions NoSQL offre des capacités de stockage, de gestion et d'interrogation à des données de types particuliers en plus (et non à la place) du SQL et avec des interface semblables à SQL. On retrouve dans la catégorie NoSQL des technologies très différentes: des bases de données orientées "clé-valeur", des bases de données orientées "colonnes", des bases de données orientées "document", des bases de données de "graphe", des structures de "Big Table" et des systèmes de stockage en cache. 



Ces technologies, spécialisées dans certains types de données, offrent des méthodes natives pour stocker et accéder aux données de manière riche et performante et tout cela souvent au travers d'une API propriétaire. De son coté, l'accès SQL offre l'avantage de son universalité et de sa compatibilité avec de nombreux autres outils, même si il engendre parfois des latences dues à l'interprétation de la requête vers le "langage" natif du système sous-jacent. De nombreuses solutions proposent des interfaces "SQL like" pour faciliter et uniformiser l'accès à des données dans des bases NoSQL (par exemple: Cassandra de Datastax). Je vous recommande également la lecture de cet article "NoSQL vs. SQL, why not use both".


Et le Geospatial dans tout ça ?

Une large partie de nos données sont directement ou indirectement géographiques. Les problématiques de Big Data se retrouvent donc aussi dans les applications geospatiales et c'est un aspect qui m'intéresse au plus au point. Je vous propose donc d'aborder ce sujet dans un prochain article...



Aucun commentaire:

Enregistrer un commentaire