En este documento, se muestra cómo configurar y consultar una base de datos de Spanner Graph para modelar, almacenar y analizar relaciones de datos complejas con la Google Cloud consola y las bibliotecas cliente.
Los siguientes temas te ayudarán a aprender a hacer lo siguiente:
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
- Accede a tu Google Cloud cuenta de. 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Habilita la API de Spanner:
Ir a Habilitar la API de Spanner
-
Para obtener los permisos que necesitas para crear instancias y bases de datos, pídele a tu administrador que te otorgue el rol de IAM de administrador de Cloud Spanner (
roles/spanner.admin) en tu proyecto.
-
Para obtener los permisos que necesitas para consultar gráficos de Spanner si no tienes el rol de administrador de Cloud Spanner, pídele a tu administrador que te otorgue el rol de lector de bases de datos de Cloud Spanner (
roles/spanner.databaseReader) de IAM en tu proyecto.
Crear una instancia de Spanner
Cuando usas Spanner por primera vez, debes crear una instancia, que asigna recursos para las bases de datos de Spanner. En esta sección, se muestra cómo crear una instancia con la Google Cloud consola.
En la Google Cloud consola de, ve a la página Spanner.
Selecciona o crea un Google Cloud proyecto si aún no lo hiciste.
Realiza una de las siguientes acciones:
Si no creaste una instancia de Spanner antes, 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 Selecciona una edición, selecciona Enterprise Plus o Enterprise.
Spanner Graph solo está disponible en la edición Enterprise o Enterprise Plus. Para comparar las diferentes ediciones, haz clic en Comparar ediciones. Para obtener más información, consulta la descripción general de las ediciones de Spanner.
Haz 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 la instancia. El ID de la instancia se establece de forma predeterminada en el nombre de la instancia, pero puedes cambiarlo. El nombre y el ID de la instancia pueden ser iguales o diferentes.
Haz clic en Continuar.
En Elige una configuración, haz lo siguiente:
Mantén seleccionada la opción Regional.
En Selecciona una configuración, elige una región. Spanner almacena y replica tus instancias en la región que selecciones.
Haz clic en Continuar.
En Configura la capacidad de procesamiento, haz lo siguiente:
En Seleccionar unidad, selecciona Unidades de procesamiento (PU).
En Elige un modo de ajuste de escala, mantén seleccionada la opción Asignación manual y, en Cantidad, conserva 1,000 unidades de procesamiento.
Haz clic en Crear. La Google Cloud consola muestra la página **Descripción general** de la instancia que creaste.
Crea una base de datos de gráficos con un esquema
En esta sección, se muestra cómo crear una base de datos de Spanner Graph con un esquema de Spanner Graph. Puedes usar la Google Cloud consola o las bibliotecas cliente.
Consola
En la Google Cloud consola de, ve a la página Spanner Instancias.
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 Selecciona el dialecto de la base de datos, elige SQL estándar de Google. Spanner Graph no está disponible en el dialecto de PostgreSQL.
Ingresa el siguiente esquema en la pestaña del editor Plantillas DDL. El esquema contiene dos definiciones de tabla de nodos,
PersonyAccount, y dos definiciones de tabla de aristas,PersonOwnAccountyAccountTransferAccount. Spanner Graph usa tablas relacionales para definir gráficos, por lo que verás tablas relacionales y declaraciones de gráficos en el esquema. Para obtener más información sobre el esquema de Spanner Graph, consulta la descripción general del esquema de Spanner Graph: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 );Conserva la configuración predeterminada en Mostrar opciones de encriptación.
Haz clic en Crear. Google Cloud La consola muestra la página Descripción general de la base de datos que creaste.
Bibliotecas cliente
Python
Java
Go
C++
Inserta datos de gráficos
Después de crear tu base de datos, puedes agregarle datos. En esta sección, se muestra cómo insertar datos en tu gráfico con la Google Cloud consola para una interfaz gráfica o con las bibliotecas cliente de forma programática.
Consola
En la página Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor.
Copia y pega las siguientes instrucciones de inserción de datos de gráficos en los nodos y las aristas.
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");Haz clic en Ejecutar. Cuando se complete la ejecución, la pestaña Resultados mostrará que se insertaron 3 filas.
Bibliotecas cliente
Python
Java
Go
C++
En el siguiente gráfico, se muestran las personas, las cuentas, la propiedad de las cuentas y las transferencias de cuentas de las inserciones:
Ejecuta una consulta de gráficos
Después de insertar datos en tu gráfico, puedes consultarlo para encontrar patrones y relaciones. En esta sección, se muestra cómo ejecutar consultas con la Google Cloud consola para una interfaz gráfica o de forma programática con bibliotecas cliente.
Consola
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 Spanner Studio, haz clic en Nueva pestaña o usa la pestaña del editor.
Ingresa la siguiente consulta en el editor de consultas. La consulta encuentra a todas las personas a las 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 amountHaz clic en Ejecutar.
En la pestaña Resultados , se muestran las siguientes rutas de Dana, que es propietaria del número de cuenta 20:
- A
Account {id:7}propiedad de Alex. A
Account {id:16}propiedad de Lee.
- A
Bibliotecas cliente
Python
Java
Go
C++
Limpia
En esta sección, se muestra cómo limpiar los recursos que creaste para evitar que se generen cargos en tu cuenta de Facturación de Cloud. Si planeas explorar otros ejemplos de Spanner Graph en la sección ¿Qué sigue?, no realices estos pasos todavía. Si borras una instancia de Spanner, también se borrarán todas las bases de datos de esa instancia.
Borra la base de datos
En la Google Cloud consola de, ve a Instancias de Spanner.
Haz clic en el nombre de la instancia, por ejemplo, Instancia de prueba.
Haz clic en el nombre de la base de datos, por ejemplo, example-db.
En la página Detalles de la base de datos, haz clic en Borrar base de datos.
Ingresa el nombre de la base de datos y haz clic en Borrar para confirmar que quieres borrar la base de datos.
Borra la instancia
En Google Cloud la consola de, 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 borrar la instancia.
¿Qué sigue?
- Obtén más información sobre Spanner Graph con un codelab.
- Obtén información sobre el esquema de Spanner Graph.
- Crea, actualiza o descarta un esquema de Spanner Graph.
- Inserta, actualiza o borra datos de Spanner Graph.
- Descripción general de las consultas de Spanner Graph.
- Migra a Spanner Graph.
- Obtén información sobre las prácticas recomendadas para el diseño de esquemas de Spanner Graph.
- Obtén información sobre las prácticas recomendadas para ajustar las consultas de Spanner Graph.