2010-04-09 6 views
0

Il s'agit principalement d'une question de philosophie d'entrepôt de données.Données tierces - Stocker dans la base de données Data Warehouse ou Primary?

Mon projet concerne une application de formulaires Oracle et un entrepôt de données Teradata à des fins de reporting et ad-hoc. En plus des données primaires créées par les utilisateurs de notre application, nous avons également besoin de données provenant de diverses autres sources. Actuellement, ces données tierces proviennent de fichiers plats FTPd directement dans notre entrepôt de données. Pour accéder aux données, nos utilisateurs doivent utiliser une série de rapports BusinessObjects personnalisés.

Ma question est, serait-il plus logique que ces données soient envoyées à notre système Oracle source à la place? Est-il toujours approprié pour un entrepôt de données d'être le point d'origine pour les utilisateurs d'accéder aux données brutes? En bref, est-il plus important que la base de données opérationnelle ne contienne que les données créées par votre projet, ou que l'entrepôt de données reste uniquement dédié au reporting et à l'analyse?

Répondre

1

Nous faisons soit en fonction de la situation.

Si les données tierces doivent être vues par les utilisateurs réguliers et l'application quotidienne, nous mettons les données là où elles seront disponibles. Dans notre cas, ces données sont souvent des données stockées dans des tables personnalisées de la base de données qui sont sélectionnables plutôt que modifiables pour empêcher les utilisateurs de modifier les données tierces. Si vous utilisez vos tables régulières, vous aurez peut-être besoin d'un déclencheur pour éviter toute modification accidentelle de ces données. En outre, il se présente souvent sous une forme qui peut ne pas convenir à votre structure de données et s'ils ont seulement besoin de voir si, à des fins de rapport, vous ne voulez pas prendre le temps de le nettoyer pour que votre application régulière puisse le prendre. SO dans ce cas, des tables personnalisées peuvent devenir nécessaires. Par exemple, une tierce partie peut avoir un champ plus grand que votre champ pour la même chose. Vous pouvez supprimer la signification en tronquant leurs données pour qu'elles correspondent à votre structure. De plus, votre structure peut avoir un ensemble de contraintes que les données tierces n'ont pas, voulez-vous risquer votre propre intégrité des données en supprimant ces contraintes? Probablement pas. Si mon application pense qu'un champ devrait être requis ou une date valide, je ne veux pas changer pour stocker des données de rapport de tierce partie. Si les données peuvent et doivent être disponibles pour les utilisateurs pour le changement (nous faisons beaucoup de cela) alors allez-y et nettoyez-le selon vos normes de base de données et insérez-le.

Souvent, les données tierces n'ont pas besoin d'être vues par les utilisateurs qui effectuent la saisie régulière des données, mais uniquement dans les rapports de gestion extraits de l'entrepôt de données. Dans ce cas, non je ne voudrais pas essayer de mettre les données n'importe où sauf l'entrepôt de données. Pourquoi compliquer la vie en rendant disponible pour un changement accidentel?

+0

Merci pour cet aperçu. Le projet en question est un système de soutien aux enfants, et nous avons besoin de données provenant d'autres organismes gouvernementaux pour des fins de localisation et de retenue de revenu. Par exemple, un parent non conforme peut vous donner une fausse adresse, mais donner au DNR un vrai quand il obtient un permis de chasse. Les travailleurs sociaux bénéficieraient donc de la disponibilité des données dans l'application principale, plutôt que d'obtenir un rapport DNR séparé de l'entrepôt. Seriez-vous d'accord avec cela, à cause du nombre limité d'informations que j'ai données? – brydgesk

+0

Oui, mais je le mettrais dans des tableaux séparés que les utilisateurs ne peuvent pas écrire. Ensuite, dans l'application, les assistants sociaux pouvaient voir l'adresse qu'ils avaient, ainsi que les autres adresses potentielles et la source de l'adresse, mais ne pouvaient modifier que leur adresse système. En fait, je mettrais un bouton sur les adresses d'autres sources qui leur permettraient de copier ces données à leur adresse, s'ils trouvent que l'un des autres ajouts est le bon. – HLGEM

+0

Et bonne chance à vos travailleurs sociaux de traquer la mêlée qui ne paie pas leur pension alimentaire. – HLGEM

Questions connexes