Archive pour décembre 2009

Limiter les étapes DATA

Dans la série optimisation et tuyaux, voici le premier d’une série de conseil pour l’optimisation de vos programme SAS.

Pour des raisons de simplification et de méconnaissance du produit SAS, nous avons tous débuté en créant une multitude d’étape data inutiles. Ces étapes sont coûteuses aussi bien en terme de CPU qu’en terme d’I/O (accès disques entrée/sorties ou Input/Output).

Quand une table est d’une grande volumétrie, essayez de ne la lire qu’une seule fois et de créer toutes les tables dépendantes en un seul passage, vous gagnerez toutes les lectures successives de cette table SAS.

/* ****************************************** */
/* Site : http://www.formations-sas.fr - 2009 */
/*                                            */
/* Tuyaux - Performances, Optimisation SAS    */
/* GAIN : CPU - IO                            */
/*                                            */
/* Auteur : Pascal MAUBERT                    */
/* ****************************************** */

/* ACCEPTABLE */
data tablea;
 set db.master;
 if flag1;
run;

data tableb;
 set db.master;
 if flag1 and age < 21;
run;

data tablec;
 set db.master;
 if flag1 and age >= 21;
run;

/* PLUS EFFICACE */
data tablea tableb tablec;
 set db.master;
 if flag1 then do;
    output tablea;
    if age < 21 then output tableb;
    else             output tablec;
 end;

run;

/* ****************************************** */
/* Site : http://www.formations-sas.fr - 2009 */
/* Auteur : Pascal MAUBERT                    */
/* ****************************************** */

Exemple de programme SAS SPDE (SPDS)

Avant Propos.

Le but de cet article n’est pas de se substituer à une formation appliquée de SAS SPDE, mais de présenter ce fabuleux produit, même si les techniciens SAS avancés seront surement capable de s’en contenter pour comprendre, assimiler et utiliser SAS SPDE.

Cet article ne prétends pas non plus à se substituer à la documentation officielle de SAS Institute sur SAS SPDE, un lien vers celle-ci (documentation en anglais) se trouve en bas de la page.

Description générale de SAS SPDE

SAS SPDE est un moteur de gestion de données SAS, SAS SPDS est un serveur à part entière de gestion des données et au fonctionnant proche de SAS SPDE. SAS SPDE est intégré au module SAS Base comme moteur de gestion des données .

Aujourd’hui intégré au produit / module SAS Base, son nom à été changé en SAS SPDE.

Ce moteur de données SAS offre des performances exceptionnelles et trouve sa raison d’être dans le besoin de performances accrues lors de requêtes sur des tables de très gros volumes. C’est à dire des tables allant de 512 méga à plusieurs terra octets.

En synthèse, si on souhaite pouvoir lancer une requête contenant plusieurs critères sur une table de plusieurs terra octets et obtenir une réponse en quelques secondes, alors la solution SAS SPDE  est une solution appropriée.

SAS SPDE est donc l’un des procédé d’optimisation, il en existe bien d’autre,  pour l’accès à des données décisionnelles, données d’entreprise, de fortes volumétrie et nécessitant des performances accrues en terme de temps de réponse à des requêtes.

Description technique de SAS SPDE

Pourquoi SAS SPDE est encore plus rapide que SAS Base, qui déjà offre des performance hors du commun ?

Lire la suite de cette entrée »