Table des matières:
- Cadres de traitement en temps réel
- Plates-formes de traitement massivement parallèle (MPP)
- Présentation des bases de données NoSQL
Vidéo: The State of Modern Big Data Solutions: Are There Alternatives to Hadoop? | Webinars at Pythian 2024
En passant Hadoop, vous pouvez voir d'autres solutions big data sur l'horizon. Ces solutions permettent de travailler avec de gros volumes de données en temps réel ou d'utiliser des technologies de base de données alternatives pour le traiter et le traiter. Nous vous présentons ici les frameworks de traitement en temps réel, puis les plateformes MPP (Massively Parallel Processing) et enfin les bases de données NoSQL qui vous permettent de travailler avec de gros volumes de données en dehors de l'environnement Hadoop.
Vous devez être conscient de ce que l'on appelle la conformité à l'ACID, courte pour une solitude A , C , I , et D respect de l'acceptabilité. La conformité ACID est une norme qui garantit des transactions de base de données précises et fiables.
Dans les solutions Big Data, la plupart des systèmes de bases de données ne sont pas compatibles ACID, mais cela ne pose pas nécessairement de problème majeur. En effet, la plupart des grands systèmes de données utilisent des systèmes d'aide à la décision (DSS) qui traitent les données de traitement par lot avant que ces données ne soient lues. DSS sont des systèmes d'information utilisés pour le support décisionnel organisationnel. Les DSS non transactionnels ne démontrent aucune exigence de conformité ACID réelle.
Cadres de traitement en temps réel
Parfois, vous devrez peut-être interroger des flux de données volumineux en temps réel … et vous ne pouvez tout simplement pas faire ce genre de chose avec Hadoop. Dans ce cas, utilisez plutôt un framework de traitement en temps réel. Un cadre de traitement en temps réel est, comme son nom l'indique, un cadre capable de traiter les données en temps réel (ou presque en temps réel) sous forme de flux de données et de flux dans le système. Essentiellement, les frameworks de traitement en temps réel sont l'antithèse des frameworks de traitement par lots que vous voyez déployés dans Hadoop.
Les frameworks de traitement en temps réel peuvent être classés dans les deux catégories suivantes:
-
Des frameworks qui réduisent le temps système des tâches MapReduce pour augmenter l'efficacité globale du système: Solutions dans cette catégorie inclut Apache Storm et Apache Spark pour le traitement de flux en temps quasi-réel.
-
Des frameworks qui déploient des méthodes d'interrogation innovantes pour faciliter l'interrogation en temps réel des big data: Parmi les solutions de cette catégorie, citons Dremel de Google, Apache Drill, Shark pour Apache Hive et Impala de Cloudera.
Les frameworks de traitement de flux en temps réel sont très utiles dans une multitude d'industries - des analyses boursières et financières aux optimisations du commerce électronique, en passant par la détection de fraude en temps réel et la logistique des commandes optimisée. Quel que soit le secteur dans lequel vous travaillez, si votre entreprise est affectée par des flux de données en temps réel générés par des humains, des machines ou des capteurs, un cadre de traitement en temps réel vous sera utile pour optimiser et générer de la valeur. organisation.
Plates-formes de traitement massivement parallèle (MPP)
Les plates-formes de traitement massivement parallèle (MPP) peuvent être utilisées à la place de MapReduce comme approche alternative pour le traitement de données distribué. Si votre objectif est de déployer un traitement parallèle sur un entrepôt de données traditionnel, un MPP peut être la solution idéale.
Pour comprendre comment MPP se compare à un environnement de traitement parallèle MapReduce standard, tenez compte des éléments suivants. MPP exécute des tâches de calcul parallèle sur du matériel coûteux et personnalisé, tandis que MapReduce les exécute sur des serveurs de base bon marché. Par conséquent, les capacités de traitement MPP sont restrictives des coûts. Cela dit, MPP est plus rapide et plus facile à utiliser que les tâches MapReduce standard. En effet, MPP peut être interrogé à l'aide du langage SQL (Structured Query Language), mais les tâches MapReduce natives sont contrôlées par le langage de programmation Java plus complexe.
Les fournisseurs et produits MPP bien connus incluent la plate-forme Teradata à l'ancienne, ainsi que des solutions plus récentes telles que Greenplum DCA d'EMC 2 , Vertica de HP, Netezza d'IBM et Exadata d'Oracle.
Présentation des bases de données NoSQL
Les systèmes traditionnels de gestion de bases de données relationnelles (SGBDR) ne sont pas équipés pour gérer les grandes demandes de données. En effet, les bases de données relationnelles traditionnelles sont conçues pour gérer uniquement les ensembles de données relationnels constitués de données stockées dans des lignes et colonnes propres et pouvant donc être interrogés via SQL (Structured Query Language).
Les systèmes RDBM ne sont pas capables de gérer des données non structurées et semi-structurées. De plus, les systèmes RDBM n'ont tout simplement pas les capacités de traitement et de gestion nécessaires pour répondre aux exigences de volume et de vitesse de gros volumes de données.
C'est ici qu'intervient NoSQL. Les bases de données NoSQL, comme MongoDB, sont des systèmes de base de données distribués et non relationnels conçus pour relever le défi du Big Data. Les bases de données NoSQL dépassent l'architecture de base de données relationnelle traditionnelle et offrent une solution beaucoup plus évolutive et efficace.
Les systèmes NoSQL facilitent l'interrogation de données non-SQL de données non-relationnelles ou non-schématiques, semi-structurées et non-structurées. De cette manière, les bases de données NoSQL sont capables de gérer les sources de données structurées, semi-structurées et non structurées qui sont communes dans les systèmes Big Data.
NoSQL propose quatre catégories de bases de données non relationnelles: bases de données de graphes, bases de données de documents, banques de valeurs-clés et familles de colonnes. Comme NoSQL offre des fonctionnalités natives pour chacun de ces types de structures de données, il offre des fonctionnalités de stockage et de récupération très efficaces pour la plupart des types de données non relationnelles. Cette adaptabilité et cette efficacité font de NoSQL un choix de plus en plus populaire pour gérer les gros volumes de données et surmonter les problèmes de traitement qui en découlent.
Il y a un débat sur la signification du nom NoSQL. Certains affirment que NoSQL représente Non seulement SQL , tandis que d'autres soutiennent que l'acronyme représente bases de données non SQL . L'argument est plutôt complexe et il n'y a pas de véritable solution miracle.Pour simplifier les choses, il suffit de penser à NoSQL en tant que classe de systèmes de gestion de base de données non relationnelle qui ne font pas partie du spectre des systèmes RDBM qui sont interrogés à l'aide de SQL.