En mode Serverless, AnalyticDB for PostgreSQL propose des fonctionnalités telles que le découplage des ressources de calcul et de stockage, une mise à l'échelle élastique en quelques secondes et le partage de données en temps réel entre les instances. Ces fonctionnalités s'appuient sur la mutualisation des ressources et les capacités de stockage massif offertes par les infrastructures cloud, ainsi que sur les technologies de traitement massivement parallèle (MPP), d'analyse batch et en temps réel intégrées, et le modèle Serverless.
Présentation
En mode Serverless, AnalyticDB for PostgreSQL dissocie les ressources de calcul et de stockage afin de permettre leur mise à l'échelle indépendante. Les ressources de stockage restent facturées selon le modèle de paiement à l'utilisation, tandis que les capacités de calcul peuvent être ajustées séparément pour répondre aux besoins métier. Cette approche réduit les coûts de stockage et améliore l'efficacité opérationnelle.
Le mode Serverless d'AnalyticDB for PostgreSQL présente les avantages suivants par rapport au mode de stockage élastique :
Réduction des coûts de stockage et utilisation des ressources à la demande. Ce mode permet d'effectuer des analyses de données rentables sans migrer vos données vers d'autres supports de stockage. Il répond aux exigences d'analyse des secteurs financier et Internet.
Optimisation des écritures à haut débit et des opérations de traitement par lots haute performance grâce à une mise à l'échelle élastique, adaptée aux scénarios impliquant de grands volumes de données et d'importantes fluctuations de trafic.
Fonctionnalité de partage de données basée sur la séparation du stockage et du calcul. Les données partagées sont accessibles depuis d'autres bases de données sans export ni import. Cette solution est plus simple et plus économique que l'accès aux données dans les entrepôts de données traditionnels.
Remarques relatives à l'utilisation
Sur le site international (alibabacloud.com), les instances AnalyticDB for PostgreSQL en mode Serverless ne peuvent être créées que selon le modèle de paiement à l'utilisation.
Le mode Serverless d'AnalyticDB for PostgreSQL est pris en charge dans les régions et zones suivantes :
-
Asie-Pacifique
Singapour : Zone C de Singapour
Thaïlande (Bangkok) : Zone A de Bangkok
Japon (Tokyo) : Zone B de Tokyo
-
Europe et Amériques
États-Unis (Virginie) : Zone A de Virginie et Zone B de Virginie
-
Moyen-Orient
Arabie saoudite (Riyad - Région partenaire) : Zone B de Riyad - Région partenaire
Comparaison des modes de service
Le mode Serverless prend en charge la plupart des fonctionnalités du mode de stockage élastique. Le tableau suivant décrit les différences entre ces deux modes de service.
Catégorie | Fonctionnalité | Mode de stockage élastique | Mode Serverless |
Gestion des instances | Informations de base sur l'instance | Prise en charge | Prise en charge |
Connexion aux bases de données via Data Management (DMS) | Prise en charge | Prise en charge | |
Création d'instance | Prise en charge | Prise en charge | |
Libération d'instance | Prise en charge | Prise en charge | |
Redémarrage d'instance | Prise en charge | Prise en charge | |
Mise à niveau ou rétrogradation de la configuration de l'instance | Prise en charge | Non pris en charge | |
Ajout ou suppression de nœuds coordinateurs | Prise en charge | Prise en charge | |
Extension horizontale de l'instance | Prise en charge | Prise en charge | |
Réduction horizontale de l'instance | Prise en charge | Prise en charge | |
Mise à jour de version mineure | Prise en charge | Prise en charge | |
Gestion des comptes | Création de compte | Prise en charge | Prise en charge |
Réinitialisation du mot de passe | Prise en charge | Prise en charge | |
Connexion à la base de données | Informations de connexion de base | Prise en charge | Prise en charge |
Demande d'endpoint public | Prise en charge | Prise en charge | |
Surveillance et alertes | Surveillance | Prise en charge | Prise en charge |
Règles d'alerte | Prise en charge | Prise en charge | |
Sécurité des données | Listes d'autorisation d'adresses IP | Prise en charge | Prise en charge |
Audit SQL | Prise en charge | Prise en charge | |
Chiffrement SSL | Prise en charge | Prise en charge | |
Sauvegarde et restauration | Prise en charge | Prise en charge | |
Configuration | Paramètres | Prise en charge | Prise en charge |
Limites
Le mode Serverless prend en charge plus de 95 % des fonctionnalités du mode de stockage élastique. Dans la plupart des cas, la même syntaxe s'applique aux deux modes. Des outils tels que le connecteur JDBC (Java Database Connectivity), le connecteur ODBC (Open Database Connectivity) et psql s'utilisent de la même manière en mode Serverless qu'en mode de stockage élastique. Le tableau suivant décrit les limites d'AnalyticDB for PostgreSQL en mode Serverless pour certaines fonctionnalités.
En mode Serverless, les fonctionnalités de clé primaire et d'index sont en aperçu public. Pour créer des index, contactez le support technique afin d'activer la fonctionnalité d'indexation.
Une fois les index créés, les performances de mise à l'échelle sont impactées. Le temps nécessaire à la mise à l'échelle est proportionnel au volume de données des index.
Le stockage des index engendre des frais supplémentaires. Toutefois, aucun frais n'est facturé pour le stockage des index pendant la période d'aperçu public.
Catégorie | Fonctionnalité | Description |
Fonctionnalités de base | ALTER TABLE |
|
Index | Prise en charge | |
Clés primaires | Prise en charge | |
Contraintes d'unicité | Prise en charge | |
INSERT ON CONFLICT | Prise en charge | |
Désactivation de la journalisation des tables | Non pris en charge | |
Déclencheurs | Non pris en charge | |
Tables heap, tables orientées ligne optimisées pour l'ajout (AORO) et tables orientées colonne optimisées pour l'ajout (AOCO) | Non pris en charge | |
Types de données personnalisés | Non pris en charge | |
Curseurs explicites | Prise en charge | |
Moteurs de calcul | Optimiseur Orca | Prise en charge |
Moteur Laser | Prise en charge | |
Capacités transactionnelles | Sous-transactions | Prise en charge |
Niveaux d'isolation des transactions | Les niveaux d'isolation Read Committed (RC) et Repeatable Read (RR) sont pris en charge. | |
Fonctionnalités avancées | Sauvegarde et restauration | Prise en charge |
Vues matérialisées | Prise en charge | |
Auto-vacuum | Prise en charge | |
Auto-analyze | Prise en charge | |
Extension horizontale élastique | Prise en charge | |
Réduction horizontale élastique | Prise en charge | |
GIS/GANOS | Non pris en charge | |
Partage de données | Prise en charge |
Migration des données
Vous pouvez migrer des données depuis une instance AnalyticDB for PostgreSQL en mode de stockage élastique ou réservé vers une instance en mode Serverless. Pour plus d'informations, consultez la rubrique Migration de données entre des instances AnalyticDB for PostgreSQL.
Le tableau suivant indique la prise en charge, par le mode Serverless, des différents types de migration de données.
Type de migration | Références | Description |
Écriture de données | Utilisation de INSERT ON CONFLICT pour insérer ou mettre à jour des données | Prise en charge |
Prise en charge | ||
Prise en charge | ||
Migration de données de table | Prise en charge | |
Migration ou synchronisation de données depuis une base de données Alibaba Cloud | Prise en charge | |
Migration ou synchronisation de données depuis une base de données autonome | Prise en charge | |
Non pris en charge Vous pouvez importer des données à l'aide de tables externes. | ||
Prise en charge | ||
Utilisation d'une table externe pour importer des données depuis OSS | Prise en charge | |
Utilisation de tables externes pour l'analyse fédérée de sources de données Hadoop | Prise en charge | |
Migration de données d'entrepôt | Migration d'un cluster Greenplum autonome vers AnalyticDB for PostgreSQL | Non pris en charge Vous pouvez importer des données à l'aide de tables externes. |
Migration d'applications Teradata vers AnalyticDB for PostgreSQL | Non pris en charge Vous pouvez importer des données à l'aide de tables externes. | |
Migration manuelle de données Amazon Redshift vers AnalyticDB for PostgreSQL | Non pris en charge Vous pouvez importer des données à l'aide de tables externes. | |
Migration d'applications Oracle vers AnalyticDB for PostgreSQL | Non pris en charge Vous pouvez importer des données à l'aide de tables externes. | |
Migration d'une base de données Oracle autonome vers AnalyticDB for PostgreSQL | Non pris en charge Vous pouvez importer des données à l'aide de tables externes. |
Planification automatique (en aperçu sur invitation)
Le mode de planification automatique Serverless d'AnalyticDB for PostgreSQL est disponible en aperçu sur invitation. Pour demander l'accès à cet aperçu, submit a ticket.
Les instances AnalyticDB for PostgreSQL en mode de planification automatique Serverless peuvent être automatiquement mises en pause et reprises en fonction de la détection du trafic. En l'absence de trafic, les instances passent automatiquement à l'état inactif. Aucun frais n'est facturé pour les ressources de calcul lorsque les instances sont inactives.
Les instances AnalyticDB for PostgreSQL en mode de planification automatique Serverless vous permettent de modifier les valeurs des paramètres Computing Resource Threshold et Wait Time for Idle Resource Release. Pour plus d'informations, consultez la rubrique Configuration des ressources de l'instance.
Les instances en mode de planification automatique Serverless sont facturées à la seconde en fonction des unités de calcul AnalyticDB (ACU), qui mesurent la puissance de calcul des instances. Le système collecte le nombre d'ACU utilisées et génère les factures sur une base horaire. Pour plus d'informations, consultez la rubrique Tarification.
Mise à l'échelle élastique
Les instances en mode Serverless peuvent être mises à l'échelle en quelques minutes. Les performances de mise à l'échelle suivantes sont fournies à titre indicatif :
Une instance disposant de 16 nœuds de calcul ou moins peut être mise à l'échelle en 60 secondes.
Une instance disposant de plus de 16 nœuds de calcul peut être mise à l'échelle en 5 minutes.
Tirez parti de la capacité de mise à l'échelle élastique d'AnalyticDB for PostgreSQL en mode Serverless pour augmenter le nombre de nœuds de calcul avant les pics de trafic prévus, tels que le Double 11, puis réduisez-le après ces périodes de pointe. AnalyticDB for PostgreSQL est facturé à l'heure en fonction de la durée réelle d'utilisation des ressources et des spécifications des nœuds de calcul. Cette approche vous permet de minimiser les coûts tout en garantissant les performances du service.
En mode Serverless, chaque nœud de calcul dispose d'une capacité de stockage maximale. Avant de réduire le nombre de nœuds de calcul, assurez-vous que le volume total de données ne dépasse pas la capacité de stockage maximale combinée de tous les nœuds restants. Par exemple, si chaque nœud de calcul offre 2 cœurs, 8 Go de mémoire et une capacité de stockage maximale de 960 Go, et que vous souhaitez réduire votre instance à quatre nœuds de calcul, le volume total de données ne doit pas dépasser 3 840 Go (960 Go × 4).
Le tableau suivant décrit la capacité de stockage maximale des différentes spécifications de nœuds de calcul pour AnalyticDB for PostgreSQL en mode Serverless.
|**Spécifications**
|
**Capacité de stockage maximale**
| | --- | --- | |
2C8G
|
960 Go
| |
4C16G
|
2200 Go
| |
8C32G
|
5400 Go
| |
16C64G
|
11800 Go
|
À l'exception des interruptions de service survenant avant et après la mise à l'échelle, les charges de travail restent lisibles et accessibles en écriture pendant le processus de mise à l'échelle.
Partage de données (bêta)
Par rapport à la méthode d'importation et d'exportation de données utilisée dans les entrepôts de données traditionnels, le partage de données proposé par AnalyticDB for PostgreSQL en mode Serverless présente les avantages suivants :
Réduction des coûts de stockage : aucune réplication ni migration de données n'est nécessaire entre les instances AnalyticDB for PostgreSQL. Une seule copie des données est stockée dans le stockage distribué et peut être partagée par plusieurs instances dans la plage spécifiée, ce qui réduit l'espace de stockage requis.
Facilité d'utilisation : après avoir créé un partage sur une instance productrice, accordé les autorisations et importé les données dans le partage, vous pouvez accéder aux données partagées depuis une instance consommatrice de la même manière que depuis l'instance productrice. Le schéma de table n'a pas besoin d'être migré. L'ajout ou la suppression d'objets partagés ainsi que les modifications d'autorisation sont automatiquement synchronisés avec l'instance consommatrice.
Cohérence des données : les instances consommatrices peuvent accéder aux données partagées avec des capacités proches de celles des instances productrices. De plus, les instances consommatrices peuvent lire les dernières données écrites par les instances productrices, garantissant ainsi les propriétés ACID (atomicité, cohérence, isolation et durabilité) des transactions.
Le partage de données vous aide à résoudre les problèmes suivants :
Isolation entre des permissions organisationnelles complexes : par exemple, supposons qu'une instance soit créée au siège social et une autre dans une succursale. Le partage de données permet à l'instance de la succursale d'accéder à des données spécifiques de l'instance du siège social.
Isolation entre des ressources métier complexes : par exemple, supposons que les ressources physiques soient isolées entre les types d'activités ETL (extract, transform, load) et ad hoc. Le partage de données permet de partager les résultats ETL entre les instances impliquées dans les requêtes ad hoc.
Échec de la collaboration intermétier : par exemple, si la même copie de données doit être analysée par les équipes R&D, commerciales, opérationnelles et financières, le partage de données permet l'accès aux données par différents groupes métier au sein d'une organisation.
Le partage de données est en phase de test bêta et présente les limites suivantes :
Le partage de données est pris en charge sur les tables standard. Il n'est pas pris en charge sur les tables partitionnées, les tables externes, les vues, les schémas ou les fonctions.
Le partage de données est pris en charge sur les tables distribuées par hachage. Il n'est pas pris en charge sur les tables répliquées ou aléatoires.
Le partage de données n'est pas pris en charge pour les sous-transactions.
Si plusieurs partages existent dans une instance productrice, une instance consommatrice ne peut s'abonner qu'à l'un d'entre eux.
Les opérations DDL ne sont pas autorisées sur les tables partagées. Pour effectuer des opérations DDL sur une table partagée, vous devez désactiver le partage pour cette table.