Cómo crear y administrar posiciones de datos

En esta página, se describe cómo crear y administrar posiciones de datos en Spanner.

Para obtener más información sobre cómo funciona la partición geográfica, consulta el Descripción general de la partición geográfica.

Cómo crear una posición de datos

Después de crear las particiones de Spanner y bases de datos, crea tu posición.

Console

  1. Ve a la página Instancias en la consola de Google Cloud.

    Instancias

  2. Selecciona la instancia con particiones creadas por el usuario.

  3. Selecciona la base de datos en la que quieras particionar los datos.

  4. En el menú de navegación, haz clic en Spanner Studio.

  5. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.

  6. Ingresa la declaración DDL CREATE PLACEMENT.

    Por ejemplo, puedes ejecutar lo siguiente para crear una tabla de posiciones europeplacement en la partición europe-partition:

      CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
    

    También puedes usar el panel Explorador de objetos para ver, buscar e interactuar con ellos. Para obtener más información, consulta Explora tus datos.

  7. Haz clic en Ejecutar.

gcloud

Para crear una posición con el comando de gcloud CLI, usa gcloud spanner databases ddl update

Por ejemplo, crea una posición en la partición europe-partition:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"

Cómo borrar una posición de datos

No puede borrar una posición. Debes borrar la base de datos para eliminar la posición y sus datos asociados. Para obtener más información, consulta Borra una base de datos.

Cómo crear una tabla con una clave de posición

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Ingresa la declaración DDL CREATE TABLE.

    Por ejemplo, puedes crear una tabla Singers que use Una clave de posición para particionar los datos del cantante:

    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      Name STRING(MAX) NOT NULL,
      ...
      Location STRING(MAX) NOT NULL PLACEMENT KEY
    ) PRIMARY KEY (SingerId);
    

gcloud

Para crear una tabla, usa gcloud spanner databases ddl update

Por ejemplo, puedes crear una tabla Singers que use Una clave de posición para particionar los datos del cantante:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId)"

Cómo editar una tabla con una clave de posición

No se puede quitar una clave de posición de una tabla. Tampoco puedes agregar una clave de posición a una tabla después de haberla creado. Sin embargo, puedes usar ALTER TABLE Declaración DDL para cambiar otros campos en el tabla, por ejemplo, agregar y descartar columnas de claves que no son de posición.

Cómo borrar una tabla con una clave de posición

Antes de borrar una tabla con una clave de posición, primero debes hacer lo siguiente:

  1. Elimina todas las filas de la tabla de posiciones.
  2. Espera a que version_retention_period aparezca base de datos que se debe pasar. Para obtener más información, consulta Recuperación de un momento determinado. Luego, sigue estos pasos:

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Ingresa la declaración DDL DROP TABLE.

    Por ejemplo, descarta la tabla Singers:

    DROP TABLE Singers;
    

gcloud

Para eliminar una tabla, usa gcloud spanner databases ddl update

Por ejemplo, descarta la tabla Singers:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP TABLE Singers"

Insertar una fila en una tabla de posiciones

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Ingresa la declaración DDL INSERT INTO.

    Por ejemplo, agrega un cantante, Marc Richards, a la tabla Singers y particionarla en europeplacement:

      INSERT INTO Singers(SingerId, Name, Location)
      VALUES (1, 'Marc Richards', 'europeplacement')
    

gcloud

Para escribir datos en una tabla, usa gcloud spanner rows insert

Por ejemplo, agrega un cantante, Marc Richards, a la tabla Singers y particionarla en europeplacement:

gcloud spanner rows insert --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'

Actualizar una fila en una tabla de posiciones

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Usa DML o mutaciones para actualizar los datos de un posición.

    Por ejemplo, actualiza el nombre de singerid=1 en la tabla Singers a Catalina Smith

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

gcloud

Para actualizar datos en una tabla de posiciones, usa gcloud spanner rows update.

Por ejemplo, actualiza el nombre de singerid=1 en la tabla Singers a Catalina Smith

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'

Cómo mover una fila en una tabla de posiciones

Console

  1. Crea una nueva partición y posición si aún no lo hiciste.
  2. En el menú de navegación, haz clic en Spanner Studio.
  3. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  4. Usa DML o mutaciones para mover los datos al en la partición nueva.

    Por ejemplo, mueve singerid=1 de la tabla Singers a asiaplacement:

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

gcloud

Después de crear la partición y la posición a la que quieres mover tus datos, usa gcloud spanner rows update.

Por ejemplo, mueve singerid=1 de la tabla Singers a asiaplacement:

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

Cómo borrar una fila de una tabla de posiciones

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Usa DML o mutaciones para borrar los datos.

    Por ejemplo, borra singerid=1 en la tabla Singers:

    DELETE FROM Singers s
    WHERE s.id=1;
    

gcloud

Para borrar datos, usa gcloud spanner rows delete.

Por ejemplo, borra singerid=1 en la tabla Singers:

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

Consultar datos en una tabla de posiciones

Console

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la barra Editor.
  3. Ejecuta tu consulta.

    Por ejemplo, consulta la tabla Singers:

    SELECT * FROM Singers s WHERE s.SingerId=1;
    

gcloud

Para consultar datos, usa gcloud spanner databases execute-sql.

Por ejemplo, consulta la tabla Singers:

gcloud spanner databases execute-sql example-db \
  --sql='SELECT * FROM Singers s WHERE s.SingerId=1'

¿Qué sigue?