Manage, Synchronize and Exchange Data

Quelles sont les nouveautés de
SAP SQL Anywhere 12

Résumé

SQL Anywhere 12 arrive avec trois évolutions majeures :

  1. une pile spatiale complète avec support « sphère terrestre », catalogue SRID et importateur de shapefiles.
  2. un moteur plus malin et plus rapide — scans multi-index, lecture index-only, nouveau modèle de coût CPU et verrous allégés.
  3. une sécurité, un cloud et des outils remis à plat pour préparer l'édition OnDemand et les déploiements à grande échelle.

Le patch 12.0.1 ajoute des modes de connexion dédiés au cloud et des bibliothèques clientes SHA-2/OSGi. La plupart des gains sont disponibles dès l'upgrade + rebuild du catalogue ; les fonctions spatiales et l'événement de deadlock exigent un dbinit/dbunload-reload pour exposer les nouveaux objets système.

1. Performances moteur & optimiseur

  • Scans multi-index (jusqu'à quatre) et récupération index-only permettent à l'optimiseur de résoudre des requêtes multi-predicats sans toucher le tas de données, via un nouveau hint dans la clause WITH.
  • Un modèle de coût conscient du CPU remplace l'heuristique âgée d'une décennie, modifiant souvent les plans sur du matériel récent.
  • Le plan-cache englobe désormais les DML simples qui l'esquivaient, réduisant encore le coût de parse/optimisation.
  • Les charges intenses DDL/DML profitent de règles de verrouillage réécrites : les mises à jour non-clé ne bloquent plus les insertions FK concurrentes ; en isolation 2/3, un verrou tableau SHARE évite les verrous ligne.
  • Validation, suppressions d'index et tables proxy distantes gagnent en rapidité ; les paquets réseau passent à 7 300 o (plancher 500 o) pour une latence plus faible.

2. Spatial, types de données & SQL

  • Arrivée du support spatial natif : types géométriques, commandes CREATE SPATIAL REFERENCE SYSTEM/UNIT OF MEASURE, prédicats sphériques et procédure st_geometry_load_shapefile qui convertit un shapefile ESRI en table d'un seul appel.
  • Les instructions INPUT/LOAD TABLE et OPENSTRING acceptent FORMAT SHAPEFILE et le mot-clé SRID pour ancrer les coordonnées dès l'ingestion.
  • Nouveau TIMESTAMP WITH TIME ZONE haute précision (alias DATETIMEOFFSET) et longueurs CHAR/NCHAR/VARCHAR portées à 32 767 caractères.
  • Les clauses TOP / LIMIT gèrent l'arithmétique 64 bits ; DELETE accepte enfin les alias de table.

3. Sécurité, cloud & connectivité

  • Le commutateur serveur -kp autorise un principal Kerberos complet (service/host@REALM), remplaçant le vieillissant -kr.
  • createcert gagne des raccourcis conviviaux ; OPENSTRING … ENCRYPTED permet au serveur de lire un fichier chiffré par UNLOAD … ENCRYPTED sans copie en clair.
  • Avec 12.0.1, SQL Anywhere OnDemand introduit le mode de connexion CloudAdmin, des boîtes de dialogue cloud-aware et le paramètre NodeType qui oriente les connexions vers PRIMARY, MIRROR ou READONLY.
  • Les messages serveur sont catégorisés / sévérisés et exposés via sa_server_messages, pratique pour filtrer les avertissements importants.

4. Administration & outils

  • Les backups d'archives parallèles réduisent la fenêtre complète grâce à WITH CHECKPOINT LOG COPY et MAX WRITE n|AUTO.
  • Le duo START SERVER / STOP SERVER remplace les anciens verbes ENGINE et prépare l'automatisation cross-plateforme.
  • L'utilitaire dbstats apporte aux Unix les compteurs temps réel déjà disponibles sous Windows.
  • Les rebuilds d'index compressés réduisent la taille des bases existantes, et on peut exécuter des requêtes de reporting sur le miroir pendant que le primaire traite l'OLTP.
  • Un nouvel événement système deadlock couplé à sa_report_deadlocks automatise l'analyse post-mortem des blocages.

5. Données distantes & gestion de fichiers

  • Les serveurs distants peuvent court-circuiter le Driver Manager via CLASS 'saodbc' USING 'DRIVER=SQL Anywhere Native;…', supprimant une couche dans les jointures cross-serveur.
  • LOAD TABLE apprend USING COLUMN/USING VALUE pour importer des BLOB depuis une autre table ou variable, et peut désormais streamer des fichiers depuis le poste client via CmdSeq.

6. Mobilité & synchronisation

  • Le moteur MobiLink 12 (mlsrv12) inaugure un cache dynamique (-cinit/-cmin/-cmax) et un protocole outbound-enabler intégré (-x oe) pour Relay Server.
  • La synchro gère TIMESTAMP WITH TIME ZONE, LOB > 32 KB et géométries spatiales vers Oracle, SQL Server, DB2 et MySQL.
  • Côté device, UltraLiteJ pour Android gagne compression ZLIB, chiffrement bout-en-bout, HTTP redémarrable et navigation de curseur complète.

7. Interfaces de programmation

  • Des liaisons Ruby rejoignent la gamme ; les providers ASP.NET membership/roles/profile stockent l'état web dans SQL Anywhere.
  • Le driver JDBC 4 ajoute PreparedStatement.setClob() et des métadonnées OSGi pour les conteneurs embarqués.
  • Pour .NET, prise en charge Entity Framework 4.2 Code-First et nouvel installateur SetupVSPackage qui gère automatiquement GAC et machine.config.

8. Comportement & compatibilité

  • Les heuristiques de taille de cache ajustent automatiquement le minimum à ⅛ de la valeur max.
  • START/STOP ENGINE, -kr, le driver JDBC 3 et la syntaxe REPLICATE ON/OFF sont dépréciés ; l'engin signale un avertissement au démarrage et dbunload nettoie le catalogue.
  • Le parsing de CONVERT se durcit : les chaînes temporelles doivent correspondre exactement au style (par ex. 11:45 AM ne convient plus au style 14).

Prochaines étapes suggérées

  1. Rebuild ou upgrade de bases test pour activer le spatial, l'événement deadlock et la compression d'index.
  2. Benchmarker les scans multi-index face aux hints manuels sur vos schémas en étoile.
  3. Activer le routage lecture-seule sur miroir pour vos outils BI/reporting.
  4. Mettre à jour les stacks clientes : JDBC 4/OSGi, EF 4.2, gem Ruby.
  5. Pour les déploiements cloud, tester le flux de connexion OnDemand (CloudAdmin / NodeType) et résoudre tôt les questions de pare-feu.