IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

formation/certif conception DB DWH


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut formation/certif conception DB DWH
    Bonjour, je fais du développement sous Oracle depuis environ 8 ans sur des applications de gestion financière en Forms 61,SQL,PLSQL et Oracle 9 et j'aimerai me former et passer éventuellement des certifications en conception/améliration de base de données avec une spécialisation Datawarehouse. Je suis freelance et j'aimerai m'assurer une activité dans ce secteur.

    Est-ce que quelqu'un ici aurait des conseils à me donner sur les formations à prévoir et sur les débouchés dans le secteur?

    Merci d'avance

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Par défaut
    Bonjour,

    Pour ma part, je fais de l'Oracle depuis 10 ans, mais je m'y suis réellement mis depuis 6 ans. Pendant 5 ans, j'ai fait une mission en finance (Asset Management), dans le domaine du contrôle de risque.

    Je ne m'occupais que de la partie Oracle (mes collègues s'occupaient de la partie Java / WebLogic), de A à Z, c'est-à-dire :
    - modélisation sous PowerAMC (MPD/MCD),
    - développement avancé SQL et PL/SQL (par avancé, j'entends l'utilisation de fonctionnalités telles que l'objet, les collections, le Bulk Collect, les triggers sur tables mutantes, les fonctions analytiques...),
    - tuning SQL,
    - un peu d'administration et de tuning d'instance via Statspack.

    En règle générale, dans le domaine de la finance, tu es plutôt confronté à des bases très relationnelles (modélisation classique sous Merise, avec qq centaines de table), de faible volume (qq Go), avec pas mal de transactions en journée et du batch le soir.

    Dans ce genre de projet, où l'on connaît pas mal d'évolutions fonctionnelles, il faut soigner la MAJ du MCD (c'est fou le nombre de projets où il n'y a pas de MCD, ou bien où le MCD n'a pas été mis à jour depuis des lustres et est devenu caduque), d'essayer d'utiliser des fonctionnalités avancées telles que celles citées plus haut, et de s'intéresser au tuning SQL, c'est-à-dire savoir lire et interpréter un plan d'exécution.

    Pour se faire, rien de tel que de jeter un coup d'oeil sur la doc Oracle, notamment les 3 PDF 'SQL Reference', 'PL/SQL User's Guide and Reference' et 'Performance Tuning Guide'. A cela, je te conseille l'achat d'un bouquin sur le tuning SQL.


    Depuis plus d'un an, je suis en mission chez un assureur, en tant que DBA d'études Oracle, sur des Datawarehouses. Je te conseille à ce moment-là de jeter un coup d'oeil, toujours sur la doc Oracle, sur le PDF 'Performance Tuning Guide'.

    De toute façon, dans ce domaine, il faut maîtriser les aspects suivants :
    - au niveau de la modélisation, fini le modèle relationnel. Tu passes en modèle étoile (star schéma), c'est-à-dire une immense table de fait reliée à N tables de dimension, lesquelles sont dénormalisées. Parfois, les tables de dimension sont normalisées, et tu te retrouves dans un modèle en flocon (snowflake),
    - dans un DTW, on a du volume (qq Téra-octets). Cela signifie qu'il faut maitriser le partitionnement des tables et des index. A cela peut s'ajouter l'utilisation de l'option de compression de données,
    - pour les aggrégats, on utilise aussi des vues matérialisées, avec le Query Rewrite,
    - pour les performances, on utilise des index bitmaps (ou des bitmaps join index) sur les tables de fait. Tu dois donc comprendre les requêtes étoiles (Star Queries) et leur plan d'exécution,
    - et puis il y a l'option du parallélisme, aussi bien pour faire de la consultation (SELECT), de la MAJ (INSERT, UPDATE, DELETE, MERGE) ou de la création de tables ou d'index en parallèle.

    Voilà en gros les concepts que tu dois absorber.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    Bonjour et merci pour ces détails ça me fait déjà un paquet de choses à plancher.

    justement je suis sur une appli financière pour la commission européenne sous oracle avec du java/weblogic, mon soucis est que l'appli est foireuse, tout a été fait en java, il n 'y a presque pas de PLSQL pour l'accès aux données, tout est codé dans les entity bean, niveau perf et maintenance, c'est pas franchement top...

    par contre j'ai aussi une appli qui me sert à synchroniser la base locale avec le système central, tout est écrit en PLSQL et tourne en batch qui génère du sql dynamique en fonction du paramétrage de mapping (correspondances tables et colonnes), ce sql dynamique effectue des lectures sur la base externe et des insert/update sur la base locale, mon soucis ici est que l'accès à la base externe se fait par database link et à priori on ne peut pas utiliser les index au travers d'un dblink car on est en sous oracle 9i.
    Est-ce que par hasard, tu connais des méthodes pour améliorer les perf sur une config comme celle là?


    Merci d'avance.

  4. #4
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Par défaut
    Bonjour,

    Désolé de ne te répondre que maintenant, mais je reviens de 3 semaines de congés.

    Pour ton pb, j'avoue ne pas comprendre du tout quand tu dis que l'on ne peut pas utiliser d'index via un DB*Link !!!

    A priori, tu ne fais que du SELECT sur ta base distante, ceci afin de peupler ta base locale. Donc sur les tables distantes, si il y a des index, ceux-ci peuvent servir. Pour être fixé, seul le plan d'exécution te permettra d'être fixé quand à l'utilisation des index.

    En règle générale, pour avoir de bonnes performances, il faut soigner la conception et l'écriture des requêtes SQL dans le cas de bases distribuées. Il faut en effet limiter le volume de données à ramener via DB*Link, et aussi éviter des jointures entre tables distantes et tables locales.

    Je note au passage que les requêtes sur la base distante sont dynamiques, ce qui fait que le code SQL peut varier, et il est donc plus difficile de faire du tuning SQL.

Discussions similaires

  1. [ETUDES] Formation Infographie-Conception de sites Internet
    Par mastercartman dans le forum Etudes
    Réponses: 29
    Dernier message: 13/07/2012, 11h20
  2. Exemple de conception de dwh
    Par chagala dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 11/03/2011, 10h49
  3. Les certifications conception web
    Par Arnaud13 dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 30/04/2009, 17h52
  4. Réponses: 4
    Dernier message: 13/01/2009, 10h27
  5. Quelle formation/certif prendriez-vous?
    Par cKmel dans le forum C#
    Réponses: 6
    Dernier message: 18/11/2008, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo