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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- La API de Spanner debería habilitarse automáticamente. De lo contrario, habilítala de forma manual: Habilitar la API de Spanner
-
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 la consola de Google Cloud, ve a la página Spanner.
Selecciona o crea un proyecto de Google Cloud si aún no lo has hecho.
Realiza una de las siguientes acciones:
Si nunca creaste una instancia de Spanner, en la página Te damos la bienvenida a Spanner, haz clic en Crear una instancia aprovisionada.
Si creaste una instancia de Spanner, en la página Instancias, haz clic en Crear instancia.
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.
Haga clic en Continuar.
En Nombre de la instancia, ingresa un nombre de instancia, por ejemplo,
test-instance
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.
Haga clic en Continuar.
En Choose a configuration, haz lo siguiente:
Mantén seleccionada la opción Regional.
En Elige una configuración, selecciona una región. La región que selecciones es dónde se almacenan y replican tus instancias.
Haga clic en Continuar.
En Configurar la capacidad de procesamiento, haz lo siguiente:
En Seleccionar unidad, selecciona Unidades de procesamiento (PU).
En Elegir un modo de escalamiento, mantén seleccionada la opción Asignación manual. En Cantidad, mantén 1,000 unidades de procesamiento.
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
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en la instancia que creaste, por ejemplo,
Test Instance
.En Descripción general, debajo del nombre de tu instancia, haz clic en Crear base de datos.
En Nombre de la base de datos, ingresa un nombre de base de datos. Por ejemplo,
example-db
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:
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
En el menú de navegación, haz clic en Spanner Studio.
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.Copia y pega el siguiente esquema en la pestaña del editor. El esquema contiene dos definiciones de tablas de nodos,
Person
yAccount
, y dos definiciones de tablas de aristas,PersonOwnAccount
yAccountTransferAccount
. 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 );
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
- En la página de Spanner Studio, haz clic en Nueva pestaña o usa la Editor.
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:
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
En la página Descripción general de la base de datos, haz clic en Spanner Studio en el menú de navegación.
En la página de Spanner Studio, haz clic en
Nueva pestaña o usa la Editor.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
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.
- A
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
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que tiene la base de datos que quieres delete, por ejemplo, Test Instance.
Haz clic en el nombre de la base de datos que deseas borrar, por ejemplo, example-db.
En la página Detalles de la base de datos, haz clic en Borrar Borrar base de datos.
Para confirmar que quieres borrar la base de datos, ingresa su nombre y haz clic en Borrar.
Borra la instancia
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que deseas borrar, por ejemplo, Instancia de prueba.
Haz clic en Borrar instancia.
Ingresa el nombre de la instancia y haz clic en Borrar para confirmar que quieres borrarla.
¿Qué sigue?
- Obtén más información sobre Spanner Graph con un codelab.
- Obtén más información sobre el esquema del gráfico de Spanner.
- Crea, actualiza o descarta un esquema de gráfico de Spanner.
- Insertar, actualizar o borrar datos del gráfico de Spanner.
- Descripción general de las consultas del gráfico de Spanner.
- Migra a Spanner Graph.