DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Comment augmenter la qualité des données avec Memphis Schemaverse
    Uncategorized

    Comment augmenter la qualité des données avec Memphis Schemaverse

    février 25, 2023
    Comment augmenter la qualité des données avec Memphis Schemaverse
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    En utilisant Schemaverse, vous forcez les producteurs à produire des messages basés sur la structure donnée en validant chaque message ingéré. Ceci est particulièrement utile si vous travaillez avec plusieurs producteurs. Il vous permet également de mettre en place des standards pour le schéma de votre produit et de faire évoluer votre schéma (En RUN TIME). Découvrons comment l’utilisation de Memphis Schemaverse augmentera la qualité de vos données.

    Qu’est-ce que Memphis ?

    Memphis{dev} est une plate-forme de traitement de données en temps réel open source qui fournit une prise en charge de bout en bout pour les cas d’utilisation de streaming dans l’application à l’aide du courtier de messages distribué Memphis.

    « J’ai mis trois minutes à faire à Memphis ce qui m’a pris une semaine et demie à Kafka.

    Memphis{dev} permet de créer des applications de nouvelle génération qui nécessitent de gros volumes de données en streaming et enrichies, des protocoles modernes, zéro opération, un développement rapide, une réduction extrême des coûts et un temps de développement nettement inférieur pour les développeurs et les ingénieurs de données orientés données.

    Quatre piliers critiques

    • Performances — Utilisation améliorée du cache
    • Résilience — Ne perdez jamais un message et 99,95 % de disponibilité
    • Observabilité — Observabilité prête à l’emploi qui a du sens et réduit le temps de dépannage
    • Expérience développeur — Modularité, traitement en ligne, gestion des schémas, gitops. Fait par des développeurs pour n’importe qui, pas seulement des développeurs.

    Principales caractéristiques de Memphis (actuelles et futures)

    • Un courtier de messages cloud natif distribué
    • Écrit en Golang
    • Interface utilisateur et CLI low-code pour les ingénieurs, les opérations et les équipes produit
    • Centre de surveillance et de notification prêt à l’emploi
    • DLQ
    • Suivi des messages en temps réel
    • Gestion, validation et transformation de schémas
    • Framework de connecteurs réalisé par l’équipe Memphis et la communauté *
    • Enrichissement de flux sans serveur *
    • Sécurité et audit améliorés
    • Balisage d’objet

    Contrats de données

    Contrats de donnéesDans une plateforme de données fédérée, où les responsabilités sont réparties entre les parties prenantes, les équipes et les sources, il est plus difficile de contrôler et d’établir un standard unique. C’est là que le concept de contrats de données entre en jeu. Pourquoi les contrats de données sont-ils importants ? Parce que (a) ils fournissent des informations sur qui possède quels produits de données. (b) ils prennent en charge l’établissement de normes et la gestion de vos pipelines de données en toute confiance. Ils fournissent également des informations cruciales sur les données consommées, par qui et dans quel but. Conclusion : les contrats de données sont essentiels pour une gestion robuste des données !

    Le bloc de construction de base pour contrôler et garantir la qualité des données qui circulent dans votre organisation entre les différents propriétaires consiste à définir des schémas et des modèles de données bien écrits.

    Pourquoi?

    • Les pipelines de données se cassent constamment et créent des problèmes de qualité des données ET de convivialité.
    • Il existe un gouffre de communication entre les implémenteurs de services, les ingénieurs de données et les consommateurs de données.
    • Il existe plusieurs approches pour résoudre ces problèmes, et les ingénieurs de données sont toujours des pionniers dans l’exploration de la frontière des meilleures pratiques futures.

    Formats : un aperçu rapide des formats les plus populaires

    • Protobuf
      Le moderne. Les tampons de protocole sont le mécanisme extensible indépendant de la langue, de la plate-forme et de la sérialisation des données structurées de Google – pensez XML, mais plus petit, plus rapide et plus simple.
    • Avro
      La populaire. Apache Avro™ est le principal format de sérialisation pour les données d’enregistrement et le premier choix pour les pipelines de données en continu. Il offre une excellente évolution de schéma.
    • JSON
      Le plus simple. JSON Schema est un vocabulaire qui permet d’annoter et de valider des documents JSON.

    Processus de sérialisation

    La sérialisation convertit un objet de données – une combinaison de code et de données – en une série d’octets qui enregistre l’état de l’objet sous une forme facilement transmissible. Le processus inverse est appelé désérialisation. La sérialisation est essentiellement représentée comme une fonction, chaque format de données avec sa propre implémentation, et dans le cas où la structure et le contenu d’une donnée donnée ne correspondent pas au schéma défini dans la structure .proto/.avro/.json, le processus de sérialisation échoue, et par conséquent, le message ne sera pas envoyé au courtier. Ce processus établit la validation initiale du message avant qu’il n’atteigne le courtier lui-même, en utilisant le cache client pour stocker le schéma localement.

    Memphis Schemavers

    Memphis Schemaverse fournit un magasin de schémas robuste et une couche de gestion de schémas au-dessus du courtier Memphis sans calcul autonome ni ressources dédiées. Avec une interface utilisateur unique et moderne et une approche programmatique, les utilisateurs techniques et non techniques peuvent créer et définir différents schémas, attacher le schéma à plusieurs stations et choisir si le schéma doit être appliqué ou non. L’approche low-code de Memphis supprime la partie de sérialisation car elle est intégrée dans la bibliothèque du producteur. Schemaverse prend en charge la gestion des versions, les méthodologies GitOps et l’évolution des schémas.

    Comprend également

    • Excellente interface utilisateur et approche programmatique
    • Intégrer au courtier
    • Application de la confiance zéro
    • Gestion des versions
    • Surveillance prête à l’emploi
    • Schémas d’importation et d’exportation
    • Validation et sérialisation à faible/sans code
    • Aucune configuration nécessaire
    • Prise en charge native de Python, Go, Node.js

      vue d'ensemble de l'inverse du schéma
      Gestion des schémas
      Les partenaires

    Commencer

    Étape 1 : créer un nouveau schéma (actuellement uniquement disponible via Memphis Gui)

    Aucun schéma trouvé

    Créer un schéma
    Étape 2 : Joindre le schéma

    Dirigez-vous vers votre station, et dans le coin supérieur gauche, cliquez sur « + Joindre un schéma »

    Attacher le schéma

    partenaires-marketing.prod

    Étape 3 : Exemple de code dans Node.js

    Memphis fait abstraction du besoin de fonctions de sérialisation externes et les intègre dans le SDK.

    Producteur (exemple Protobuf)

    const memphis = require("memphis-dev");
    var protobuf = require("protobufjs");
    
    (async function () {
        try {
            await memphis.connect({
                host: "localhost",
                username: "root",
                connectionToken: "*****"
            });
            const producer = await memphis.producer({
                stationName: "marketing-partners.prod",
                producerName: "prod.1"
            });
            var payload = {
                fname: "AwesomeString",
                lname: "AwesomeString",
                id: 54,
            };
            try {
                await producer.produce({
                    message: payload
            });
            } catch (ex) {
                console.log(ex.message)
            }
        } catch (ex) {
            console.log(ex);
            memphis.close();
        }
    })();

    Consommateur (nécessite un fichier .proto pour décoder les messages)

    const memphis = require("memphis-dev");
    var protobuf = require("protobufjs");
    
    (async function () {
        try {
            await memphis.connect({
                host: "localhost",
                username: "root",
                connectionToken: "*****"
            });
    
            const consumer = await memphis.consumer({
                stationName: "marketing",
                consumerName: "cons1",
                consumerGroup: "cg_cons1",
                maxMsgDeliveries: 3,
                maxAckTimeMs: 2000,
                genUniqueSuffix: true
            });
    
            const root = await protobuf.load("schema.proto");
            var TestMessage = root.lookupType("Test");
    
            consumer.on("message", message => {
                const x = message.getData()
                var msg = TestMessage.decode(x);
                console.log(msg)
                message.ack();
            });
            consumer.on("error", error => {
                console.log(error);
            });
        } catch (ex) {
            console.log(ex);
            memphis.close();
        }
    })();

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.