Ajouter un commentaire

Par :
Cédric VANHOORDE

lun, 28/01/2013 - 12:46

La base de données est une plateforme nécessaire au bon fonctionnement de la plupart des applications digitales. Elle a pour mission de récolter, traiter et analyser rapidement les données des sites web, d'outils internes de reporting ou encore d'outils marketing. Or, ces plateformes ne sont pas toujours performantes. Cela est souvent dû à un besoin mal identifié et plus globalement à une gestion bâclée du projet en amont. Pour une utilisation sereine de la base de données, il faut respecter quelques points clés lors de sa mise en place. Celle-ci s'articule généralement en 7 étapes. Par Cédric VANHOORDE, Expert Bases de Données et directeur application chez RUNISO.

1. Identifier le besoin

Cette étape peut paraître élémentaire mais est souvent trop négligée. On ne s'en rend souvent compte qu'une fois la base de données en production. L'objectif ici est de bien identifier son besoin. Un cahier des charges sera nécessaire pour présenter son projet aux différents prestataires (auditeurs, éditeurs de logiciels, hébergeurs, etc.). Il s'agit de définir l'utilisation, les niveaux de sécurité et de disponibilité souhaités, d'identifier le type d'application qui se connectera à la base (site Magento, Commerce server, logiciel Cognos, Stambia, etc.) mais aussi de se projeter pour évaluer la volumétrie et prévoir la croissance de la plateforme (capacity planning).

2. Définir le modèle de base de données

On identifie deux grands modèles de base de données : le modèle transactionnel et le modèle multidimensionnel. Le premier est généralement utilisé pour les applications web et le second davantage pour les bases de données décisionnelles (BI). Pour les plateformes de type CRM, le modèle dépendra notamment du besoin et des fonctionnalités recherchées.

Le modèle transactionnel permettra globalement de répondre à des requêtes élémentaires en croisant plusieurs tables pour présenter, par exemple, l'ensemble des produits qui correspondent aux critères indiqués par le client. Le modèle décisionnel (ou multidimensionnel), quant à lui, exécute des requêtes plus complexes basées sur l'historique et les données externes (Facebook, Twitter, etc.) pour éventuellement tendre vers le Big Data. Ses schémas en étoile ou en flocon permettent de croiser plusieurs dimensions (date, lieu, articles,...) pour générer un rapport de suivi d'activité ou pour définir la stratégie future à adopter.

3. Choisir le système de gestion de base de données (SGBD)

Selon le modèle de base de données, on est souvent amené à choisir entre un éditeur open source et un éditeur avec support. Le choix d'une de ces solutions dépendra notamment du budget, du niveau de support souhaité, des compétences internes dans la technologie et de l'expertise du prestataire. Le système choisi doit répondre à l'ensemble des besoins et des contraintes (sécurité, disponibilité). Certains SGBD ont, par exemple, des mécanismes de sécurité déjà intégrés et proposent des bascules automatiques répondant à une contrainte de PRA (Plan de reprise d'activité) ou de PCA (Plan de continuité d'activité). Cela permettra de gagner du temps sur la mise en place de telles actions et d'éviter d'éventuels coûts de maintenance sur des solutions développées en interne.

4. Prévoir son infrastructure

On s'attarde ensuite sur l'infrastructure qui supportera cette plateforme. Faut-il l'héberger en interne ou externaliser cette partie ? Dans le cas d'un hébergement interne, on doit s'assurer que l'on dispose des compétences pour l'infogérer surtout pour les bases de données à fortes volumétries qui nécessitent un entretien régulier. Si on fait le choix d'une externalisation, il est nécessaire bien choisir son prestataire. Pour cela, il faut définir le mode d'hébergement (cloud, physique,...) et le niveau d'accompagnement souhaité. Un hébergement dit low cost ou dans une solution cloud basique sans support est souvent conseillé pour des petites volumétries où la base de données ne nécessite pas un haut niveau de sécurité et de performance. A l'inverse un hébergeur spécialisé proposera un accompagnement spécifique, le client pourra alors être conseillé dans le choix de sa solution d'hébergement (nombre de machines, hardware, virtualisation,...) et bénéficier d'une infogérance adaptée.

5. Optimiser sa base de données

Avant sa mise en production, il est indispensable de tester sa base de données pour s'assurer que le système reste réactif et supporte la charge. On vérifiera l'architecture pendant une activité normale et on simulera des périodes de fortes charges pour connaître précisément les limites de la solution. Les résultats permettront de valider et d'ajuster plusieurs points : le dimensionnement de l'infrastructure, la nécessité de tunning des logiciels, la bonne indexation de la base, etc.

6. Suivre et maintenir la plateforme

Une fois la base de données en production, il est important de la suivre quotidiennement. Un contact régulier avec le client est primordial pour avoir le ressenti utilisateur. La supervision remonte, quant à elle, des données objectives sur la performance de la plateforme. Cela permet d'engager ensuite des actions de maintenance (mise à jour logicielle, de plateforme,...) et d'assurer la sécurité et la disponibilité de l'application.

7. Anticiper l'évolution de la plateforme

Quelques temps après la mise en production, on vérifie que les prévisions de croissance étaient correctes et on anticipe l'évolution en fonction de l'historique réel de la plateforme mais aussi du contexte de la société. Le besoin tel qu'il avait été défini évolue. La sécurité peut devenir un critère essentiel suite à une nécessité de certification PCI DSS par exemple. La décision de faire évoluer la plateforme voire de changer de système de gestion peut alors s'imposer.

Cédric VANHOORDE, Expert Bases de Données et directeur application chez RUNISO

 

A propos de l'auteur

Cédric VANHOORDE

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 K  K  DDD   EEEE   GGG   RRRR  
K K D D E G R R
KK D D EEE G GG RRRR
K K D D E G G R R
K K DDD EEEE GGG R RR