Présentation d'Atlas Stream Processing - Simplifier le chemin vers des applications réactives et event-driven

MongoDB

Aujourd'hui, nous sommes heureux d'annoncer l'avant-première privée (Private Preview) d'Atlas Stream Processing !

Le monde évolue de plus en plus vite et vos applications doivent pouvoir tenir le rythme. Les applications réactives et event-driven donnent vie à des expériences numériques pour vos clients et accélèrent le temps de compréhension et d'action pour l'entreprise. Pensez à :

  • avertir vos utilisateurs dès que l'état de leur livraison change,

  • bloquer les transactions frauduleuses lors du traitement des paiements

  • analyser la télémétrie des capteurs au fur et à mesure qu'elle est générée afin de détecter les défaillances potentielles de l'équipement et d'y remédier avant les pannes coûteuses.

Dans chacun de ces exemples, les données perdent de leur valeur au fil des secondes. Elles doivent être requêtées et faire face à une action en continu et ce avec une faible latence. Pour ce faire, les développeurs se tournent de plus en plus vers des applications event-driven alimentées par des données en continu, de manière à ce qu'elles puissent instantanément réagir et répondre à l'évolution constante du monde qui les entoure. Atlas Stream Processing aidera les développeurs à passer plus rapidement à des applications event-driven.

Au fil des ans, les développeurs ont adopté la base de données MongoDB parce qu'ils apprécient la flexibilité et la facilité d'utilisation de document model, ainsi que l'API de requête MongoDB qui leur permet de travailler avec des données en tant que code. Ces principes fondamentaux éliminent radicalement les frictions liées au développement de logiciels et d'applications. Aujourd'hui, nous appliquons ces mêmes principes aux données en continu. Atlas Stream Processing redéfinit l'expérience des développeurs qui travaillent avec des streams complexes de données à haute vitesse et à évolution rapide, et unifie la façon dont les développeurs travaillent avec des données en mouvement et au repos.

Bien que les produits et technologies existants aient apporté de nombreuses innovations en matière de flux et de traitement des flux, nous pensons que MongoDB est naturellement bien adapté pour aider les développeurs à relever certains défis clés restants. Ces défis comprennent la difficulté de travailler avec des données variables, à fort volume et à grande vitesse, les frais généraux contextuels liés à l'apprentissage de nouveaux outils, langages et API, ainsi que la maintenance opérationnelle supplémentaire et la fragmentation qui peuvent être introduites par des technologies ponctuelles dans des piles d'applications complexes.

Présentation de l'Atlas Stream Processing

Atlas Stream Processing permet de traiter des flux de données complexes à grande vitesse avec quelques avantages uniques pour le développeur :

  • Atlas Stream Processing est basé sur le modèle documentaire, ce qui lui confère une grande souplesse dans le traitement des structures de données imbriquées et complexes qui sont courantes dans les streams d'événements. Cela évite les étapes de prétraitement et permet aux développeurs de travailler de façon intuitive et facile avec des données aux structures complexes. Tout comme la base de données le permet.

  • Cela unifie l'expérience de travail à travers tout type de données, en offrant une plateforme unique - à travers l'API, le langage de requête et les outils - pour traiter des données de streams riches et complexes, parallèlement aux données d'application critiques de votre base de données.

  • Atlas Stream Processing est entièrement managé dans MongoDB Atlas, en s'appuyant sur un définisseur de services intégrés déjà robuste. Quelques appels d'API et quelques lignes de code suffisent pour mettre en place un processeur de flux, une base de données et une couche de service d'API sur l'ensemble des principaux fournisseurs cloud.

  • Atlas Stream Processing est entièrement managé dans MongoDB Atlas, en s'appuyant sur un définisseur de services intégrés déjà robuste. Quelques appels d'API et quelques lignes de code suffisent pour mettre en place un processeur de flux, une base de données et une couche de service d'API sur l'ensemble des principaux fournisseurs cloud.

Comment fonctionne Atlas Stream Processing ?

Atlas Stream Processing se connecte à vos données critiques, qu'elles se trouvent dans MongoDB (via change stream) ou dans une plateforme de streaming comme Apache Kafka. Les développeurs peuvent se connecter facilement et de manière transparente à Confluent cloud, Amazon MSK, Redpanda, Azure Event Hubs, ou à l'auto-managé Kafka en utilisant le protocole Kafka wire. En s'intégrant au pilote Kafka natif, Atlas Stream Processing offre des performances natives à faible latence.

En plus de notre partenariat stratégique de longue date avec Confluent, nous sommes heureux d'annoncer les partenariats avec AWS, Microsoft, Redpanda et Google, dès le lancement.

Atlas Stream Processing fournit ensuite 3 fonctionnalités clés nécessaires pour transformer votre stream de données en une expérience client différenciée. Examinons-les un par un.

Traitement en continu

Tout d'abord, les développeurs peuvent désormais utiliser le modèle d'agrégation de MongoDB pour traiter en continu des flux de données riches et complexes provenant de plateformes de streaming d'événements telles qu'Apache Kafka. Cela ouvre de nouvelles voies puissantes pour le requêtage, l'analyse et l'accès aux données en continu sans aucun des retards inhérents au traitement par lots. Avec modèle d'agrégation, vous pouvez filtrer et grouper les données, agréger les streams d'événements à grande vitesse en informations exploitables sur le temps d'état Windows, ce qui permet d'enrichir les expériences d'application en temps réel.

Validation continue

Ensuite, Atlas Stream Processing offre aux développeurs des mécanismes robustes et natifs pour traiter les problèmes de données incorrectes qui peuvent autrement causer des ravages dans les applications. Les potentiels problèmes comprennent la transmission de résultats inexacts à l'application, la perte de données et les temps d'arrêt de l'application. Atlas Stream Processing résout ces problèmes afin de garantir le traitement et le partage des données en continu de manière fiable entre les applications event-driven.

Atlas Stream Processing :

  • Apporte une validation en continue du schéma afin de vérifier que les événements sont correctement formés avant d'être traités, par exemple en rejetant les événements dont les champs sont manquants ou qui contiennent des plages de valeurs non valides.

  • Détecte l'altération des messages

  • Détecte les données arrivées tardivement qui ont manqué une fenêtre de traitement.

Les pipelines d'Atlas Stream Processing peuvent être configurées avec une Dead Letter Queue (DLQ) dans laquelle les événements qui échouent à la validation sont acheminés. Cela évite aux développeurs d'avoir à construire et à maintenir leurs propres implémentations personnalisées. Les problèmes peuvent être rapidement résolus et le risque que des données manquantes ou corrompues entraînent l'arrêt de l'ensemble de l'application est minimisé.

Fusion continue

Les données traitées peuvent ensuite être matérialisées en continu dans des vues gérées dans des collections de bases de données Atlas. On peut considérer qu'il s'agit d'une requête "push". Les applications peuvent extraire les résultats (via des requêtes) de la vue en utilisant l'API de requête MongoDB ou l'interface Atlas SQL. La fusion continue des mises à jour des collections est un moyen très efficace de maintenir des vues analytiques fraîches des données pour soutenir la prise de décision et l'action humaine et automatisée. Outre les vues matérialisées, les développeurs ont également la possibilité de publier les événements traités dans des systèmes de diffusion en continu tels qu'Apache Kafka.

Création d'un Stream Processor

Nous allons vous montrer à quel point il est facile de construire un processeur de flux dans MongoDB Atlas. Avec Atlas Stream Processing, vous pouvez utiliser la même syntaxe de pipeline d'aggrégation pour un stream processor que celle que vous connaissez pour la base de données. Nous présentons ci-dessous une instance de traitement de stream simple, du début à la fin. Il suffit de quelques lignes de code.

Tout d'abord, nous allons écrire une pipeline d'agrégation qui définit une source pour vos données, effectue une validation pour s'assurer que les données ne proviennent pas de l'adresse IP localhost/​127.0.0.1, crée une fenêtre de basculement pour collecter des données de messages groupés toutes les minutes, puis fusionne ces données nouvellement traitées dans une collection MongoDB dans Atlas.

Ensuite, nous allons créer notre Stream Processor appelé "netattacks" en spécifiant notre pipeline nouvellement définie p ainsi que dlq comme arguments. Ceci lancera le traitement souhaité et, grâce au Dead Letter Queue (DLQ), stocke en toute sécurité les données non valides en vue d'une inspection, d'un débogage ou d'un nouveau traitement ultérieur.

Enfin, nous pouvons le démarrer. C'est tout ce qu'il faut pour construire un stream processor dans MongoDB Atlas.

Demander un aperçu privé

Nous sommes impatients de mettre ce produit entre vos mains et de voir ce que vous en ferez. Pour en savoir plus sur Atlas Stream Processing et demander un accès anticipé ici pour participer à l'aperçu privé une fois qu'il sera ouvert aux développeurs.

Nouveau sur MongoDB ? Commencez gratuitement dès aujourd'hui en créant votre compte MongoDB Atlas.

Sphère de sécurité

Le développement, la publication et le calendrier des caractéristiques ou fonctionnalités décrites pour nos produits demeurent à notre entière discrétion. Cette information est simplement destinée à décrire l'orientation générale des produits et ne doit pas être invoquée pour prendre une décision d'achat, et n'est pas un engagement, une promesse ou une obligation légale de fournir un matériel, un code ou une fonctionnalité.