La meilleure façon d'accélérer l'accès aux données à deux entrepôts de données?

9

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:

entrez la description de l'image ici

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.

Mark Allison
la source
2
Je viens de trouver ce livre, qui pourrait être bon pour moi amazon.com/Data-Virtualization-Business-Intelligence-Systems/dp/…
Mark Allison
2
Je ne suis pas sûr que vous ayez fourni suffisamment d'informations sur votre projet pour vous conseiller sur l'architecture.
Vladislav Rastrusny
Pourquoi les données relationnelles ne peuvent pas être mises en cache dans un magasin de valeurs-clés en tant que {key: pk, value: the_rest_of_the_row}? Vous souhaiterez probablement également mettre en cache les métadonnées des tables.
9000
2
Quel est le problème avec l'approche classique?
NoChance

Réponses:

1

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.

Robbie Dee
la source