Message DB est une implémentation du minimum de fonctionnalités essentielles des applications événementielles, à l'architecture de service et au traitement des flux, mais sans les frais généraux liés à l'exploitation d'une infrastructure à grande échelle. Selon l’équipe du projet Eventide, vous pouvez utiliser Message DB lorsque vous souhaitez profiter des avantages de l'architecture événementielle, mais que vous ne voulez pas ou n'avez pas besoin des compromis des technologies natives à l'échelle super-massive, comme les clusters Event Store ou Kafka.
Selon sa documentation, Message DB s'appuie sur la technologie de stockage de données éprouvée que vous connaissez déjà et en laquelle vous avez confiance, soutenue par d'innombrables options de cloud et d'hébergement comme AWS, Google et Heroku. Message DB prend en charge la lecture et l'écriture d'événements et de commandes dans les flux et les catégories, Pub/Sub, l'échelle horizontale à travers les groupes de consommateurs et la protection de la concurrence via les écritures avec un numéro de séquence attendu.
En d’autres mots, il donne accès à des fonctions permettant d'écrire des messages dans des flux et de lire des messages provenant de flux d'entités et de catégories. Les messages sont stockés dans un seul tableau. Il prend également en charge un mécanisme de clé d'idempotence, les écritures sérialisées, l'analyse des noms de flux et de nombreuses autres fonctionnalités. Selon l’équipe de développement, Message DB peut être installé sous la forme d'un paquet Ruby Gem, d'un paquet NPM, ou peut simplement être cloné à partir de son référentiel GitHub.
Message DB propose également une API qui fournit une interface des fonctions du serveur Postgres qui peut être utilisée avec n'importe quel langage de programmation ou via l'outil en ligne de commande psql. L'interaction avec la mémoire sous-jacente via les fonctions du serveur Postgres garantit une écriture et une lecture correctes des messages, flux et catégories. Vous pouvez écrire un message au format JSON dans un flux nommé, en spécifiant éventuellement des métadonnées au format JSON et un numéro de version attendu.
Ensuite, vous pouvez récupérer les messages à partir d'un seul flux, en spécifiant éventuellement la position de départ, le nombre de messages à récupérer et une condition supplémentaire qui sera ajoutée à la clause WHERE de la commande SQL. De même, vous pouvez aussi récupérer les messages d'une catégorie de flux. La référence complète pour l’API est spécifiée sur le dépôt GitHub officiel du projet. Par défaut, le seul tableau de stockage des messages est nommé “message_store”. Un schéma et un rôle d’utilisateur sont aussi créés par défaut et nommés “message_store”.
Message DB est open source et publié sous la licence MIT. Vous pouvez également découvrir plus à son sujet grâce à sa documentation. Voici un aperçu des fonctionnalités de Message DB :
- Pub/Sub ;
- données des messages au format JSON ;
- flux d'événements ;
- catégories de flux ;
- métadonnées ;
- files d'attente de messages ;
- stockage des messages ;
- groupes de consommateurs ;
- hébergeur de service ;
- outils d'administration ;
- rapports ;
- etc.
Sources : Message DB, GitHub
Et vous ?
Qu'en pensez-vous ?
Voir aussi
PostgreSQL 9.5 disponible en téléchargement, le SGBDRO embarque la fonction UPSERT et mise sur le Big Data et la sécurité
PostgREST : un serveur Web autonome qui transforme une base de données PostgreSQL directement en une API RESTfu
Microsoft fait l'acquisition de Citus Data l'extension qui transforme PostgreSQL en une base de données distribuée
PostgreSQL 9.4 mise sur la flexibilité, la scalabilité et les performances. La solution introduit le format JSONB pour cibler le marché du NoSQL