Configura y consulta Spanner Graph 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:

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

Para obtener más información sobre los precios de Spanner, consulta Precios de Spanner.

Para probar un codelab, consulta Comienza a usar el grafo de Spanner.

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.

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

    Ir a Spanner

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

  3. Realiza una de las siguientes acciones:

    1. Si nunca creaste una instancia de Spanner, en la página Te damos la bienvenida a Spanner, haz clic en Crear una instancia aprovisionada.

    2. Si creaste una instancia de Spanner, en la página Instancias, haz clic en Crear instancia.

  4. En la página Seleccionar una edición, selecciona Enterprise Plus o Enterprise.

    Spanner Graph está disponible solo en la edición Enterprise Edición Enterprise Plus. Para comparar las distintas ediciones, haz clic en Compara ediciones. Para obtener más información, consulta la descripción general de las ediciones de Spanner.

  5. Haga clic en Continuar.

  6. En Nombre de la instancia, ingresa un nombre de instancia, por ejemplo, test-instance

  7. En ID de instancia, conserva o cambia el ID de instancia. La configuración predeterminada del ID de tu instancia al nombre de tu instancia, pero puedes cambiarlo. El nombre de tu instancia y el ID de instancia puede ser el mismo o pueden ser diferentes.

  8. Haga clic en Continuar.

  9. En Choose a configuration, haz lo siguiente:

    1. Mantén seleccionada la opción Regional.

    2. En Elige una configuración, selecciona una región. La región que selecciones es dónde se almacenan y replican tus instancias.

    3. Haga clic en Continuar.

  10. En Configurar la capacidad de procesamiento, haz lo siguiente:

    1. En Seleccionar unidad, selecciona Unidades de procesamiento (PU).

    2. En Elegir un modo de escalamiento, mantén seleccionada la opción Asignación manual. En Cantidad, mantén 1,000 unidades de procesamiento.

  11. 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 la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en la instancia que creaste, por ejemplo, Test Instance.

  3. En Descripción general, debajo del nombre de tu instancia, haz clic en Crear base de datos.

  4. En Nombre de la base de datos, ingresa un nombre de base de datos. Por ejemplo, example-db

  5. En Seleccionar dialecto de la base de datos, elige SQL estándar de Google. Spanner Graph no está disponible en el dialecto de PostgreSQL. La página de creación de la base de datos ahora se ve de la siguiente manera:

    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 para 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 de Spanner Studio, haz clic en la pestaña Editor 1 o en Nueva pestaña o usa una nueva pestaña.

  3. Copia y pega el siguiente esquema en la pestaña del editor. El esquema contiene dos definiciones de tablas de nodos, Person y Account, y dos definiciones de tablas de aristas, PersonOwnAccount y AccountTransferAccount. Spanner Graph usa tablas relacionales para definir gráficos, por lo que ves las tablas relacionales y las sentencias de gráfico en el 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 las actualizaciones del esquema están en ejecución. Cuando se complete la actualización, en Resultados verás un mensaje que indica que la actualización el proyecto se completó.

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:

    Ejemplo de grafo.

  3. Haz clic en Ejecutar. Cuando se completa la ejecución, la pestaña Resultados muestra que se insertaron 3 filas.

Ejecuta una consulta de grafo

  1. En la página Descripción general de la base de datos, haz clic en Spanner Studio en el menú de navegación.

  2. En la página de Spanner Studio, haz clic en Nueva pestaña o usa la 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 la consulta del grafo.

Limpia

Muchos de los ejemplos de Qué sigue usan los recursos que configuraste en este documento. Si quieres seguir trabajando con Spanner Graph con uno de estos ejemplos, no realices estos pasos de limpieza todavía.

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 quieres delete, por ejemplo, Test Instance.

  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. Ingresa el nombre de la instancia y haz clic en Borrar para confirmar que quieres borrarla.

¿Qué sigue?