Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence
Business Intelligence Forum d'entraide Business Intelligence ( Informatique décisionnelle ), ETL, générateurs d'états et infocentre . Tutoriels BI, Le comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/04/2008, 17h30   #1
Invité régulier
 
Inscription : avril 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 31
Points : 6
Points : 6
Par défaut Architecture d'un projet décisionnel

Bonjour,

Je suis en train de créer une application qui doit permettre de mettre en visibilité des statistiques sur certaines informations de mon entreprise (tableaux de bord, graphiques...). Je pars d'une base de données source à partir de laquelle je dois créer un entrepôt de données qui me servira pour l'analyse.
J'envisage d'utiliser Talend open studio pour intégrer mes données dans l'entrepôt et Birt pour les "mettre en forme" dans mon application.

Le problème c'est que je ne sais pas trop comment tous ces outils vont s'articuler et communiquer. Mes questions sont les suivantes:
- A quel endroit mon ETL doit-il être installer?Sur le serveur où il y a mon entrepôt, n'importe ou...
- Est-ce vraiment utile d'utiliser un ETL quand on a seulement une base de données source?
- Les tables de mon entrepôt doivent elles forcément être de vues (matérialisées ou non) de mes sources ou alors tous simplement des tables qui pourront être utiliser à la génération de vues.
-Mon application (qui sera accessible via l'intranet de l'entreprise) doit elle se trouver sur le même serveur que mon entrepôt?

Voila, vu la naïveté de mes questions vous vous doutez que c'est la première fois que je crée un entrepôt et même une application complète, donc merci de ne pas oublier les informations qui vous semblent basiques.

PS: J'ai écumé pas mal de forums avant de poster (mon tout premier post!) mais je n'ai pas trouvé d'informations "concrètes" qui sont utiles dès que l'on passe de la théorie à la pratique!

Merci d'avance pour votre réactivité!
markoBasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 18h26   #2
Membre Expert
 
Avatar de Benoit_Durand
 
Benoit Durand
Consultant en Business Intelligence Freelance
Inscription : mars 2005
Messages : 818
Détails du profil
Informations personnelles :
Nom : Benoit Durand
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant en Business Intelligence Freelance

Informations forums :
Inscription : mars 2005
Messages : 818
Points : 1 092
Points : 1 092
- A quel endroit mon ETL doit-il être installer?Sur le serveur où il y a mon entrepôt, n'importe ou...
>> Talend open Studio est un studio de développement local, il n'y a pas de partie "serveur" avec Talend en gratuit, il doit etre installé sur le poste de développeur. Une fois les jobs d'alimentation créés avec talend il faut générer la version "exécutable" : un .bat ou .sh qui exécutera le job. Sur le serveur d'alimentation seul java (ou perl) sera nécessaire pour les alimentations Talend.
Installer TOS sur le serveur ne sert pas à grand chose.

- Est-ce vraiment utile d'utiliser un ETL quand on a seulement une base de données source?
>>Je pense que oui, c'est toujours plus pratique pour le développement et la maintenance même si les intérêts en sont réduits.

- Les tables de mon entrepôt doivent elles forcément être de vues (matérialisées ou non) de mes sources ou alors tous simplement des tables qui pourront être utiliser à la génération de vues.
>>Tout simplement des tables.

-Mon application (qui sera accessible via l'intranet de l'entreprise) doit elle se trouver sur le même serveur que mon entrepôt?
>>Pas forcément à moins que ton application ne puisse pas comuniquer avec un sgbd distant (rare de nos jours)

j'espère t'avoir aidé

cordialement,
Benoit_Durand est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 21h42   #3
Membre Expert
 
Développeur informatique
Inscription : juillet 2007
Messages : 690
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 690
Points : 1 558
Points : 1 558
Salut tout le monde !
- Pour l'endroit ou l'ETL doit être installé, Hebus_Beer a super bien répondu. Je veux juste ôter le doute car beaucoup de personnes confondent ETL et Staging (l'endroit ou tu met des tables temporaires pour faire l'ETL). Le Staging, en général viens dans un serveur appart. On l'appele le serveur de staging
- Pour l'utilité d'un ETL : contrairement à ce que pense Hebus_Beer je suis convaincu de l'utilité de l'ETL peut importe le nombre de sources !!! Ce n'est pas pour rien que l'ETL constitue 70% d'un projet BI en moyenne. On transforme un schéma entité-relation en un schéma dimensionnel, on dénormalise, on transforme, on modifie, on fait des jointures, des recherches, etc. De nos jours, les bases de données de production sont sollicitées 24H/24, on a en général une très petite fenêtre de temps pour extraire les données. Donc vraiment pas le temps de faire les traitements depuis la source. Sans parler des backups dans le cas ou les chargement ne fonctionnent pas...
- Pour la question sur les vues, Il est conseillé que les tables de ton schéma dimensionnel soient des vues, pour des questions de sécurité, mais c'est un conseil seulement.

Voila pour mes avis !
Bon courage pour la suite
ygrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 19h22   #4
Invité régulier
 
Inscription : avril 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 31
Points : 6
Points : 6
Tout d'abord merci d'avoir répondu!

J'ai lu attentivement ces deux réponses et voici mes remarques:

>> Talend open Studio est un studio de développement local, il n'y a pas de partie "serveur" avec Talend en gratuit, il doit etre installé sur le poste de développeur. Une fois les jobs d'alimentation créés avec talend il faut générer la version "exécutable" : un .bat ou .sh qui exécutera le job. Sur le serveur d'alimentation seul java (ou perl) sera nécessaire pour les alimentations Talend.
Installer TOS sur le serveur ne sert pas à grand chose.

Je ne comprend pas vraiment ce qu'est le serveur d'alimentation.Quant aux job .bat ou .sh, une fois créés ou doivent-ils être "stockés" et comment faire pour qu'ils s'exécutent de façon périodique(une fois par semaine dans mon cas)?

Pour finir sur les serveurs, est-ce-possible d'avoir un seul serveur qui gère à la fois le staging, l'entrepôt et l'application?Je suppose que oui mais je pense qu'il y a une architecture type beaucoup plus sécurisée. Je pose cette question parce que je n'ai pas trouvé de schéma sur internet.
Le serveur de staging contient-il un fichier ou une table générée par talend avec la "liste" des erreurs survenues lors de l'extraction?Si ce n'est pas le cas, où stocker ces erreurs?Dans une table à part dans l'entrepôt?

Voila, merci pour vos réponses!
j'aurais certainement beaucoup de questions encore mais je pense qu'avec ces informations j'ai déja de quoi m'occuper
markoBasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 19h54   #5
Membre chevronné
 
Avatar de Jester
 
Inscription : septembre 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 625
Points : 634
Points : 634
Citation:
Envoyé par markoBasa Voir le message
Pour finir sur les serveurs, est-ce-possible d'avoir un seul serveur qui gère à la fois le staging, l'entrepôt et l'application?Je suppose que oui mais je pense qu'il y a une architecture type beaucoup plus sécurisée. Je pose cette question parce que je n'ai pas trouvé de schéma sur internet.
Oui ça peut même être votre ordinateur portable.

Plus sérieusement (quoique l'ordinateur portable peut-être la réponse pour au moins un cas que j'ai en tête), il faut connaître le problème en détail, ce que vous ne donnez pas.

ygrim proposera sans doute une infrastructure de plus de 100k€ avec des serveur de réplication, des proxy distribués géographiquement, ... commission de 10% non comprise.

C'est quoi vos données, la volumétrie, ce que vous voulez en faire? Si c'est la première fois que vous faites un entrepôt et vu vos connaissances, je peux en déduire que ce n'est pas un projet gigantesque. Si c'est pour faire une application qui montre au manager le temps de présence/retards des employés, ou le rendement d'une dizaines de chaînes de production, il n'y a pas besoin de grand chose. Un PC très bas de gamme suffira pour tout.

J'imagine que c'est plus, mais déjà savoir combien de données sont générées dans la base de données source sur une durée de temps donnera déjà une information.


>> Je ne comprend pas vraiment ce qu'est le serveur d'alimentation.Quant aux job .bat ou .sh, une fois créés ou doivent-ils être "stockés" et comment faire pour qu'ils s'exécutent de façon périodique(une fois par semaine dans mon cas)?

Sous linux c'est cron qui peut gérer ça.

PS : J'exagère beaucoup dans ce post, sauf sur l'ordinateur portable.
Jester est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 20h08   #6
Membre Expert
 
Développeur informatique
Inscription : juillet 2007
Messages : 690
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 690
Points : 1 558
Points : 1 558
Citation:
ygrim proposera sans doute une infrastructure de plus de 100k€ avec des serveur de réplication, des proxy distribués géographiquement, ... commission de 10% non comprise.
Qu'est ce qui te fait dire ça ?

Pour markobasa,
L'architecture d'un environnement décisionnel est fortement dépendant (comme tout environnement) des besoins de l'entreprise, de la volumétrie des données, du nombre d'utilisateurs, etc. Conceptuellement, il existe une architecture d'environnements décisionnel : http://grim.developpez.com/articles/.../bi-intro/#LVI
Une fois cette architecture conceptualisée, il faut voir si le serveur ETL est une machine indépendante de l'entrepôt de données (cas le plus courant), si tu as besoin de réplication, de clustering (cas des gros gros volumes de données), si on a besoin d'un serveur de reporting ou si on intégre le tout....
Personnellement, j'ai eu a faire un mini projet avec ETL, Entrepôt et Serveur de rapports sur la même machine. Mais c'était un PETIT projet.
ygrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2008, 15h51   #7
Invité régulier
 
Inscription : avril 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 31
Points : 6
Points : 6
Bonjour,

Je ne m'attendais pas à une telle réactivité donc merci beaucoup!

Je me rend compte que je ne vous ai pas données beaucoup d'informations, donc pour être plus précis:
Mes données sont volumineuses, il ne s'agit pas d'un petit projet même si je ne sait pas exactement la volumétrie!Ce qu'il y a c'est que je vais devoir demander à mon "boss" des espaces pour mettre mon entrepôt et tout le reste, c'est pour cela que je voulais des explications.Car c'est tout nouveaux pour moi et je suis tout seul dessus!
J'en suis pour le moment à l'étape création du modèle de l'entrepôt, j'ai opté pour un modèle en constellation avec deux tables de faits et une dizaine de dimensions.
D'ailleurs tous mes axes d'analyse doivent-ils être forcément modéliser par une dimension ou alors un champ dans la table de faits suffit?Je vous pose la question car un de mes axes d'analyse est un booléen!

Merci d'avance pour vos précisions et voici deux points qui sont encore assez vagues pour moi:

>> Je ne comprend pas vraiment ce qu'est le serveur d'alimentation.Quant aux job .bat ou .sh, une fois créés ou doivent-ils être "stockés" et comment faire pour qu'ils s'exécutent de façon périodique(une fois par semaine dans mon cas)?

Le serveur de staging contient-il un fichier ou une table générée par talend avec la "liste" des erreurs survenues lors de l'extraction?Si ce n'est pas le cas, où stocker ces erreurs?Dans une table à part dans l'entrepôt?

Je précise qu'une fois mon projet terminé ou bien avancé (en tout cas dès que j'aurais créé mon entrepôt) je ferai un petit topo de ce que j'ai au comme difficultés et je ferai quelques remarques qui pourront aider les novices comme moi!Enfin j'en suis pas encore là mais peut être que d'ici 10 ou 15 ans........
markoBasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 11h21   #8
Membre Expert
 
Avatar de Benoit_Durand
 
Benoit Durand
Consultant en Business Intelligence Freelance
Inscription : mars 2005
Messages : 818
Détails du profil
Informations personnelles :
Nom : Benoit Durand
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant en Business Intelligence Freelance

Informations forums :
Inscription : mars 2005
Messages : 818
Points : 1 092
Points : 1 092
>> Je ne comprend pas vraiment ce qu'est le serveur d'alimentation.Quant aux job .bat ou .sh, une fois créés ou doivent-ils être "stockés" et comment faire pour qu'ils s'exécutent de façon périodique(une fois par semaine dans mon cas)?

par serveur d'alimentation j'entendais le serveur qui exécute les jobs d'alimentation de l'entrepôt.

les .bat ou .sh sont à mettre sur le serveur qui devra exécuter ces tâches d'alimentation. Ils peuvent être lancé par cron sous linux comme l'a dit Jester ou ton plannificateur de tâches windows.

Pour de grosses volumétries je te déconseille d'utiliser un seul serveur ou sinon prévois une belle bête. Le reporting ca bouffe pas mal avec l'entrepôt en plus
Benoit_Durand est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web