Mes journées sont bien remplies actuellement…cela se ressent sur mon blog. Je travaille sur six clients principaux en parallèle, les sujets techniques ne manquent pas.
Actuellement, mes activités principales concernent deux sujets : SSIS et le CTI. Le billet du jour concerne SSIS.
Il s’agit de l’ETL de Microsoft faisant parti de la suite SQL Server 2005. Si l’on regarde par la petite porte, on peut dire qu’il remplace les DTS de SQL Server 2000. En réalité, il s’agit véritablement d’un nouvel outil de développement de flux de données, intégré à Visual Studio.
Je travaille assez intensément sur le sujet depuis quelques semaines. Le sujet est globalement la reprise de données, et l’interfaçage pour un nouveau CRM d’une importante mutuelle (quelques millions de ligne à traiter). L’outil est très intéressant et peut permettre d’obtenir une bonne productivité et des performances de traitement très correct, mais comporte aussi quelques lacunes ou difficultés avec lesquelles il faut cohabiter. En voici quelques unes :
- réutilisabilité malaisée voire impossible des flux de données
- langage d’expression assez limité, obligeant à écrire souvent des scripts .NET => ce débranchement de contexte entraine des pertes de performance
- éviter les composant de « destination SQL Server » => utiliser « OLE DB » avec option Fast Load. Vous éviterez bien des problèmes pour une performance quasi identique…
- l’affinage de quelques paramètres (notamment EngineThreads, DefaultBufferMaxRows et DefaultBufferSize) est essentielle, et demande un peu de temps pour une bonne compréhension
- la gestion de configuration demande une bonne compréhension pour être correctement réalisée
- attention à la configuration de votre projet pour le travail d’équipe. Point qui m’a fait perdre une bonne demi-journée : le paramètre ProtectionLevel des packages est par défaut à EncryptSensitiveWithUserKey. Cela signifie que seul l’utilisateur windows ayant créé le package pourra le modifier! Il faut impérativement le changer pour un travail d’équipe (par exemple à EncryptSensitiveWithPassword).
- si votre serveur n’est pas connecté à internet, allez lire impérativement ceci : il faut bidouiller une clé de registre windows pour que SSIS fonctionne correctement.
Enfin, la lecture d’un article comme celui-ci m’a été d’une grande aide :
http://www.microsoft.com/technet/prodtechnol/sql/2005/ssisperf.mspx
Laisser un commentaire