É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, voirGestion 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 ()WCUs. Chacune possède WCU 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 maximum WCUs (paramètre :write_capacity_units) défini sur la table cible.

Par défaut, vous pouvez provisionner jusqu'à 40 000 tables WCUs pour une table et 80 000 pour WCUs 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 de plus amples informations sur les quotas, veuillez consulter Quotas pour Amazon Keyspaces (pour Apache Cassandra).

Calculez le nombre moyen de WCUs caractères requis pour un encart

L'insertion de 1 Ko de données par seconde en nécessite 1WCU. Si votre CSV fichier 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 fournir 100 lignes WCUs à votre table. Si chaque ligne contient 1,5 Ko de données, il vous en faut deux WCUs pour insérer une ligne par seconde. Par conséquent, pour insérer 100 lignes par seconde, vous devez en prévoir 200WCUs.

Pour déterminer le nombre de WCUs lignes à insérer 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, il vous en faut trois WCUs 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 CSV fichier, vous pouvez calculer le nombre WCUs de lignes 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 CSV fichier à l'aide de différents WCU paramètres.

Par exemple, si chaque ligne de votre fichier fait 1 Ko et que votre CSV fichier contient 1 000 000 lignes, pour charger les données en 1 heure, vous devez affecter au moins 278 lignes WCUs à 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 ALTER TABLE CQL commande. Voici la syntaxe permettant de modifier les paramètres de capacité provisionnée d'une table à l'aide de l'ALTER TABLECQLinstruction.

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.