Quelles sont les nouveautés de
SAP SQL Anywhere 16
Résumé
La version 16 modernise la plate-forme de quatre façons majeures :
- Un nouveau modèle de sécurité fondé sur les rôles (RBAC),
- d'importants gains d'optimisation et d'exécution parallèle,
- une intégration Web de premier plan grâce à un serveur OData natif, et
- des outils de diagnostic dignes de l'entreprise comme la traçabilité d'événements.
Les Support Packages (jusqu'à la build 1823) ajoutent la connexion LDAP, le disk sandboxing, le chiffrement RSA/AES, l'OData multiproducer, etc. La plupart des bénéfices sont immédiats après mise à niveau + reconstruction du catalogue, mais les changements de sécurité exigent de nouveaux GRANT/REVOKE et parfois un audit des magasins de certificats.
1. Sécurité & gouvernance
1.1 Contrôle d'accès basé sur les rôles (RBAC)
- La v16 remplace l'ancien modèle « autorisations & privilèges » par des privilèges système, des rôles et des administrateurs de rôle ; chaque opération sensible (ex. ALTER ANY TABLE) dispose de son privilège, et des rôles packagés simplifient l'attribution.
- Les nouveaux privilèges objet LOAD et TRUNCATE permettent d'accorder le bulk-load ou la purge rapide sans donner le DDL complet.
- GRANT/REVOKE, vues système (SYSROLEGRANT*, SYSGROUP*) et les assistants Sybase Central ont été refondus pour gérer ce modèle.
1.2 Authentification d'entreprise
- Arrivée des logins LDAP avec options de politique racine (ldap_primary_server, retour arrière automatique, etc.), DDL (CREATE LDAP SERVER … VALIDATE) et catalogue SYSLDAPSERVER.
- Les clients peuvent aussi s'authentifier via PAM (Unix/Linux) ou les magasins de certificats du système ; le serveur récupère les autorités racine quand trusted_certificates=* est défini.
1.3 Clés de fonctionnalités sécurisées & disk sandboxing
- Les DBA peuvent forger des clés de fonctionnalité limitées à un jeu précis (sp_create_secure_feature_key, …).
- Le disk sandboxing (serveur -sbx, DISKSANDBOX sur START DATABASE) confine les I/O au dossier de la base, protégé par deux nouvelles secure features.
1.4 Rafraîchissement cryptographique
- OpenSSL remplace Certicom ; ECC disparaît, TLS 1.1 arrive, et les déploiements FIPS passent aux identités chiffrées en AES.
- Nouvelles aides RSA (sp_generate_key_pair, SECURE_SIGN_MESSAGE, …) pour signer et chiffrer dans le moteur.
2. Performance & moteur
2.1 Optimiseur & ordonnanceur
- L'optimiseur coûte désormais des arbres de jointures non left-deep, accélérant les requêtes étoile/flocon.
- L'ordonnanceur topo-aware fixe d'abord les workers à un cœur par socket avant de passer aux hyper-threads ; activable via sa_server_option('TopologyScheduler','ON|OFF').
- sa_cpu_topology et l'option -gta autorisent l'ajout/retrait de CPU à chaud.
2.2 Types composite ROW & ARRAY
Types ROW() et ARRAY[…] natifs pour colonnes, variables et domaines, dé-linéarisant les listes VARCHAR et acceptant UNNEST/IN OUT.
2.3 Paquets plus gros, cache plus léger
- Taille max des paquets portée de 16 kB à 65 535 octets côté client et passerelles TDS.
- Le cache initial est dissocié du cache maximum, évitant les warm-starts sur-dimensionnés.
3. SQL, API & développement
3.1 Ajouts au langage
- Les domaines acceptent ROW/ARRAY ; CREATE ROLE, ALTER ROLE, DROP ROLE gèrent les rôles personnalisés.
- Le visualisateur de plans affiche désormais la forme paramétrée, utile pour le plan-cache.
3.2 Pilotes & frameworks
Drivers officiels Node.js ≤ v8 et PHP 7 ; JDBC/ODBC gagnent TIMESTAMPADD/DIFF et le drapeau ClientAutocommit.
3.3 Données distantes & connectivité HANA
Nouveau server class HANAODBC : SAP HANA devient une source distante native.
4. Web, services & intégration
4.1 Serveur OData embarqué
- La base héberge désormais plusieurs producteurs OData via Jetty intégré ; démarrage par -xs odata(...) ou CREATE ODATA PRODUCER.
- Les SP ajoutent concurrence optimiste (ETag), jetons CSRF, deep inserts et un mappage OSDL enrichi.
4.2 Services Web
webservice_sessionid_name renomme le cookie de session HTTP pour éviter les collisions SSO/proxy.
5. Supervision & diagnostic
5.1 Traçabilité d'événements
La traçabilité d'événements écrit dans des fichiers ETD via CREATE TEMPORARY TRACE EVENT SESSION, secure feature trace_system_event, et procs sp_trace_*.
5.2 Profiler MobiLink
Le vieux MobiLink Monitor disparaît ; le Profiler stocke timings/déblocages dans une DB SQL Anywhere.
5.3 Ajustements utilitaires
dbunload -ss supprime les stats de colonnes ; dbspawn retourne EXIT_SERVER_NAME_IN_USE ; createcert/viewcert gèrent les clés PKCS-1.
6. Administration & outils
- Le disk sandboxing est réglable à chaud via sa_server_option / sa_db_option, protégé par manage_disk_sandbox.
- Sybase Central repensé pour rôles/LDAP/index textes ; Interactive SQL teste les DSN ODBC/UltraLite in situ.
- Nouveaux commutateurs serveur : -al (login mixte), -ufd (politique d'erreurs fatales), multi--xs (protocoles multiples), -edi (isolation de base).
7. Mobilité & synchronisation
7.1 Temps forts MobiLink 16
- Hooks d'authentification LDAP (ml_add_ldap_server) et parité TLS avec le nouveau crypto-stack.
- Diagnostics Profiler, options de certificats TLS, récupération de logs offline et nouveaux switches CLI pour mluser / mlreplay.
7.2 UltraLite
Android x86, UWP et AES-256 sur BlackBerry ; syssyncresult remonte les messages d'auth vers le client.
8. Entretien & changements de comportement
- Les procédures système adoptent par défaut les droits de l'invocateur dans les nouvelles bases (sauf AS DEFINER).
- Mots de passe sensibles à la casse, longueur mini portée à 3 caractères.
- Retrait ECC, cache minimum à 64 Mo et nouveaux paquets impactent les flottes mixtes.
Prochaines étapes recommandées
- Auditer rôles et politiques avant migration — remplacer les droits DBA par des privilèges au plus juste.
- Activer la traçabilité d'événements sur une pré-prod pour établir un baseline.
- Tester le Producteur OData natif si vous exposez des REST.
- Benchmarkez ROW/ARRAY et envisagez de remplacer les listes VARCHAR.
- Renouveler les certificats en AES, abandonner ECC, fixer TLS mini à 1.1+.
- Planifier le disk sandboxing en prod pour confiner les accès fichiers du moteur.