An Architecture for Fast and General Data Processing on Large Clusters
Ces dernières années ont été marquées par un changement majeur dans les systèmes informatiques, car l'augmentation des volumes de données et la diminution de la vitesse des processeurs obligent de plus en plus d'applications à évoluer vers des clusters. Aujourd'hui, une myriade de sources de données, de l'internet aux opérations commerciales en passant par les instruments scientifiques, produisent des flux de données importants et précieux. Cependant, les capacités de traitement des machines individuelles n'ont pas suivi l'évolution de la taille des données. Par conséquent, les organisations ont de plus en plus besoin d'étendre leurs calculs sur des clusters.
Dans le même temps, la vitesse et la sophistication requises pour le traitement des données ont augmenté. Outre les requêtes simples, les algorithmes complexes tels que l'apprentissage automatique et l'analyse graphique sont de plus en plus courants. Et en plus du traitement par lots, l'analyse en continu des données en temps réel est nécessaire pour permettre aux organisations de prendre des mesures en temps voulu. Les futures plateformes informatiques devront non seulement faire évoluer les charges de travail traditionnelles, mais aussi prendre en charge ces nouvelles applications.
Ce livre, une version révisée de la thèse gagnante du prix ACM Dissertation Award 2014, propose une architecture pour les systèmes de calcul en grappe qui peut s'attaquer aux charges de travail de traitement de données émergentes à l'échelle. Alors que les premiers systèmes de calcul en grappe, comme MapReduce, géraient le traitement par lots, notre architecture permet également le streaming et les requêtes interactives, tout en conservant l'évolutivité et la tolérance aux pannes de MapReduce. De plus, alors que la plupart des systèmes déployés ne prennent en charge que les calculs simples en une passe (par exemple, les requêtes SQL), notre architecture s'étend également aux algorithmes en plusieurs passes requis pour les analyses complexes telles que l'apprentissage automatique. Enfin, contrairement aux systèmes spécialisés proposés pour certaines de ces charges de travail, notre architecture permet de combiner ces calculs, ce qui donne naissance à de nouvelles applications riches qui mélangent, par exemple, le traitement en continu et le traitement par lots.
Nous obtenons ces résultats grâce à une simple extension de MapReduce qui ajoute des primitives pour le partage des données, appelées RDD (Resilient Distributed Datasets). Nous montrons que cette extension est suffisante pour prendre en compte un large éventail de charges de travail. Nous implémentons les RDD dans le système open source Spark, que nous évaluons à l'aide de charges de travail synthétiques et réelles. Spark égale ou dépasse les performances des systèmes spécialisés dans de nombreux domaines, tout en offrant de meilleures propriétés de tolérance aux pannes et en permettant de combiner ces charges de travail. Enfin, nous examinons la généralité des RDD à la fois du point de vue de la modélisation théorique et du point de vue des systèmes.
Cette version de la thèse apporte des corrections tout au long du texte et ajoute une nouvelle section sur l'évolution d'Apache Spark dans l'industrie depuis 2014. En outre, l'édition, le formatage et les liens pour les références ont été ajoutés.
© Book1 Group - tous droits réservés.
Le contenu de ce site ne peut être copié ou utilisé, en tout ou en partie, sans l'autorisation écrite du propriétaire.
Dernière modification: 2024.11.14 07:32 (GMT)