Amazon Redshift - Guía Para Desarrolladores De Bases De Datos

Transcription

Amazon RedshiftGuía para desarrolladores de bases de datos

Amazon Redshift Guía paradesarrolladores de bases de datosAmazon Redshift: Guía para desarrolladores de bases de datosCopyright Amazon Web Services, Inc. and/or its affiliates. All rights reserved.Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relación con ningún producto oservicio que no sea de Amazon de ninguna manera que pueda causar confusión entre los clientes y que menosprecieo desacredite a Amazon. Todas las demás marcas comerciales que no sean propiedad de Amazon son propiedad desus respectivos propietarios, que pueden o no estar afiliados, conectados o patrocinados por Amazon.

Amazon Redshift Guía paradesarrolladores de bases de datosTable of ContentsInformación general del sistema . 1¿Es la primera vez que usa Amazon Redshift? . 1¿Es usted un desarrollador de bases de datos? . 2Prerequisites . 3Información general del sistema y de la arquitectura . 3Arquitectura del sistema de almacenamiento de datos . 4Desempeño . 6Almacenamiento en columnas . 8Administración de la carga de trabajo . 10Uso de Amazon Redshift con otros servicios . 10Prácticas recomendadas . 12Realización de una prueba de concepto . 12Información general sobre el proceso . 13Identificar los objetivos empresariales y los criterios de éxito . 13Configurar la prueba de concepto . 13Lista de comprobación para una evaluación completa . 15Desarrollar un plan de proyecto para la evaluación . 16Recursos adicionales para ayudar con la evaluación . 17¿Necesita ayuda? . 18Prácticas recomendadas para el diseño de tablas . 18Elección de claves de ordenación recomendadas . 18Elección de modos de distribución recomendados . 19Uso de la compresión automática . 20Definición de restricciones . 20Uso del menor tamaño posible de columna . 20Uso de tipos de datos de fecha/hora para columnas de fecha . 21Prácticas recomendadas para la carga de datos . 21Realice el curso de carga de datos . 21Uso del comando COPY para cargar datos . 22Uso de un único comando COPY . 22Divida los datos de carga . 22Compresión de los archivos de datos . 22Control de los archivos de datos antes y después de una carga . 23Uso de una inserción de filas múltiples . 23Uso de una inserción masiva . 23Carga de datos en orden de clave de ordenación . 24Carga de datos en bloques secuenciales . 24Uso de tablas de series temporales . 24Uso de una tabla provisional para realizar una fusión . 25Programación de periodos de mantenimiento . 25Prácticas recomendadas para el diseño de consultas . 25Uso de Advisor . 27Regiones de Amazon Redshift . 27Acceso a Advisor . 28Recomendaciones de Advisor . 28Tutoriales . 39Uso de la optimización automática de tablas . 40Habilitación de la optimización automática de tablas . 40Eliminación de la optimización automática de tablas . 41Supervisión de acciones de optimización automática de tablas . 41Uso de la compresión de columnas . 42Codificaciones de compresión . 43Prueba de las codificaciones de compresión . 50Ejemplo: Selección de codificaciones de compresión para la tabla CUSTOMER . 52iii

Amazon Redshift Guía paradesarrolladores de bases de datosUso de estilos de distribución de datos . 54Conceptos de distribución de datos . 55Estilos de distribución . 56Visualización de los estilos de distribución . 57Evaluación de los patrones de consulta . 58Designación de estilos de distribución . 58Evaluación del plan de consulta . 59Ejemplo de plan de consulta . 61Ejemplos de distribución . 65Uso de claves de ordenación . 67Clave de ordenación compuesta . 68Clave de ordenación intercalada . 68Definición de restricciones de la tabla . 69Carga de datos . 70Uso de COPY para cargar datos . 70Credenciales y permisos de acceso . 71Preparación de los datos de entrada . 72Carga de datos desde Amazon S3 . 73Carga de datos desde Amazon EMR . 82Carga de datos desde hosts remotos . 86Carga desde Amazon DynamoDB . 93Comprobación de carga correcta de datos . 95Validación de datos de entrada . 95Compresión automática . 96Optimización de tablas angostas . 98Valores predeterminados . 98Solución de problemas . 99Actualización con DML . 103Actualización e inserción . 104Método de fusión 1: Reemplazar filas existentes . 104Método de fusión 2: Especificar una lista de columnas . 105Creación de una tabla provisional temporal . 105Realización de una operación de fusión al reemplazar filas existentes . 105Realización de una operación de fusión al especificar una lista de columnas . 106Ejemplos de fusión . 107Realización de una copia profunda . 109Análisis de tablas . 111Análisis automático . 111Análisis de los datos nuevos de las tablas . 112Historial del comando ANALYZE . 115Limpieza de tablas . 116Clasificación automática de tablas . 116Eliminación de limpieza automática . 117Frecuencia de ejecución de VACUUM . 117Fase de ordenación y fase de fusión . 118Umbral de limpieza . 118Tipos de limpieza . 118Administración de los tiempos de limpieza . 118Administración de operaciones de escritura simultáneas . 125Aislamiento serializable . 126Operaciones de lectura y escritura y de escritura . 129Ejemplos de escritura simultánea . 130Tutorial: Carga de datos desde Amazon S3 . 131Requisitos previos . 132Información general . 132Pasos . 133Paso 1: Crear un clúster . 133iv

Amazon Redshift Guía paradesarrolladores de bases de datosPaso 2: Descargar los archivos de datos .Paso 3: Cargar los archivos en un bucket de Amazon S3 .Paso 4: Crear las tablas de muestra .Paso 5: Ejecutar los comandos COPY .Paso 6: Limpiar y analizar la base de datos .Paso 7: Eliminar los recursos .Resumen .Descarga de datos .Descarga de datos en Amazon S3 .Descarga de archivos de datos cifrados .Descarga de datos en formato de ancho fijo o delimitado .Volver a cargar datos descargados .Creación de funciones definidas por el usuario .Privilegios y seguridad de las UDF .Creación de una UDF de SQL escalar .Ejemplo de una función SQL escalar .Creación de una UDF de Python escalar .Ejemplo de una UDF escalar de Python .Tipos de datos de UDF de Python .Tipo de datos ANYELEMENT .Compatibilidad con el lenguaje Python .Restricciones de las UDF .Creación de una UDF de Lambda escalar .Registro de una UDF de Lambda .Administración de la seguridad y los privilegios de una UDF de Lambda .Configuración del parámetro de autorización para las UDF de Lambda .Uso de la interfaz JSON entre Amazon Redshift y Lambda .Dar nombre a las UDF .Registro de errores y advertencias .Ejemplos de usos de UDF .Creación de procedimientos almacenados .Información general de los procedimientos almacenados .Nomenclatura de los procedimientos almacenados .Seguridad y privilegios .Devolución de un conjunto de resultados .Administración de transacciones .Errores de captura .Registro de procedimientos almacenados .Límites y diferencias .Referencia del lenguaje PL/pgSQL .Convenciones de la referencia de PL/pgSQL .Estructura de PL/pgSQL .Instrucciones de PL/pgSQL admitidas .Creación de vistas materializadas .Consulta de una vista materializada .Reescritura automática de consultas para utilizar vistas materializadas .Notas de uso .Limitaciones .Actualización de una vista materializada .Actualización automática de una vista materializada .Vistas materializadas automatizadas .Alcance y consideraciones de SQL de las vistas materializadas automatizadas .Limitaciones de las vistas materializadas automatizadas .Ingesta de streaming (versión preliminar) .Flujo de datos .Casos de uso de ingesta de streaming .Introducción a la ingesta de streaming 09210211211212212212212

Amazon Redshift Guía paradesarrolladores de bases de datosLimitaciones . 214Tutorial de datos de estaciones de vehículos eléctricos (versión preliminar) . 215Consulta de datos espaciales . 218Tutorial: Uso de funciones SQL espaciales . 220Requisitos previos . 221Paso 1: Crear tablas y cargar datos de prueba . 221Paso 2: Consultar los datos espaciales . 223Paso 3: Eliminar los recursos . 226Carga de un shapefile . 226Terminología . 227Bounding Box . 227Validez geométrica . 228Simplicidad geométrica . 229Limitaciones . 231Consulta de datos con consultas federadas . 232Introducción al uso de consultas federadas en PostgreSQL . 233Introducción al uso de consultas federadas en PostgreSQL con CloudFormation . 234Lanzamiento de una pila de CloudFormation para las consultas federadas de Redshift . 234Consulta de datos desde el esquema externo . 235Introducción al uso de consultas federadas en MySQL . 236Creación de un secreto y rol de IAM . 237Requisitos previos . 237Ejemplos de uso de una consulta federada . 238Ejemplo de uso de una consulta federada con PostgreSQL . 239Ejemplo de uso de un nombre compuesto por mayúsculas y minúsculas . 240Ejemplo de uso de una consulta federada con MySQL . 242Diferencias de tipos de datos . 242Limitaciones y consideraciones . 245Consulta de datos externos mediante Amazon Redshift Spectrum . 247Información general sobre Amazon Redshift Spectrum . 247Regiones de Amazon Redshift Spectrum . 248Consideraciones de Amazon Redshift Spectrum . 248Introducción a Amazon Redshift Spectrum . 249Requisitos previos . 249CloudFormation . 249Introducción paso a paso a Redshift Spectrum . 249Paso 1. Crear un rol de IAM . 250Paso 2: Asociar el rol de IAM a su clúster . 252Paso 3: Crear un esquema externo y una tabla externa . 253Paso 4: Consultar sus datos en Amazon S3 . 254Lanzamiento de su pila de CloudFormation y, a continuación, consulta de sus datos . 256Políticas de IAM para Amazon Redshift Spectrum . 258Permisos de Amazon S3 . 259Permisos entre cuentas de Amazon S3 . 260Concesión o restricción del acceso a través de Redshift Spectrum . 260Permisos mínimos . 261Encadenamiento de roles de IAM . 262Acceso a datos de AWS Glue . 262Uso de Redshift Spectrum con Lake Formation . 268Creación de archivos de datos para consultas en Amazon Redshift Spectrum . 269Formatos de datos para Redshift Spectrum . 269Tipos de compresión para Redshift Spectrum . 270Cifrado para Redshift Spectrum . 271Creación de esquemas externos . 271Uso de catálogos externos . 273Creación de tablas externas . 276Pseudocolumnas . 278vi

Amazon Redshift Guía paradesarrolladores de bases de datosPartición de tablas externas de Redshift Spectrum .Asignación a columnas ORC .Creación de tablas externas para datos administrados por Hudi .Creación de tablas externas para datos de Delta Lake .Mejora del rendimiento de las consultas en Amazon Redshift Spectrum .Configuración de opciones de control de datos .Realización de subconsultas correlacionadas .Supervisión de métricas .Solución de problemas de consultas .Cantidad de reintentos superada .

Amazon Redshift - Guía para desarrolladores de bases de datos . sistema.