Manage, Synchronize and Exchange Data

Quelles sont les nouveautés de
SAP SQL Anywhere 11

Résumé

SQL Anywhere 11 marque trois évolutions majeures :

  1. un SQL enrichi et une recherche plein-texte (MERGE, CONTAINS, REGEXP, SIMILAR TO)
  2. un moteur plus agile qui sert nombre de requêtes directement depuis les index et peut charger/extraire des fichiers côté client.
  3. des fondations d’infrastructure pour la gouvernance, la montée en charge, la sauvegarde parallèle et la mobilité (MobiLink 11, QAnywhere).

Un simple upgrade du catalogue suffit à activer la plupart des nouveautés ; seules les vues matérialisées à rafraîchissement immédiat ou l’indexation texte requièrent un rebuild pour créer les objets système correspondants.

1. Langage SQL & types de données

MERGE et recherche avancée

  • La nouvelle instruction MERGE fusionne INSERT/UPDATE/DELETE en un seul bloc, simplifiant les scripts d’« UPSERT ».
  • La recherche plein-texte via CONTAINS offre des requêtes par terme, phrase, proximité ou fuzziness, reposant sur un index texte dédié.
  • Les prédicats REGEXP et SIMILAR TO ajoutent des filtres compatibles Perl pour l’analytique ad-hoc.
  • La clause OPENSTRING permet d’interroger à la volée un CSV, XML ou BLOB comme s’il s’agissait d’une table.

2. Optimiseur & performances noyau

  • L’algorithme de scan multi-index combine jusqu’à quatre index pour répondre à des prédicats complexes et évite souvent les tables temporaires.
  • Le moteur pratique désormais la lecture « index-only » : si la requête ne touche que des colonnes indexées, aucune page de table n’est lue.
  • Pour les requêtes très simples, l’optimiseur peut être court-circuité au profit d’un plan heuristique moins coûteux.

3. Chargement, extraction & reprise

  • LOAD TABLE et UNLOAD savent désormais tirer/pousser des fichiers côté client (CmdSeq), éliminant les copies temporaires sur le serveur.
  • Trois nouveaux modes de journalisation (CONTENT LOGGING, ROW LOGGING, FILE NAME LOGGING) permettent aux systèmes en miroir ou au point-in-time recovery de rejouer les opérations de masse sans les fichiers d’origine.
  • LOAD TABLE … USING COLUMN|VALUE et UNLOAD … INTO VARIABLE accélèrent les ETL internes entre tables ou BLOB mémoire.

4. Vues matérialisées

Les vues peuvent être déclarées IMMEDIATE et se rafraîchir automatiquement à chaque modification des tables sources ; le rafraîchissement utilise par défaut WITH SHARE MODE pour laisser passer les lecteurs.

5. Sécurité & gouvernance

  • Les politiques de connexion (login policies) donnent un contrôle fin sur durée de vie des mots de passe, verrouillage, quotas et échecs d’authentification.
  • Le commutateur serveur -xd empêche l’instance de devenir le serveur « par défaut » d’une machine, bloquant les connexions égarées.

6. Administration, sauvegarde & exploitation

  • Les sauvegardes d’archive parallèles (clauses WITH CHECKPOINT LOG COPY et MAX WRITE) exploitent l’I/O multithread pour réduire la fenêtre de maintenance.
  • sa_server_option peut maintenant surveiller et réagir au changement des options ; les outils macOS n’exigent plus de scripts de contournement.

7. Mobilité & synchronisation

  • MobiLink 11 introduit la gestion de farms Relay Server, le téléchargement SQL pass-through et de nouveaux commutateurs (-cs, -lsc, -ss) pour le multi-nœuds.
  • Les flags diagnostics (-vm, -vq, -ppv) exposent minutages et compteurs de phases directement dans les logs de sync, simplifiant le tuning.
  • QAnywhere peut désormais utiliser UltraLite comme magasin et fournit un agent autonome plus des API .NET/Java/C# pour la messagerie légère.
  • UltraLite 11 gagne LOAD TABLE, VALIDATE, de nouvelles jointures multi-tables et des API C++/Java enrichies.

Prochaines étapes suggérées

  1. Mettre à jour une base de test via dbupgrad pour activer politiques de connexion, index texte et nouvelles vues catalogue.
  2. Comparer les scans multi-index à vos hints manuels sur des charges mixtes (entrepôt de données, recherches).
  3. Migrer les ETL nocturnes vers le chargement/déchargement depuis fichiers client pour réduire les transferts SAN.
  4. Programmer une première sauvegarde parallèle d’archive et ajuster vos scripts de rétention.
  5. Piloter le mode farm du Relay Server pour vos applis mobiles et activer -vm afin d’établir un profil de base des performances de synchronisation.