Article
· Mai 6 13m de lecture

Plateforme de données InterSystems IRIS : Аrchitecture

La plateforme de données InterSystems IRIS est à la base de toutes les applications InterSystems, ainsi que de milliers d'applications utilisées par nos clients et partenaires dans des domaines tels que la Santé, les Services financiers, la Chaîne logistique et d'autres écosystèmes. Il s'agit d'une plateforme convergente qui fournit une gestion des données transactionnelles et analytiques, une interopérabilité intégrée, une intégration des données, ainsi que des analyses intégrées et une IA. Elle prend en charge l'approche InterSystems Smart Data Fabric pour la gestion de données diverses et distribuées.

 

Notre architecture repose sur des installations permettant un traitement de données haute performance, multimodèle et multilingue dans notre moteur de données central, également appelé plan de données commun ou Common Data Plane. Tout cela s'appuie sur une infrastructure remarquable qui permet de traiter des volumes de données extrêmement importants et des taux de transaction élevés pouvant atteindre plus d'un milliard d'opérations de base de données par seconde.

Ensuite, deux sous-systèmes majeurs entrent en jeu : l'un axé sur l'analyse et l'intelligence artificielle (IA), l'autre sur l'interopérabilité et l'intégration des données. Ces sous-systèmes suivent notre philosophie fondamentale qui consiste à tout faire fonctionner à proximité des données afin de fournir des performances élevées avec une empreinte minimale.

Enfin, autour des sous-systèmes, nous avons construit une structure de données intelligentes qui permet aux utilisateurs de résoudre des problèmes complexes dans un seul empilement. Les sections suivantes explorent ces couches et leur interaction afin de mieux comprendre ce qui rend la technologie InterSystems IRIS si particulière.

Réputée pour ses performances, la technologie InterSystems repose sur un mécanisme très efficace de stockage de données, d'indexation et d'accès aux données. Contrairement à d'autres fournisseurs de bases de données, nous ne fournissons pas de base de données nativement relationnelle ou documentaire. Nous utilisons un format de stockage sous-jacent appelé globales. Ils sont modélisés dans un format multidimensionnel hautement optimisé, sous forme de tableau, construit comme un arborescence B+ qui est automatiquement indexée à chaque operation.InterSystems.com Construit à un niveau inférieur aux modèles de données (tels que relationnel, objet ou document), un format de stockage unique est projeté dans différents formats et modèles de données. Ceci est appelé Common Data Plane ou plan de données commun.

Le format global sous-jacent est très efficace et peut être traduit dans de nombreux modèles de données différents:

Les variables globales (précédées du préfixe "^") peuvent avoir plusieurs indices, dont chacun peut être numérique, alphanumérique ou symbolique. Les globales sont puissantes et représentent les données de manière générale, ce qui permet d'utiliser simultanément plusieurs paradigmes de données à partir d'une seule copie des données. Les cas tels que les tableaux associatifs et creux sont faciles à traiter avec cette approche. Nous encodons également dans le format de stockage lui-même, à l'aide d'encodages (désignés par le préfixe "$") qui fournissent un faible empreinte et une faible latence grâce à l'optimisation du disque et des E/S. Le format de ces encodages est le même en mémoire, sur disque ou sur le réseau. Cela minimise les transformations impliquées dans l'ingestion des données et permet d'atteindre les vitesses incroyables attendues d'une base de données en mémoire, tout en conservant la persistance typique d'une base de données sur disque.

Un exemple illustrant comment une seule globale peut prendre en charge plusieurs modèles de données est fourni par le cas où vous utilisez des outils SQL ou BI et souhaitez accéder aux données dans un format relationnel, sous forme de tables avec des lignes et des colonnes. Si vous effectuez un développement orienté objet, cependant, nous projetons automatiquement ces objets dans des globales, puis projetons ces données dans un format relationnel. De même, nous pouvons projeter JSON ou d'autres formats de document dans une forme relationnelle.

Cette fonctionnalité signifie qu'au lieu d'avoir plusieurs magasins de données, l'un relationnel, l'autre objet, l'autre document, et de les assembler, nous avons une seule copie projetée sous toutes ces différentes formes, sans duplication, déplacement ou mappage. Il en résulte également une combinaison pratique de schéma à l'écriture et de schéma à la lecture. Comme avec un lac de données, vous pouvez compter sur un niveau de structure tel qu'un lien de données, après avoir inséré les données et déterminé le meilleur schéma pour ces données en fonction de leur utilisation actuelle. Cette structure globale fonctionne bien pour les données structurées, ainsi que pour les documents et les données semi-structurées ou non structurées.

Quelques encodages, conçus de manière très rigoureuse, sont utilisés pour stocker efficacement les données et les index.

Bien que les listes constituent le codage de stockage par défaut, InterSystems IRIS peut représenter les données et les index dans un ou plusieurs de ces codages en fonction des caractéristiques des données et/ou des spécifications des développeurs. Les vecteurs permettent de stocker efficacement un grand nombre de données du même type et sont utilisés pour le stockage en colonnes dans les analyses, pour la recherche vectorielle, pour les séries temporelles et pour des cas plus spécialisés. Les tableaux de valeurs compactés (connus sous le nom de $pva) sont idéaux pour le stockage orienté document. Les bitmaps sont utilisés pour les données booléennes et pour les index bitmap très efficaces.

Toutes ces structures de données sont automatiquement indexées dans une mise à jour hautement optimisée à chaque opération. De nombreux utilisateurs utilisent l'indexation intégrée pour effectuer des étapes transactionnelles complètes à faible latence, comme les "milliards d'opérations de base de données par seconde" mentionnées précédemment. Cette indexation cohérente, effectuée presque instantanément, nous offre un accès cohérent et à faible latence à toutes les données, quel que soit leur format. 6 Les fonctionnalités multimodèles offertes par le format global sous-jacent sont pratiquement instantanées, car il n'y a qu'une seule copie des données à modifier, ce qui évite tout gain de temps ou d'espace pour la réplication des données. Cela offre également des avantages majeurs en termes de vitesse d'ingestion, de fiabilité et d'évolutivité.

Le système peut combiner plusieurs encodages. The multi-lingual capability that globals provide means that you can work in the programming language of your choice, with effortless access to all needed formats. La capacité multilingue fournie par les globales vous permet de travailler dans le langage de programmation de votre choix, avec un accès facile à tous les formats nécessaires. C'est clairement le cas pour l'accès relationnel via des normes telles que JDBC et ODBC, mais cela vaut également pour la correspondance automatique des objets dans .NET ou Java avec un format sous-jacent. Du point de vue du développement, vous n'avez pas à vous soucier du mappage relationnel des objets; vous travaillez simplement avec un objet et nous nous chargeons du format de stockage.

Autour du moteur de données central se trouve une mémoire cache distribuée offrant des garanties de cohérence intégrées. Ce cache utilise notre protocole Enterprise Cache Protocol, ou ECP, et répond aux garanties théoriques en matière de cohérence dans le cadre d'un système distribué et en cas de défaillance. L'ECP intègre ces règles de cohérence afin de préserver l'intégrité des données au sein d'un système distribué, même en cas de défaillance, en les encapsulant directement.

En d'autres termes, les performances des données distribuées restent élevées, même à grande échelle. Vous pouvez répartir ces nœuds ECP pour une mise à l'échelle horizontale, ce qui vous permet de gérer un débit plus élevé. Vous pouvez également les répartir pour la distribution des données, ce qui signifie que vous pouvez bénéficier de performances en mémoire sans avoir à vous limiter à la mémoire disponible pour chaque nœud. 

ECP fonctionne particulièrement bien dans le cloud en raison de son évolutivité. Nous avons intégré cette fonctionnalité à notre InterSystems Kubernetes Operator (IKO) afin de fournir une mise à l'échelle automatique, et nous pouvons ajouter et supprimer de manière transparente des nœuds à l'application à l'aide d'ECP. Cette mise à l'échelle est essentiellement linéaire, et vous pouvez faire évoluer indépendamment l'ingestion, le traitement des données et le stockage des données, et optimiser votre charge de travail. ECP étant robuste face aux changements de topologie, un nœud peut tomber en panne sans affecter le traitement des transactions. Vous pouvez ajouter des nœuds à la volée, et ceux-ci peuvent récupérer la charge. Cela fournit une élasticité transparente, ce qui signifie que vous pouvez dimensionner les éléments de manière dynamique et bénéficier d'un coût net inférieur. ECP est transparent pour l'application; aucune modification n'est nécessaire pour faire évoluer une application. Les utilisateurs ont également la possibilité d'associer des charges de travail spécifiques à des ensembles de nœuds spécifiques dans un cluster InterSystems IRIS. Par exemple, les charges de travail de reporting ou d'analyse peuvent être attribuées à un pod, et les charges de travail à forte intensité transactionnelle à un autre.

La couche suivante de l'architecture built-in interoperability est un sous-système d'interopérabilité intégré. Il intègre les données provenant de messages, de périphériques et d'API différents. Il intègre également les données de masse, selon les modèles ETL ou ELT (extraction-transformation-chargement ou extraction-chargement-transformation). InterSystems IRIS Interoperability utilise le plan de données commun comme référentiel intégré pour tous les éléments de gestion des messages et d'intégration des données. Cela bénéficie ainsi des performances et de la fiabilité des deux premières couches, ainsi que des capacités multimodèles.   Par exemple, les données de structure de masse ont tendance à être orientées relationnellement, et de nombreux protocoles de messagerie ont tendance à être orientés document.

Par défaut, l'interopérabilité est persistante, ce qui signifie que les messages de données et les transformations sont stockés dans le système à des fins d'audit, de relecture et d'analyse. Contrairement à de nombreuses autres offres de middleware d'interopérabilité, la livraison peut être garantie, tracée et auditée à tous les niveaux. Vous pouvez confirmer qu'un message a été livré ou savoir qui a envoyé quel message à qui, ce type d'information étant important tant pour l'analyse que pour la recherche. Le paradigme général de l'interopérabilité InterSystems IRIS est orienté objet. Cela facilite la création et la maintenance des adaptateurs: l'héritage d'objets minimise les efforts nécessaires à la création d'adaptateurs personnalisés, y compris les tests.   Il aide également à la création et à la maintenance des transformations de données.  Comme le montre la figure 8, l'utilisation d'un objet commun peut réduire considérablement le nombre de transformations nécessaires entre différents formats de données ou protocoles. Plutôt que de créer et de maintenir une transformation de données pour chaque paire, une seule transformation pour chaque format de données vers un objet commun fournit une approche plus simple, plus facile à tester et à maintenir.

Au sein du sous-système d'interopérabilité InterSystems IRIS, il existe un large éventail de scénarios d'intégration entre les messages, les périphériques et les API.

Cette interopérabilité comprend la gestion intégrée du cycle de vie complet des API, des fonctionnalités de streaming, l'intégration de l'IoT, la compatibilité avec les services cloud, etc. Nous fournissons également des passerelles dynamiques en plusieurs langues, permettant une intégration hautement performante des applications existantes dans ces flux de données, dans la langue de votre choix.

L'interopérabilité InterSystems IRIS s'accompagne d'un ensemble de fonctionnalités analytiques et d'IA intégrées.

Chacune de ces capacités fonctionne "à proximité des données", ce qui signifie qu'en général, nous traitons les données sur place plutôt que de les transférer vers le lieu de traitement, ce qui entraînerait des coûts et des délais considérables.

Plusieurs fonctionnalités analytiques ont été intégrées à InterSystems IRIS. L'une d'elles est InterSystems IRIS BI, une architecture cubique type MOLAP pour la veille stratégique (BI), optimisée pour la latence. Comme cet ensemble de sous-systèmes est intégré à InterSystems IRIS, nous pouvons déclencher des événements SQL et des événements dans le cube en seulement 10 à 20 millisecondes entre les données et le tableau de bord. Le fait d'avoir une seule copie des données pour toutes les transactions et toutes les analyses permet de maintenir cette latence à un faible niveau. Comme ECP permet à un ensemble de nœuds d'opérer sur les analyses en isolation de la charge de travail transactionnelle, les analyses ne présentent aucun risque pour la réactivité transactionnelle, et il n'est jamais nécessaire d'avoir plus d'une copie des données.

Une autre fonctionnalité est l' l'analyse adaptative ou Adaptive Analytics, qui, contrairement à InterSystems IRIS BI, n'utilise pas de cubes prédéfinis. Elle optimise et construit dynamiquement des cubes virtuels au fur et à mesure, les rendant disponibles à la fois pour la BI et l'analyse adaptative. Il s'agit d'une fonctionnalité d'analyse sans interface utilisateur de type ROLAP qui s'intègre de manière transparente à tous les principaux outils de BI, tels que Tableau, PowerBI, Qlik, Excel et autres.

Outre les fonctionnalités d'analyse, plusieurs fonctionnalités de ML et d'IA sont également disponibles.

Integrated ML vous permet d'écrire des modèles de type apprentissage automatique (ML) à l'aide de SQL. Il vous suffit d'écrire une commande SQL, puis de créer, d'entraîner, de valider et de pronostiquer à l'aide du modèle. Les résultats peuvent être directement utilisés dans SQL. Ainsi, les développeurs familiarisés avec SQL peuvent utiliser les pronostics ML dans leurs applications.

Python est intégré directement dans le noyau de la plate-forme de données, ce qui lui permet de fonctionner directement avec les données et d'offrir des performances optimales. Vous n'avez pas besoin de transférer les modèles créés dans un environnement de développement ou de lab vers un environnement de production où vous les exécutez. Vous pouvez créer et exécuter vos modèles dans le même cluster, ce qui vous garantit que les données utilisées sont identiques et cohérentes. Les projets de science des données sont simples et rapides.

Les fonctionnalités de recherche vectorielle intégrée d'InterSystems IRIS vous permettent d'effectuer des recherches dans des données non structurées et semi-structurées. Les données sont converties en vecteurs (ou intégrations), puis stockées et indexées dans InterSystems IRIS pour la recherche sémantique, la génération augmentée par la récupération (RAG), l'analyse de texte, les moteurs de recommandation et d'autres cas d'utilisation.

Ces couches (le moteur de données central, la couche ECP pour étendre l'interopérabilité et nos fonctionnalités d'analyse) font partie de notre capacité unique à alimenter une architecture de données intelligentes Smart Data Fabric. La structure de données est un modèle architectural qui fournit une gouvernance commune à une grande variété de données et de sources de données. Un modèle courant pour une structure de données consiste à importer des données provenant de plusieurs sources, à les normaliser, à les dédupliquer, à les corréler de manière croisée et à les améliorer, puis à les mettre à la disposition d'une variété d'applications différentes:

La plupart des structures de données offrent plusieurs fonctionnalités, notamment l'ingestion, le pipelining, les métadonnées, etc. L'approche d'InterSystems se distingue par l'intégration de l'analyse et de l'IA au cœur de la structure de données:

L'un des principes clés de la technologie InterSystems est "connecter ou collecter". Certaines fonctionnalités d'InterSystems IRIS, telles que les tables étrangères ou fédérées, vous permettent de travailler ou de "vous connecter" aux données là où elles se trouvent. Vous pouvez également choisir de collecter ces données. 

InterSystems IRIS est indépendant des fournisseurs de cloud et fonctionne sur site, dans le cloud de votre choix, dans des scénarios hétérogènes et hybrides, ou dans des environnements multicloud. La partie de nos activités qui connaît la croissance la plus rapide est celle des services cloud, disponibles sur plusieurs clouds. Il est essentiel de pouvoir exécuter les applications où vous le souhaitez. C'est ce qui distingue InterSystems IRIS, par exemple, des installations fournies par les fournisseurs de cloud eux-mêmes ou de nombreuses options actuelles pour les magasins de données. Vous pouvez exécuter InterSystems IRIS et les applications créées avec ce produit où vous le souhaitez. Bien entendu, InterSystems IRIS est également disponible en tant que service géré dans le cloud.

Articles supplémentaires à ce sujet:

Source: Plateforme de données InterSystems IRIS: Guide d'architecture

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer