Je me lance dans un projet de business intelligence qui nécessitera un accès abstrait à deux entrepôts de données existants. J'ai besoin de concevoir une architecture d'application pour permettre à la Business Intelligence en libre-service de joindre les données et de fournir une vue unique sur les deux entrepôts existants. J'ai trouvé quelque chose comme ça:
Je me bats avec la pièce de virtualisation / mise en cache et je me demande s'il existe des modèles de conception d'entreprise pour résoudre mon problème. Une architecture comme celle-ci permettrait-elle d'abstraire des schémas en étoile dans des entrepôts de données? Je regarde des produits tels que Red Hat JBoss Data Virtualization et Red Hat JBoss Data Grid (entre autres).
Nous n'utilisons pas Hibernate actuellement et ma compréhension des grilles de données est qu'elles sont des magasins de valeurs-clés ou des magasins d'objets et ne conviennent donc pas à la mise en cache d'un modèle relationnel. Je dois également mentionner que nous souhaitons utiliser les produits des fournisseurs pour la partie Tableau de bord en libre-service, mais nous pourrions finir par faire une construction personnalisée dans ce domaine si les fournisseurs ne peuvent pas nous offrir tout ce que nous voulons.
la source
{key: pk, value: the_rest_of_the_row}
? Vous souhaiterez probablement également mettre en cache les métadonnées des tables.Réponses:
Il n'y a pas énormément de détails sur ce que vous essayez de réaliser ici, mais d'après ce que vous avez décrit, il semble que vous pourriez faire avec un magasin de données pour résumer les principaux référentiels et exposer un sous-ensemble minimal de données à service l'application.
Même si vous pouviez concevoir une couche d'application décente, vous risqueriez de rencontrer des problèmes de performances en raison de la charge sur l'une (ou les deux) des bases de données du référentiel. L'avantage de l'approche mart est que la base de données à laquelle l'application parle est très performante. Les mises à jour ont lieu dans les bases de données du référentiel en arrière-plan et sont poussées à travers selon les besoins.
Un avantage supplémentaire que vous n'avez également qu'un seul fournisseur de base de données à considérer dans votre couche d'application.
la source