Vous pouvez envoyer de nombreuses opérations de préparation et d'exploration de données directement dans votre base de données pour améliorer les performances.
L'une des fonctions les plus puissantes de SPSS Modeler est la possibilité d'effectuer de nombreuses opérations de préparation et d'exploration de données directement dans la base de données. Grâce à la création de code SQL pouvant être répercuté dans la base de données pour y être exécuté, de nombreuses opérations, comme l'échantillonnage, le tri, le calcul de nouveaux champs et la génération de certains types de graphique, peuvent être effectuées dans la base de données plutôt que sur l'ordinateur client ou serveur. Lorsque vous travaillez avec des ensembles de données volumineux, ces répercussions peuvent améliorer considérablement les performances, et ce, de plusieurs manières :
- En réduisant la taille de l'ensemble de résultats à transférer du SGBD vers watsonx.ai. La lecture de résultats trop nombreux via un pilote ODBC risque d'entraîner des problèmes de performances au niveau de l'E-S réseau ou du pilote. C'est la raison pour laquelle les opérations qui tirent le plus parti de l'optimisation SQL sont la sélection et l'agrégation de lignes et de colonnes (noeuds Sélectionner, Echantillon, Agréger), lesquelles réduisent généralement la taille de l'ensemble de données à transférer. Pour améliorer davantage les performances, il est également possible de mettre les données en cache dans une table temporaire de la base de données, au niveau de points critiques du flux (par exemple, après un noeud Fusionner ou Sélectionner).
- En exploitant les performances et l'évolutivité de la base de données. Efficacité accrue : les SGBD bénéficient en effet souvent de la technique du traitement parallèle, d'un matériel plus puissant, d'une gestion plus évoluée du stockage sur disque et de la présence d'index.
Compte tenu de ces avantages, watsonx.ai est conçu pour maximiser la quantité de code SQL généré par chaque flux SPSS Modeler de sorte que seules les opérations qui ne peuvent pas être compilées en code SQL soient exécutées par watsonx.ai. Toutefois, le langage SQL standard (SQL-92) ne permet pas de tout exprimer. Certaines opérations risquent donc de ne pas être prises en charge.
Pour plus de détails sur les bases de données actuellement prises en charge, voir Sources de données prises en charge pour SPSS Modeler.
- Lors de l'exécution d'un flux, les noeuds qui répercutent vers votre base de données sont mis en évidence avec une petite icône SQL en regard du noeud. Lorsque vous commencez à apporter des modifications à un flux après l'avoir exécuté, les icônes seront retirées jusqu'à la prochaine exécution du flux.
- Si vous souhaitez voir quels noeuds seront retransmis avant d'exécuter un flux, cliquez sur SQL preview. Cela vous permet de modifier le flux avant de l'exécuter afin d'améliorer les performances en déplaçant les opérations non-Pushback le plus en aval possible, par exemple.
- Si un noeud ne peut pas être répercuté, tous les noeuds suivants du flux ne seront pas répercutés non plus (les répercussions s'arrêtent à ce noeud). Cela peut avoir un impact sur la manière dont vous souhaitez organiser l'ordre des noeuds dans votre flux.
- En raison de différences mineures dans l'implémentation SQL, les flux qui s'exécutent dans une base de données peuvent renvoyer des résultats légèrement différents lorsqu'ils sont exécutés dans watsonx.ai. Pour ces mêmes raisons, ces différences peuvent également varier en fonction du fournisseur de base de données. Par exemple, en fonction de la configuration de la base de données pour la sensibilité à la casse dans la comparaison de chaînes et le classement de chaînes, les flux SPSS Modeler qui s'exécutent à l'aide de SQL Pushback peuvent produire des résultats différents de ceux qui s'exécutent sans SQL Pushback. Contactez l'administrateur de votre base de données pour obtenir des conseils sur la configuration de votre base de données. Pour optimiser la compatibilité avec watsonx.ai, les comparaisons de chaînes de base de données doivent être sensibles à la casse.
- Lors de l'utilisation de watsonx.ai pour générer du SQL, il est possible que le résultat de l'utilisation de SQL pushback ne soit pas cohérent sur certaines plateformes (Linux, par exemple). Cela est dû au fait que le point flottant est traité différemment sur différentes plateformes.