Configurar y consultar el gráfico de Spanner con la consola de Google Cloud

En este documento, se muestra cómo configurar y consultar Spanner Graph con la consola de Google Cloud. En este documento, aprenderás a hacer lo siguiente:

  • Crear una instancia de Spanner
  • Crea una base de datos.
  • Crear un esquema de grafo
  • Insertar datos del gráfico.
  • Consulta el grafo que creaste.

Para obtener información sobre los detalles de los precios de Spanner, consulta Precios de Spanner.

Para probar un codelab, consulta Cómo comenzar a usar Spanner Graph.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. La API de Spanner debería habilitarse automáticamente. De lo contrario, habilítala de forma manual:

    Habilitar la API de Spanner
  1. A fin de obtener los permisos que necesitas para crear instancias y bases de datos, solicita a tu administrador que te otorgue el Rol de IAM Administrador de Cloud Spanner (roles/spanner.admin) en tu proyecto.

Crea una instancia

Cuando uses Spanner por primera vez, deberás crear una instancia, que es una asignación de recursos que usan las bases de datos de Spanner en esa instancia.

  1. En la consola de Google Cloud, ve a la página de Spanner.

    Ir a Spanner

  2. Selecciona o crea un proyecto de Google Cloud si aún no lo has hecho.

  3. En la página de Spanner, haz clic en CREAR INSTANCIA. Si ya usaste Spanner, verás la página Instancias de Spanner en lugar de la página del producto.

  1. En la página Asigna un nombre a tu instancia, ingresa un nombre de instancia, por ejemplo: Instancia de prueba. El ID de la instancia se ingresa automáticamente según el el nombre de la instancia, por ejemplo, test-instance. Si es necesario, cámbialo.
  2. Haga clic en Continuar.
  3. En la página Configura tu instancia, mantén la opción predeterminada. Regional y selecciona una configuración del menú desplegable. La configuración de tu instancia determina la ubicación geográfica donde tus instancias se almacenan y se replican.
  4. Haga clic en Continuar.
  5. En la página Asignar capacidad de procesamiento, selecciona Unidades de procesamiento (PU) y conserva el valor predeterminado de 1,000 unidades de procesamiento.
  6. Haz clic en Crear. La consola de Google Cloud muestra la página Descripción general de la instancia que creaste.

Crea una base de datos

  1. En la consola de Google Cloud, ve a Spanner de instancias.

    Ir a Instancias de Spanner

  2. Haz clic en la instancia que creaste, por ejemplo, Instancia de prueba.

  3. En la página Resumen de la instancia que se abre, haz clic en Crear base de datos.

  4. Ingresa un nombre como el nombre de la base de datos, por ejemplo, example-db.

  5. Para el dialecto de la base de datos, elige SQL estándar de Google. Gráfico de Spanner no está disponible en el dialecto PostgreSQL. La página de creación de tu base de datos ahora se ve así:

    Se actualizó la página de creación de la base de datos.

  6. Haz clic en Crear.

    La consola de Google Cloud muestra la página Descripción general de la base de datos que creaste.

Crea un esquema para tu base de datos de Spanner Graph

  1. En el menú de navegación, haz clic en Spanner Studio.
  2. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor.
  3. Copia y pega el siguiente esquema en la pestaña del editor. El esquema contiene dos definiciones de tabla de nodos, Person y Account, y dos extremos las definiciones de la tabla, PersonOwnAccount y AccountTransferAccount. Spanner Graph usa tablas relacionales para definir grafos, por lo que puedes ver ambas opciones las tablas relacionales y las declaraciones de grafos del esquema. Para obtener más información el esquema del gráfico de Spanner, consulta Descripción general del esquema del gráfico de Spanner.

    CREATE TABLE Person (
      id               INT64 NOT NULL,
      name             STRING(MAX),
      birthday         TIMESTAMP,
      country          STRING(MAX),
      city             STRING(MAX),
    ) PRIMARY KEY (id);
    
    CREATE TABLE Account (
      id               INT64 NOT NULL,
      create_time      TIMESTAMP,
      is_blocked       BOOL,
      nick_name        STRING(MAX),
    ) PRIMARY KEY (id);
    
    CREATE TABLE PersonOwnAccount (
      id               INT64 NOT NULL,
      account_id       INT64 NOT NULL,
      create_time      TIMESTAMP,
      FOREIGN KEY (account_id) REFERENCES Account (id)
    ) PRIMARY KEY (id, account_id),
      INTERLEAVE IN PARENT Person ON DELETE CASCADE;
    
    CREATE TABLE AccountTransferAccount (
      id               INT64 NOT NULL,
      to_id            INT64 NOT NULL,
      amount           FLOAT64,
      create_time      TIMESTAMP NOT NULL,
      order_number     STRING(MAX),
      FOREIGN KEY (to_id) REFERENCES Account (id)
    ) PRIMARY KEY (id, to_id, create_time),
      INTERLEAVE IN PARENT Account ON DELETE CASCADE;
    
    CREATE OR REPLACE PROPERTY GRAPH FinGraph
      NODE TABLES (Account, Person)
      EDGE TABLES (
        PersonOwnAccount
          SOURCE KEY (id) REFERENCES Person (id)
          DESTINATION KEY (account_id) REFERENCES Account (id)
          LABEL Owns,
        AccountTransferAccount
          SOURCE KEY (id) REFERENCES Account (id)
          DESTINATION KEY (to_id) REFERENCES Account (id)
          LABEL Transfers
      );
    
  4. Haz clic en Ejecutar. En la página Resultados, se muestra que se están ejecutando las actualizaciones de esquemas. Cuando se haya completado la actualización, la página tendrá el siguiente aspecto:

    Se actualizó la página de descripción general de la base de datos.

  5. Para ver el esquema del grafo de propiedades que definiste, haz clic en Mostrar DDL equivalente.

Insertar datos del gráfico

La consola de Google Cloud proporciona una interfaz para insertar, editar y borrar datos.

Inserta datos

  1. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la Editor.
  2. Copia y pega las siguientes instrucciones de inserción de datos del grafo en los nodos. y bordes.

    INSERT INTO Account
      (id, create_time, is_blocked, nick_name)
    VALUES
      (7,"2020-01-10 06:22:20.222",false,"Vacation Fund"),
      (16,"2020-01-27 17:55:09.206",true,"Vacation Fund"),
      (20,"2020-02-18 05:44:20.655",false,"Rainy Day Fund");
    
    INSERT INTO Person
      (id, name, birthday, country, city)
    VALUES
      (1,"Alex","1991-12-21 00:00:00","Australia","Adelaide"),
      (2,"Dana","1980-10-31 00:00:00","Czech_Republic","Moravia"),
      (3,"Lee","1986-12-07 00:00:00","India","Kollam");
    
    INSERT INTO AccountTransferAccount
      (id, to_id, amount, create_time, order_number)
    VALUES
      (7,16,300,"2020-08-29 15:28:58.647","304330008004315"),
      (7,16,100,"2020-10-04 16:55:05.342","304120005529714"),
      (16,20,300,"2020-09-25 02:36:14.926","103650009791820"),
      (20,7,500,"2020-10-04 16:55:05.342","304120005529714"),
      (20,16,200,"2020-10-17 03:59:40.247","302290001255747");
    
    INSERT INTO PersonOwnAccount
      (id, account_id, create_time)
    VALUES
      (1,7,"2020-01-10 06:22:20.222"),
      (2,20,"2020-01-27 17:55:09.206"),
      (3,16,"2020-02-18 05:44:20.655");
    

    El siguiente gráfico muestra a las personas, las cuentas, la propiedad de la cuenta y las transferencias de cuentas de las inserciones:

    Gráfico de ejemplo.

  3. Haz clic en Ejecutar.

    Cuando finaliza la ejecución, la pestaña Resultados muestra el resultado de filas insertadas.

Ejecuta una consulta de grafo

  1. En la página Descripción general de la base de datos, haz clic en Spanner Studio. el menú de navegación.
  2. En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor.
  3. Ingresa la siguiente consulta en el editor de consultas. La consulta encuentra a todos a la que Dana transfirió dinero y el importe de esas transferencias.

    GRAPH FinGraph
    MATCH
      (from_person:Person {name: "Dana"})-[:Owns]->
      (from_account:Account)-[transfer:Transfers]->
      (to_account:Account)<-[:Owns]-(to_person:Person)
    RETURN
      from_person.name AS from_account_owner,
      from_account.id AS from_account_id,
      to_person.name AS to_account_owner,
      to_account.id AS to_account_id,
      transfer.amount AS amount
    
  4. Haz clic en Ejecutar.

    En la pestaña Resultados, se muestran las siguientes rutas de acceso de Dana a Account {id:20}:

    • A Account {id:7}, propiedad de Alex.
    • A Account {id:16} propiedad de Lee.

      Ejemplo de resultados de consulta de grafos.

Limpia

En muchos de los ejemplos de Próximos pasos, se usan los recursos que configuraste en este documento. Si quieres seguir trabajando Usar uno de estos ejemplos para el grafo de Spanner, no debes realizar esta limpieza pasos aún.

De lo contrario, para evitar cargos adicionales en tu cuenta de Facturación de Cloud, borra la base de datos y la instancia que creaste durante la configuración. Borrar un borra automáticamente todas las bases de datos creadas en ella.

Borra la base de datos

  1. En la consola de Google Cloud, ve a la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en el nombre de la instancia que tiene la base de datos que deseas borrar, por ejemplo, Instancia de prueba.

  3. Haz clic en el nombre de la base de datos que deseas borrar, por ejemplo: example-db.

  4. En la página Detalles de la base de datos, haz clic en Borrar Borrar base de datos.

  5. Para confirmar que quieres borrar la base de datos, ingresa su nombre y haz clic en Borrar.

Borra la instancia

  1. En la consola de Google Cloud, ve a la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en el nombre de la instancia que deseas borrar, por ejemplo: Instancia de prueba.

  3. Haz clic en Borrar instancia.

  4. Para confirmar que quieres borrar la instancia, ingrésala y haz clic en Borrar.

¿Qué sigue?