2013-02-02 4 views
1

Je suis en train de construire un Data Warehouse (DW) et j'ai une question sur le chargement de données; J'apprécierais que vous donniez votre avis à ce sujet.Stratégie de conception de stockage intermédiaire

Je prévois de charger d'abord toutes les tables dans une base de données intermédiaire puis de charger les données dans le fichier DW à partir de la base de données intermédiaire. J'ai pensé frapper le système OLTP directement (pas de mise en scène) mais je ne suis pas sûr à 100% que ce serait la meilleure approche du point de vue de la performance. Permettez-moi de vous donner un exemple: Dans notre base de données OLTP, nous avons une vue intitulée Clients que je vais intégrer dans notre fichier DW. La vue sur la base de données OLTP est assez complexe et une instruction select prend 8 minutes. Donc, si je charge cette table directement dans le DW et que je fais une charge incrémentielle, je pense que cela prendrait plus de temps que de charger la vue dans une table de transfert en premier. En outre, comme la charge va prendre du temps, la disponibilité du fichier DW sera également affectée car les données ne seront pas disponibles pour les utilisateurs.

Que proposez-vous? L'approche de mise à jour est-elle dépassée maintenant? Je veux comprendre quels sont les avantages et les inconvénients. Merci d'avance pour votre aide

Répondre

1

Je participe à la maintenance d'un entrepôt de données et, bien que nous n'utilisions pas de base de données intermédiaire, nous utilisons des tables staging/working/intermediate/whatever_you_want_to_call_it.

L'essentiel de ce que nous faisons est celui-ci. Nous recevons les données brutes sous la forme d'une série de fichiers délimités. Nous faisons ensuite tout ce que nous jugeons nécessaire à ces fichiers pour produire des fichiers de chargement. Nous remplissons ensuite nos tables de travail à partir des fichiers de chargement et faisons tout ce que nous avons à faire pour préparer les données. Ensuite, nous remplissons les tables réelles à partir des tables de travail.

Nous faisons également tout notre travail, tôt le matin, avant que les gens ne viennent travailler, afin de minimiser la probabilité que des personnes tentent d'interroger l'entrepôt pendant le chargement des données.

Questions connexes