View a markdown version of this page

Étape 3 : définir la capacité de débit de la table - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 3 : définir la capacité de débit de la table

Ce didacticiel explique comment régler cqlsh pour charger des données dans un intervalle de temps défini. Comme vous savez à l'avance combien de lectures et d'écritures vous devez effectuer, utilisez le mode capacité provisionnée. Une fois le transfert de données terminé, vous devez définir le mode de capacité de la table en fonction des modèles de trafic de votre application. Pour en savoir plus sur la gestion des capacités, consultezGestion des ressources sans serveur dans Amazon Keyspaces (pour Apache Cassandra).

Avec le mode capacité provisionnée, vous spécifiez à l'avance la capacité de lecture et d'écriture que vous souhaitez allouer à votre table. La capacité d'écriture est facturée à l'heure et mesurée en unités de capacité d'écriture (WCU). Chaque WCU possède une capacité d'écriture suffisante pour prendre en charge l'écriture de 1 Ko de données par seconde. Lorsque vous chargez les données, le taux d'écriture doit être inférieur au nombre maximum de WCU (paramètre :write_capacity_units) défini sur la table cible.

Par défaut, vous pouvez allouer jusqu'à 40 000 WCU à une table et 80 000 WCU pour toutes les tables de votre compte. Si vous avez besoin de capacités supplémentaires, vous pouvez demander une augmentation de quota dans la console Service Quotas. Pour plus d’informations sur les quotas, consultez Quotas pour Amazon Keyspaces (pour Apache Cassandra).

Calculez le nombre moyen de WCU nécessaires pour un insert

L'insertion de 1 Ko de données par seconde nécessite 1 WCU. Si votre fichier CSV comporte 360 000 lignes et que vous souhaitez charger toutes les données en 1 heure, vous devez écrire 100 lignes par seconde (360 000 lignes/60 minutes/60 secondes = 100 lignes par seconde). Si chaque ligne contient jusqu'à 1 Ko de données, pour insérer 100 lignes par seconde, vous devez allouer 100 WCU à votre table. Si chaque ligne contient 1,5 Ko de données, vous avez besoin de deux WCU pour insérer une ligne par seconde. Par conséquent, pour insérer 100 lignes par seconde, vous devez provisionner 200 WCU.

Pour déterminer le nombre de WCU dont vous avez besoin pour insérer une ligne par seconde, divisez la taille moyenne des lignes en octets par 1024 et arrondissez au nombre entier le plus proche.

Par exemple, si la taille moyenne des lignes est de 3 000 octets, vous avez besoin de trois WCU pour insérer une ligne par seconde.

ROUNDUP(3000 / 1024) = ROUNDUP(2.93) = 3 WCUs
Calculer le temps et la capacité de chargement des données

Maintenant que vous connaissez la taille moyenne et le nombre de lignes de votre fichier CSV, vous pouvez calculer le nombre de WCU nécessaires pour charger les données dans un laps de temps donné, ainsi que le temps approximatif nécessaire pour charger toutes les données de votre fichier CSV en utilisant différents paramètres WCU.

Par exemple, si chaque ligne de votre fichier fait 1 Ko et que votre fichier CSV contient 1 000 000 lignes, pour charger les données en 1 heure, vous devez allouer au moins 278 WCU à votre table pendant cette heure.

1,000,000 rows * 1 KBs = 1,000,000 KBs 1,000,000 KBs / 3600 seconds =277.8 KBs / second = 278 WCUs
Configuration des paramètres de capacité provisionnée

Vous pouvez définir les paramètres de capacité d'écriture d'une table lorsque vous créez la table ou à l'aide de la commande ALTER TABLE CQL. Voici la syntaxe permettant de modifier les paramètres de capacité provisionnée d'une table à l'aide de l'instruction ALTER TABLE CQL.

ALTER TABLE mykeyspace.mytable WITH custom_properties={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 100, 'write_capacity_units': 278}} ;

Pour la référence linguistique complète, voirALTER TABLE.