DDLdeclaraciones (lenguaje de definición de datos) en Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

DDLdeclaraciones (lenguaje de definición de datos) en Amazon Keyspaces

El lenguaje de definición de datos (DDL) es el conjunto de sentencias de Cassandra Query Language (CQL) que se utilizan para gestionar las estructuras de datos en Amazon Keyspaces (para Apache Cassandra), como los espacios de claves y las tablas. Se utilizan DDL para crear estas estructuras de datos, modificarlas después de crearlas y eliminarlas cuando ya no se utilizan. Amazon Keyspaces realiza DDL operaciones de forma asíncrona. Para obtener más información sobre cómo confirmar si una operación asíncrona se ha completado, consulte Creación y eliminación asíncronas de espacios de claves y tablas.

Se admiten las siguientes afirmaciones: DDL

Keyspaces

Un espacio de claves agrupa tablas relacionadas que son relevantes para una o más aplicaciones. En términos de un sistema de administración de bases de datos relacionales (RDBMS), los espacios clave son más o menos similares a las bases de datos, los espacios de tablas o estructuras similares.

nota

En Apache Cassandra, los espacios de claves determinan cómo se replican los datos entre varios nodos de almacenamiento. Sin embargo, Amazon Keyspaces es un servicio totalmente administrado: los detalles de su capa de almacenamiento se administran en su nombre. Por este motivo, los espacios de claves en Amazon Keyspaces son solo construcciones lógicas y no están relacionados con el almacenamiento físico subyacente.

Para obtener información sobre los límites de cuota y las restricciones de los espacios de claves de Amazon Keyspaces, consulte Cuotas para Amazon Keyspaces (para Apache Cassandra).

Declaraciones para espacios de claves

CREATE KEYSPACE

Utilice la instrucción CREATE KEYSPACE para crear un nuevo espacio de claves.

Sintaxis

create_keyspace_statement ::= CREATE KEYSPACE [ IF NOT EXISTS ] keyspace_name WITH options

Donde:

  • keyspace_name es el nombre del espacio de claves que se va a crear.

  • opciones son una o más de las siguientes opciones:

    • REPLICATION: un mapa que indica la estrategia de réplica del espacio de claves:

      • SingleRegionStrategy: para un espacio de claves de región única. (Obligatorio)

      • NetworkTopologyStrategy— Especifique al menos dos y hasta seis Regiones de AWS. El factor de replicación de cada región es tres. (Opcional)

    • DURABLE_WRITES: las escrituras en Amazon Keyspaces son siempre duraderas, por lo que esta opción no es necesaria. Sin embargo, si se especifica, el valor debe ser true.

    • TAGS: una lista de etiquetas de par clave-valor que se vinculan al recurso al crearlo. (Opcional)

Ejemplo

Cree un espacio de claves de la siguiente manera.

CREATE KEYSPACE my_keyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'} and TAGS ={'key1':'val1', 'key2':'val2'} ;

Para crear un espacio de claves multirregional, especifique NetworkTopologyStrategy e incluya al menos dos y hasta seis Regiones de AWS. El factor de replicación de cada región es tres.

CREATE KEYSPACE my_keyspace WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3'};

ALTER KEYSPACE

Se puede utilizar ALTER KEYSPACE para añadir o eliminar etiquetas de un espacio de claves.

Para añadir o eliminar etiquetas, puede utilizar la siguiente sintaxis.

Sintaxis

alter_keyspace_statement ::= ALTER KEYSPACE keyspace_name [[ADD | DROP] TAGS

Donde:

  • keyspace_name es el nombre del espacio de claves que se va a modificar.

  • TAGS: una lista de etiquetas de par clave-valor que se van a añadir o eliminar del espacio de claves.

Ejemplo

Modifique un espacio de claves de la siguiente manera.

ALTER KEYSPACE my_keyspace ADD TAGS {'key1':'val1', 'key2':'val2'};

DROP KEYSPACE

Utilice la DROP KEYSPACE instrucción para eliminar un espacio de claves, incluido todo su contenido, como las tablas.

Sintaxis

drop_keyspace_statement ::= DROP KEYSPACE [ IF EXISTS ] keyspace_name

Donde:

  • keyspace_name es el nombre del espacio de claves que se va a eliminar.

Ejemplo

DROP KEYSPACE "myGSGKeyspace";

Tablas

Las tablas son las estructuras de datos principales de Amazon Keyspaces. Los datos de una tabla se organizan en filas y columnas. Un subconjunto de esas columnas se utiliza para determinar la partición (y, en última instancia, la ubicación de los datos) mediante la especificación de una clave de partición.

Otro conjunto de columnas puede definirse en columnas de agrupación, lo que significa que pueden participar como predicados en la ejecución de consultas.

De forma predeterminada, las tablas nuevas se crean con capacidad de rendimiento bajo demanda. Puede cambiar el modo de capacidad para las tablas nuevas y existentes. Para obtener más información sobre los modos de capacidad de rendimiento de lectura/escritura, consulte Configurar los modos de capacidad de lectura/escritura en Amazon Keyspaces.

Para las tablas en modo aprovisionado, puede configurar lo opcionalAUTOSCALING_SETTINGS. Para obtener más información sobre el escalado automático de Amazon Keyspaces y las opciones disponibles, consulte. Configure el escalado automático en una tabla existente

Para obtener información sobre los límites de cuota y las restricciones de las tablas de Amazon Keyspaces, consulte Cuotas para Amazon Keyspaces (para Apache Cassandra).

CREATE TABLE

Utilice la instrucción CREATE TABLE para crear una tabla nueva.

Sintaxis

create_table_statement ::= CREATE TABLE [ IF NOT EXISTS ] table_name '(' column_definition ( ',' column_definition )* [ ',' PRIMARY KEY '(' primary_key ')' ] ')' [ WITH table_options ] column_definition ::= column_name cql_type [ FROZEN ][ STATIC ][ PRIMARY KEY] primary_key ::= partition_key [ ',' clustering_columns ] partition_key ::= column_name | '(' column_name ( ',' column_name )* ')' clustering_columns ::= column_name ( ',' column_name )* table_options ::= [table_options] | CLUSTERING ORDER BY '(' clustering_order ')' [ AND table_options ] | options | CUSTOM_PROPERTIES | AUTOSCALING_SETTINGS | default_time_to_live | TAGS clustering_order ::= column_name (ASC | DESC) ( ',' column_name (ASC | DESC) )*

Donde:

  • table_name es el nombre de la tabla que se va a crear.

  • column_definition consta de lo siguiente:

    • column_name: el nombre de la columna.

    • cql_type: un tipo de datos de Amazon Keyspaces (consulte Tipos de datos).

    • FROZEN: designa esta columna de tipo collection (por ejemplo, LIST, SET, o MAP) como congelada. Una colección congelada se serializa en un único valor inmutable y se trata como un BLOB. Para obtener más información, consulte Tipos de colección.

    • STATIC: designa esta columna como estática. Las columnas estáticas almacenan valores que comparten todas las filas de la misma partición.

    • PRIMARY KEY: designa esta columna como clave principal de la tabla.

  • primary_key consta de lo siguiente:

    • partition_key

    • clustering_columns

  • partition_key:

    • La clave de partición puede ser una única columna o un valor compuesto formado por dos o más columnas. La porción de clave de partición de la clave principal es obligatoria y determina cómo almacena Amazon Keyspaces sus datos.

  • clustering_columns:

    • La porción de columna de agrupación opcional de su clave principal determina cómo se agrupan y clasifican los datos dentro de cada partición.

  • table_options consta de lo siguiente:

    • CLUSTERING ORDER BY— El valor predeterminado CLUSTERING ORDER de una tabla se compone de las claves de agrupamiento en la dirección de ordenación ASC (ascendente). Especifíquelo para anular el comportamiento de ordenación predeterminado.

    • CUSTOM_PROPERTIES: un mapa de ajustes específicos de Amazon Keyspaces.

      • capacity_mode: especifica el modo de capacidad de rendimiento de lectura/escritura para la tabla. Las opciones son throughput_mode:PAY_PER_REQUEST y throughput_mode:PROVISIONED. El modo de capacidad aprovisionada requiere read_capacity_units y write_capacity_units como entradas. El valor predeterminado es throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: especifica si las marcas de tiempo del lado del cliente están habilitadas o deshabilitadas para la tabla. Las opciones son {'status': 'enabled'} y {'status': 'disabled'}. Si no se especifica, el valor predeterminado es status:disabled. Una vez habilitadas las marcas de tiempo del lado del cliente para una tabla, este ajuste no se puede deshabilitar.

      • encryption_specification: especifica las opciones de cifrado para el cifrado en reposo. Si no se especifica, el valor predeterminado es encryption_type:AWS_OWNED_KMS_KEY. La clave gestionada por el cliente de la opción de cifrado requiere AWS KMS escriba en formato Amazon Resource Name (ARN) como entrada:kms_key_identifier:ARN:kms_key_identifier:ARN.

      • point_in_time_recovery: Especifica si point-in-time la restauración está habilitada o deshabilitada para la tabla. Las opciones son status:enabled y status:disabled. Si no se especifica, el valor predeterminado es status:disabled.

      • replica_updates: Especifica la configuración de una tabla multirregional que es específica de un Región de AWS. En el caso de una tabla multirregional, puede configurar la capacidad de lectura de la tabla de forma diferente según Región de AWS. Puede hacerlo configurando los siguientes parámetros. Para obtener más información y ejemplos, consulte Cree una tabla multirregional en modo aprovisionado con escalado automático en Amazon Keyspaces.

        • region— El Región de AWS de la réplica de la tabla con los siguientes ajustes:

          • read_capacity_units

      • TTL: habilita la configuración personalizada del período de vida para la tabla. Para habilitarla, utilice status:enabled. El valor predeterminado es status:disabled. Una vez habilitado, TTL no se puede deshabilitar para la tabla.

    • AUTOSCALING_SETTINGSincluye la siguiente configuración opcional para las tablas en modo aprovisionado. Para obtener más información y ejemplos, consulte Cree una tabla nueva con escalado automático.

      • provisioned_write_capacity_autoscaling_update:

        • autoscaling_disabled— Para habilitar el escalado automático de la capacidad de escritura, defina el valor enfalse. El valor predeterminado es true. (Opcional)

        • minimum_units— El nivel mínimo de rendimiento de escritura que la tabla debería estar siempre lista para soportar. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de su cuenta (40 000 de forma predeterminada).

        • maximum_units— El nivel máximo de rendimiento de escritura que la tabla debería estar siempre lista para soportar. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de su cuenta (40 000 de forma predeterminada).

        • scaling_policy— Amazon Keyspaces es compatible con la política de seguimiento de objetivos. El objetivo de escalado automático es la capacidad de escritura aprovisionada de la tabla.

          • target_tracking_scaling_policy_configuration— Para definir la política de seguimiento del objetivo, debe definir el valor objetivo. Para obtener más información sobre el seguimiento de objetivos y los períodos de enfriamiento, consulte Políticas de escalado de seguimiento de objetivos en la Guía del usuario de Application Auto Scaling.

            • target_value— La tasa de utilización objetivo de la tabla. El escalado automático de Amazon Keyspaces garantiza que la relación entre la capacidad consumida y la capacidad aprovisionada se mantenga en este valor o cerca de él. target_value se define como un porcentaje. El doble, entre 20 y 90. (Obligatorio)

            • scale_in_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

            • scale_out_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado horizontal. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

            • disable_scale_in: A boolean que especifica si scale-in está deshabilitada o habilitada para la tabla. Este parámetro está desactivado de forma predeterminada. Para activarloscale-in, defina el boolean valor enFALSE. Esto significa que la capacidad de una mesa se reduce automáticamente en tu nombre. (Opcional)

      • provisioned_read_capacity_autoscaling_update:

        • autoscaling_disabled— Para habilitar el escalado automático de la capacidad de lectura, defina el valor enfalse. El valor predeterminado es true. (Opcional)

        • minimum_units— El nivel mínimo de rendimiento que la tabla debería estar siempre lista para soportar. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de su cuenta (40 000 de forma predeterminada).

        • maximum_units— El nivel máximo de rendimiento que la tabla debe estar siempre lista para soportar. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de su cuenta (40 000 de forma predeterminada).

        • scaling_policy— Amazon Keyspaces es compatible con la política de seguimiento de objetivos. El objetivo de escalado automático es la capacidad de lectura aprovisionada de la tabla.

          • target_tracking_scaling_policy_configuration— Para definir la política de seguimiento del objetivo, debe definir el valor objetivo. Para obtener más información sobre el seguimiento de objetivos y los períodos de enfriamiento, consulte Políticas de escalado de seguimiento de objetivos en la Guía del usuario de Application Auto Scaling.

            • target_value— La tasa de utilización objetivo de la tabla. El escalado automático de Amazon Keyspaces garantiza que la relación entre la capacidad consumida y la capacidad aprovisionada se mantenga en este valor o cerca de él. target_value se define como un porcentaje. El doble, entre 20 y 90. (Obligatorio)

            • scale_in_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

            • scale_out_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado horizontal. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

            • disable_scale_in: A boolean que especifica si scale-in está deshabilitada o habilitada para la tabla. Este parámetro está desactivado de forma predeterminada. Para activarloscale-in, defina el boolean valor enFALSE. Esto significa que la capacidad de una mesa se reduce automáticamente en tu nombre. (Opcional)

      • replica_updates: Especifica el Región de AWS ajustes específicos de autoescalado de una tabla multirregión. En el caso de una tabla con varias regiones, puede configurar la capacidad de lectura de la tabla de forma diferente según Región de AWS. Puede hacerlo configurando los siguientes parámetros. Para obtener más información y ejemplos, consulte Actualice la capacidad aprovisionada y la configuración de escalado automático para una tabla multirregional en Amazon Keyspaces.

        • region— El Región de AWS de la réplica de la tabla con los siguientes ajustes:

          • provisioned_read_capacity_autoscaling_update

            • autoscaling_disabled— Para habilitar el escalado automático de la capacidad de lectura de la tabla, defina el valor enfalse. El valor predeterminado es true. (Opcional)

              nota

              El escalado automático de una tabla multirregional debe estar activado o desactivado para todas las réplicas de la tabla.

            • minimum_units— El nivel mínimo de rendimiento de lectura que la tabla debe estar siempre lista para soportar. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de tu cuenta (40 000 de forma predeterminada).

            • maximum_units— El nivel máximo de rendimiento de lectura que la tabla debería poder soportar en todo momento. El valor debe estar comprendido entre 1 y la cuota máxima de rendimiento por segundo de su cuenta (40 000 de forma predeterminada).

            • scaling_policy— Amazon Keyspaces es compatible con la política de seguimiento de objetivos. El objetivo de escalado automático es la capacidad de lectura aprovisionada de la tabla.

              • target_tracking_scaling_policy_configuration— Para definir la política de seguimiento del objetivo, debe definir el valor objetivo. Para obtener más información sobre el seguimiento de objetivos y los períodos de enfriamiento, consulte Políticas de escalado de seguimiento de objetivos en la Guía del usuario de Application Auto Scaling.

                • target_value— La tasa de utilización objetivo de la tabla. El escalado automático de Amazon Keyspaces garantiza que la relación entre la capacidad de lectura consumida y la capacidad de lectura aprovisionada se mantenga en este valor o cerca de él. target_value se define como un porcentaje. El doble, entre 20 y 90. (Obligatorio)

                • scale_in_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

                • scale_out_cooldown— Un período de enfriamiento en segundos entre las actividades de escalado que permite que la mesa se estabilice antes de que comience otra actividad de escalado horizontal. Si no se proporciona ningún valor, el valor predeterminado es 0. (Opcional)

                • disable_scale_in: A boolean que especifica si scale-in está deshabilitada o habilitada para la tabla. Este parámetro está desactivado de forma predeterminada. Para activarloscale-in, defina el boolean valor enFALSE. Esto significa que la capacidad de lectura de una tabla se reduce automáticamente en tu nombre. (Opcional)

    • default_time_to_live: la configuración predeterminada de periodo de vida en segundos para la tabla.

    • TAGS: una lista de etiquetas de par clave-valor que se vinculan al recurso al crearlo.

  • clustering_order consta de lo siguiente:

    • column_name: el nombre de la columna.

    • ASC | DESC: establece el modificador de orden ascendente (ASC) o descendente (DESC). Si no se especifica, el orden predeterminado esASC.

Ejemplo

CREATE TABLE IF NOT EXISTS "my_keyspace".my_table ( id text, name text, region text, division text, project text, role text, pay_scale int, vacation_hrs float, manager_id text, PRIMARY KEY (id,division)) WITH CUSTOM_PROPERTIES={ 'capacity_mode':{ 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20 }, 'point_in_time_recovery':{'status': 'enabled'}, 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111' } } AND CLUSTERING ORDER BY (division ASC) AND TAGS={'key1':'val1', 'key2':'val2'} AND default_time_to_live = 3024000;

En una tabla que utilice columnas de agrupación, las columnas que no sean de agrupación pueden declararse como estáticas en la definición de la tabla. Para obtener más información sobre las columnas estáticas, consulte Estime el consumo de capacidad de las columnas estáticas en Amazon Keyspaces.

Ejemplo

CREATE TABLE "my_keyspace".my_table ( id int, name text, region text, division text, project text STATIC, PRIMARY KEY (id,division));

ALTER TABLE

Utilice la instrucción ALTER TABLE para añadir nuevas columnas, añadir etiquetas o modificar las propiedades personalizadas de la tabla.

Sintaxis

alter_table_statement ::= ALTER TABLE table_name [ ADD ( column_definition | column_definition_list) ] [[ADD | DROP] TAGS {'key1':'val1', 'key2':'val2'}] [ WITH table_options [ , ... ] ] ; column_definition ::= column_name cql_type

Donde:

  • table_name es el nombre de la tabla que se va a modificar.

  • column_definition es el nombre de la columna y el tipo de datos que se van a añadir.

  • column_definition_list es una lista separada por comas de columnas colocadas entre paréntesis.

  • table_options consta de lo siguiente:

    • CUSTOM_PROPERTIES: un mapa de ajustes específicos para Amazon Keyspaces.

      • capacity_mode: especifica el modo de capacidad de rendimiento de lectura/escritura para la tabla. Las opciones son throughput_mode:PAY_PER_REQUEST y throughput_mode:PROVISIONED. El modo de capacidad aprovisionada requiere read_capacity_units y write_capacity_units como entradas. El valor predeterminado es throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: especifica si las marcas de tiempo del lado del cliente están habilitadas o deshabilitadas para la tabla. Las opciones son {'status': 'enabled'} y {'status': 'disabled'}. Si no se especifica, el valor predeterminado es status:disabled. Una vez habilitadas las marcas de tiempo del lado del cliente para una tabla, este ajuste no se puede deshabilitar.

      • encryption_specification: especifica la opción de cifrado para el cifrado en reposo. Las opciones son encryption_type:AWS_OWNED_KMS_KEY y encryption_type:CUSTOMER_MANAGED_KMS_KEY. La clave gestionada por el cliente de la opción de cifrado requiere la AWS KMS escriba en formato Amazon Resource Name (ARN) como entrada:kms_key_identifier:ARN.

      • point_in_time_recovery: Especifica si point-in-time la restauración está habilitada o deshabilitada para la tabla. Las opciones son status:enabled y status:disabled. El valor predeterminado es status:disabled.

      • replica_updates: Especifica el Región de AWS ajustes específicos de una tabla multirregional. En el caso de una tabla con varias regiones, puede configurar la capacidad de lectura de la tabla de forma diferente según Región de AWS. Puede hacerlo configurando los siguientes parámetros. Para obtener más información y ejemplos, consulte Actualice la capacidad aprovisionada y la configuración de escalado automático para una tabla multirregional en Amazon Keyspaces.

        • region— El Región de AWS de la réplica de la tabla con los siguientes ajustes:

          • read_capacity_units

      • ttl: habilita la configuración personalizada del período de vida para la tabla. Para habilitarla, utilice status:enabled. El valor predeterminado es status:disabled. Una vez habilitado, ttl no se puede deshabilitar para la tabla.

    • AUTOSCALING_SETTINGSincluye la configuración de escalado automático opcional para las tablas aprovisionadas. Para ver la sintaxis y las descripciones detalladas, consulteCREATE TABLE. Para ver ejemplos, consulte Configure el escalado automático en una tabla existente.

  • default_time_to_live: la configuración predeterminada de periodo de vida en segundos para la tabla.

  • TAGS es una lista de etiquetas de par clave-valor que se van a vincular al recurso.

nota

Con ALTERTABLE, solo puede cambiar una propiedad personalizada. No puede combinar más de un ALTER TABLE comando en la misma sentencia.

Ejemplos

La siguiente instrucción muestra cómo añadir una columna a una tabla existente.

ALTER TABLE mykeyspace.mytable ADD (ID int);

Esta instrucción muestra cómo añadir dos columnas de colección a una tabla existente:

  • Una columna de colección congelada col_frozen_list que contiene una colección congelada anidada

  • Una columna de colección no congelada col_map que contiene una colección congelada anidada

ALTER TABLE my_Table ADD(col_frozen_list FROZEN<LIST<FROZEN<SET<TEXT>>>>, col_map MAP<INT, FROZEN<SET<INT>>>);

Para cambiar el modo de capacidad de una tabla y especificar unidades de capacidad de lectura y escritura, puede utilizar la siguiente instrucción.

ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}};

La siguiente declaración especifica una KMS clave gestionada por el cliente para la tabla.

ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={ 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111' } };

Para habilitar point-in-time la restauración de una tabla, puede usar la siguiente declaración.

ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'point_in_time_recovery': {'status': 'enabled'}};

Para establecer un valor predeterminado de periodo de vida en segundos para una tabla, puede utilizar la siguiente instrucción.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

Esta instrucción habilita la configuración personalizada de periodo de vida para una tabla.

ALTER TABLE mytable WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

RESTORE TABLE

Use la instrucción RESTORE TABLE para restaurar una tabla a un momento dado. Esta declaración requiere que point-in-time la recuperación esté habilitada en una tabla. Para obtener más información, consulte Backup y restauración de datos con point-in-time recuperación para Amazon Keyspaces.

Sintaxis

restore_table_statement ::= RESTORE TABLE restored_table_name FROM TABLE source_table_name [ WITH table_options [ , ... ] ];

Donde:

  • restored_table_name es el nombre de la tabla restaurada.

  • source_table_name es el nombre de la tabla de origen.

  • table_options consta de lo siguiente:

    • restore_timestampes la hora del punto de restauración en formato ISO 8601. Si no se especifica, se utiliza la marca de tiempo actual.

    • CUSTOM_PROPERTIES: un mapa de ajustes específicos para Amazon Keyspaces.

      • capacity_mode: especifica el modo de capacidad de rendimiento de lectura/escritura para la tabla. Las opciones son throughput_mode:PAY_PER_REQUEST y throughput_mode:PROVISIONED. El modo de capacidad aprovisionada requiere read_capacity_units y write_capacity_units como entradas. La configuración predeterminada es la configuración actual de la tabla de origen.

      • encryption_specification: especifica la opción de cifrado para el cifrado en reposo. Las opciones son encryption_type:AWS_OWNED_KMS_KEY y encryption_type:CUSTOMER_MANAGED_KMS_KEY. La clave gestionada por el cliente de la opción de cifrado requiere la AWS KMS escriba en formato Amazon Resource Name (ARN) como entrada:kms_key_identifier:ARN. Para restaurar una tabla cifrada con una clave administrada por el cliente en una tabla cifrada con un Clave propiedad de AWS, Amazon Keyspaces requiere acceso al AWS KMS clave de la tabla fuente.

      • point_in_time_recovery: especifica si point-in-time la restauración está habilitada o deshabilitada para la tabla. Las opciones son status:enabled y status:disabled. A diferencia de cuando se crean tablas nuevas, el estado predeterminado para tablas restauradas es status:enabled porque la configuración se hereda de la tabla de origen. PITRPara deshabilitarla en las tablas restauradas, debe configurarla de status:disabled forma explícita.

      • replica_updates: Especifica el Región de AWS ajustes específicos de una tabla multirregional. En el caso de una tabla con varias regiones, puede configurar la capacidad de lectura de la tabla de forma diferente según Región de AWS. Puede hacerlo configurando los siguientes parámetros.

        • region— El Región de AWS de la réplica de la tabla con los siguientes ajustes:

          • read_capacity_units

    • AUTOSCALING_SETTINGSincluye la configuración de escalado automático opcional para las tablas aprovisionadas. Para obtener descripciones y sintaxis detalladas, consulteCREATE TABLE.

    • TAGS es una lista de etiquetas de par clave-valor que se van a vincular al recurso.

nota

Las tablas eliminadas solo se pueden restaurar al momento de la eliminación.

Ejemplo

RESTORE TABLE mykeyspace.mytable_restored from table mykeyspace.my_table WITH restore_timestamp = '2020-06-30T04:05:00+0000' AND custom_properties = {'point_in_time_recovery':{'status':'disabled'}, 'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}} AND TAGS={'key1':'val1', 'key2':'val2'};

DROP TABLE

Utilice la instrucción DROP TABLE para eliminar una tabla del espacio de claves.

Sintaxis

drop_table_statement ::= DROP TABLE [ IF EXISTS ] table_name

Donde:

  • IF EXISTS evita que DROP TABLE falle si la tabla no existe. (Opcional)

  • table_name es el nombre de la tabla que se va a desechar.

Ejemplo

DROP TABLE "myGSGKeyspace".employees_tbl;