Quelles sont les nouveautés de
SAP SQL Anywhere 10
Résumé
- Exécution parallèle, qui exploite tous les cœurs disponibles pour accélérer les requêtes lourdes.
- Haute disponibilité intégrée via le mirroring de base à deux ou trois nœuds, complété par l’isolation snapshot pour éliminer les blocages lecteurs/écrivains.
- Renforcement des outils & du standard SQL (cache d’instructions côté client, SQL Flagger, paramétrage fin des collations, chiffrement RSA natif).
Le correctif 10.0.1 parachève l’ensemble (mise en cache activée par défaut, diagnostics ANSI, support Oracle côté MobiLink, etc.). La plupart des avancées sont disponibles après un simple upgrade du catalogue ; seules certaines options (ex. tailoring de collation) exigent un rebuild.
1. Moteur & concurrence
- Parallélisme intra-requête : le serveur répartit scans, jointures et tris sur plusieurs CPU sans directive manuelle, tant que le nombre de requêtes actives est inférieur au nombre de cœurs.
- Cache d’instructions côté client : en 10.0.1, les bibliothèques stockent les requêtes préparées les plus fréquentes et réutilisent leur handle ; le comportement se pilote par max_client_statements_cached et s’observe via les propriétés ClientStmtCacheHits/Misses.
- Plan-cache élargi aux DML simples, réduisant encore le coût de parse lors des pics OLTP.
- Améliorations de verrouillage : intent locks, suppression du key-range lock superflu et B-tree compressés soutenant l’isolation snapshot.
2. Haute disponibilité & reprise
- Mirroring : un primaire, un miroir et (optionnel) un arbitre assurent bascule synchrone ou asynchrone ; nouveaux switches -sn, -xf, -xp et événements MirrorServerDisconnect / MirrorFailover.
- Isolation snapshot : les lecteurs accèdent à une version cohérente sans bloquer les mises à jour, réduisant nettement deadlocks et contentions.
- Sauvegardes d’archive parallèles (clause WITH CHECKPOINT LOG COPY + MAX WRITE) pour écourter les fenêtres de backup.
3. SQL & conformité standard
- SQL Flagger : la fonction SQLFLAGGER et la proc sa_ansi_standard_packages valident vos requêtes face aux normes SQL-92/99/2003 ou au sous-ensemble UltraLite, avec réglage fin par options sql_flagger_*.
- Les DML/UNION/EXCEPT/INTERSECT acceptent désormais une clause OPTION pour surcharger optimization_goal, isolation_level, etc., requête par requête.
- Tailoring de collation à la création (dbinit -z/-zn) pour ajuster sensibilité à la casse, aux accents et à la ponctuation selon la locale.
4. Administration & exploitation
- Utilitaire dbsupport : collecte anonyme de statistiques et dumps pour accélérer la résolution d’incidents, avec répertoire configurable (SADIAGDIR).
- Les assistants empêchent d’exporter vers des formats < v10 et lèvent la contrainte de port sur HP-UX, fluidifiant les migrations multi-instances.
5. Sécurité & gouvernance
- Le chiffrement RSA est désormais inclus ; la clause CREATE DATABASE … ENCRYPTION accepte simple ou strong et permet de choisir clé/algorithme dans n’importe quel ordre.
- Les login-policies étendent la gestion de mots de passe, verrouillages et quotas, tandis que l’option -xd empêche une instance de s’enregistrer comme serveur par défaut sur l’hôte.
6. Services web & intégration
- Sous CREATE PROCEDURE/FUNCTION, le nouveau sous-clause SET règle version HTTP, chunking ou noms d’opérations SOAP ; le support HTTPS s’étend à macOS.
7. Mobilité & synchronisation
- MobiLink 10 : pilote ODBC Oracle intégré, visualiseur de log graphique et cache mémoire plus souple (mlsrv10 -cm).
- QAnywhere adopte un adressage réseau dynamique et des plafonds de téléchargement par message, avec possibilité de stocker les files sur UltraLite.
Prochaines étapes recommandées
- Mesurez l’impact du parallélisme sur vos plus grosses requêtes de reporting.
- Montez un environnement de mirroring test et script d’abord un SET PARTNER FAILOVER pour valider l’auto-bascule.
- Activez snapshot isolation pour les applications essentiellement en lecture et comparez les métriques de deadlock.
- Dimensionnez le cache d’instructions en observant ClientStmtCacheHits/Misses.
- Lors d’un rebuild, appliquez une collation adaptée aux règles linguistiques de vos utilisateurs.