Unifier le batch et le streaming pour l'intégration de données

intégration_des_données_en_flux

Jusqu'à présent, dans cette série de billets, nous avons présenté les fondements du calcul par lots et en continu, ainsi que certains des frameworks open source destinés au calcul par lots et en continu. L'avantage d'un modèle unifié de programmation par lots et en continu peut se traduire par une plus grande productivité, car les utilisateurs doivent apprendre et maintenir moins d'environnements. Dans certains cas, la réutilisation du code peut également être plus importante, car certains calculs appliqués à la programmation par lots peuvent également être appliqués à la programmation en continu. De même, l'avantage d'un moteur de traitement des données unifié peut réduire la complexité opérationnelle.

Des projets de traitement de données tels que Spark avec Spark Streaming et Flink tentent d'unifier la sémantique des données en mode batch et en mode streaming. Ces moteurs évoluent en termes de performance et de flexibilité, et plusieurs questions doivent donc être résolues en ce qui concerne les tâches d'intégration de données.

  1. Sémantique variable selon les modes : Alors que certains moteurs de traitement de données tentent de devenir universels en termes de batch et de streaming, chaque moteur a une sémantique différente pour le mode batch et le mode streaming. Pour certaines applications, le micro-batching avec Spark Streaming peut être approprié, mais d'autres applications peuvent avoir besoin de traiter chaque message instantanément. En outre, ces moteurs de traitement des données ont des exigences opérationnelles différentes qui peuvent avoir des implications pour le déploiement au sein d'une infrastructure informatique existante.
  2. Robustesse et maturité : Ces moteurs de traitement des données sont encore relativement jeunes en termes de robustesse et de maturité. MapReduce a bénéficié de beaucoup plus d'années d'utilisation en production, de débogage et de développement de logiciels libres. Ainsi, bien que les moteurs émergents soient très prometteurs, il y aura des lacunes dans leur applicabilité et leur stabilité. L'adoption continue de ces moteurs contribuera à accroître la boucle de rétroaction et, en fin de compte, à les rendre plus robustes.
  3. Connectivité de base : Enfin, ces moteurs fournissent des interfaces et des API de niveau relativement bas afin de construire des calculs. Du point de vue de l'intégration, de nombreux types d'opérations peuvent être spécifiés à un niveau plus élevé. En outre, l'intégration concerne à la fois le traitement des données et la connexion à un grand nombre de points d'extrémité différents. Les moteurs de traitement des données n'offrent qu'une connectivité de base aux points d'accès aux données pour un ensemble limité de points d'accès.

Chez SnapLogic, nous constatons que l'unification du batch et du streaming se produit à plusieurs niveaux. Les moteurs de traitement de données émergents fournissent une sémantique unifiée, mais ces moteurs sont trop bas niveau pour une utilisation généralisée de l'intégration de données. Notre plateforme d'intégration élastique s'appuie sur un moteur de traitement de données unifié, tout en fournissant un modèle de programmation de haut niveau pour l'interfaçage avec plusieurs types de moteurs. Les entreprises peuvent ainsi tirer parti des moteurs hybrides modernes et connecter leurs points d'extrémité de données à l'aide d'un modèle de programmation visuel de haut niveau.

Prochaines étapes :

Catégorie : Intégration

Nous recrutons !

Découvrez votre prochaine grande opportunité de carrière.