Creación de una base de datos a partir de un recurso compartido de datos de Amazon Redshift
Con Amazon Redshift, puede utilizar un recurso compartido de datos para crear una base de datos y, a continuación, consultar datos en recursos compartidos de datos de clústeres de productor para obtener acceso seguro a datos en directo sin copiarlos ni transferirlos. Los siguientes pasos cubren los detalles de la configuración de una base de datos en el entorno de Amazon Redshift.
- Console
-
Para poder consultar los datos del recurso compartido de datos, debe crear una base de datos a partir de un recurso compartido de datos. Solo puede crear una base de datos a partir de un datashare especificado.
Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/
. -
En el menú de navegación, elija Clusters (Clústeres) y, a continuación, elija su clúster. Se abrirá la página de detalles del clúster.
-
Seleccione Datashares. Aparecerá la lista de datashares.
-
En la sección Datashares from other clusters (Datashares de otros clústeres), elija Connect to database (Conectarse a la base de datos). Para obtener más información, consulte Conexión a una base de datos.
-
Seleccione el datashare a partir del cual desea crear bases de datos y, a continuación, elija Create database from datashare (Crear base de datos a partir del datashare). Se abrirá la página Create database from datashare (Crear base de datos a partir del datashare).
-
En Database name (Nombre de base de datos), especifique un nombre para la base de datos. El nombre de la base de datos debe tener entre 1 y 64 caracteres alfanuméricos (solo letras minúsculas) y no puede ser una palabra reservada.
-
Seleccione Crear.
Una vez creada la base de datos, puede consultar los datos de la base de datos o realizar operaciones de escritura, si el administrador del consumidor las ha concedido, autorizado y asociado.
- API
-
Para compartir datos con fines de lectura como administrador de consumidores, realice los siguientes pasos.
-
Enumere los datashares que se ponen a su disposición y vea su contenido. Para obtener más información, consulte DESC DATASHARE y SHOW DATASHARES.
En el siguiente ejemplo, se muestra la información de los datashares entrantes de un espacio de nombres productor específico. Cuando ejecuta DESC DATASHARE como administrador de consumidores, debe especificar la opción NAMESPACE para ver los recursos compartidos de datos entrantes.
DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d'; producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------ 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_users_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_venue_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_category_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_date_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_event_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_listing_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_sales_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | schema | public | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | view | public.sales_data_summary_view |
Solo los superusuarios del clúster pueden hacer esto. También puede utilizar SVV_DATASHARES para ver los datashares y SVV_DATASHARE_OBJECTS para ver los objetos que se encuentran dentro del datashare.
En el siguiente ejemplo, se muestran los datashares entrantes de un clúster consumidor.
SHOW DATASHARES LIKE 'sales%'; share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account | producer_namespace ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+-------------------------------------- salesshare | | | | INBOUND | | t | | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
-
Como superusuario de bases de datos, puede crear bases de datos locales que hacen referencia a los recursos compartidos de datos. Para obtener más información, consulte CREATE DATABASE.
CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
Si desea tener un control más detallado del acceso a los objetos de la base de datos local, utilice la cláusula WITH PERMISSIONS al crear la base de datos. De este modo, podrá conceder permisos en el nivel de objeto para los objetos de la base de datos en el paso 4.
CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
Puede ver las bases de datos que creó a partir del datashare consultando la vista SVV_REDSHIFT_DATABASES. Puede conectarse a estas bases de datos directamente o puede conectarse a una base de datos local en el clúster del consumidor y realizar una consulta entre bases de datos para consultar los datos de las bases de datos de recursos compartidos de datos.
nota
No puede crear un datashare encima de los objetos de base de datos creados a partir de un datashare existente. No obstante, puede copiar los datos en una tabla diferente en el clúster consumidor, llevar a cabo el procesamiento que sea necesario y, a continuación, compartir los objetos nuevos que se hayan creado.
También puede utilizar la consola de Amazon Redshift para crear bases de datos a partir de datashares. Para obtener más información, consulte Creación de bases de datos a partir de datashares.
-