Cifrar el tráfico de red
Te recomendamos que cifres el tráfico de red entre la aplicación Looker y tu base de datos. Considera una de las opciones descritas en la página de documentación Habilitar el acceso seguro a la base de datos.
Si te interesa usar el cifrado SSL, consulta la documentación de MySQL RDS.
Opciones
Por motivos de rendimiento, es habitual usar bases de datos de réplica de solo lectura (también llamadas réplicas de lectura) con Looker. De esta forma, la base de datos de producción puede realizar su función principal sin que ninguna consulta pueda ralentizarla.
En este documento se describe cómo hacer lo siguiente:
- Modificar una base de datos de réplica para que funcione con Looker
- Crear una base de datos de réplica de lectura y configurarla para que funcione con Looker
Modificar una réplica
Usuarios y seguridad
Cambia <some_password_here>
por una contraseña única y segura:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS y tablas temporales
De forma predeterminada, las réplicas de lectura de RDS tienen habilitada una marca de solo lectura que impide que Looker escriba en tablas temporales. Looker nunca cambia los datos, pero MySQL sigue necesitando acceso de escritura para usar tablas temporales. Para solucionar este problema, cambia la marca en RDS. De las preguntas frecuentes sobre RDS:
P: ¿Mis réplicas de lectura solo pueden aceptar operaciones de lectura de bases de datos?
Las réplicas de lectura están diseñadas para servir tráfico de lectura. Sin embargo, puede haber casos en los que los usuarios avanzados quieran completar instrucciones SQL de lenguaje de definición de datos (DDL) en una réplica de lectura. Por ejemplo, se puede añadir un índice de base de datos a una réplica de lectura que se usa para generar informes empresariales sin añadir el mismo índice a la instancia de base de datos de origen correspondiente.
Amazon RDS para MySQL se puede configurar para permitir instrucciones SQL de DDL en una réplica de lectura. Si quiere habilitar operaciones distintas a las de lectura en una réplica de lectura determinada, modifique el grupo de parámetros de la base de datos activo de la réplica de lectura y asigne el valor 0
al parámetro read_only
.
Actualmente, Amazon RDS para PostgreSQL no admite la ejecución de instrucciones SQL de DDL en una réplica de lectura.
Si modificas el grupo de parámetros de la base de datos, tendrás que reiniciar la réplica de lectura para que los cambios surtan efecto.
Crear una base de datos y conceder permisos
Crea una base de datos temporal y otorga al usuario looker
derechos de escritura en ella. La instrucción CREATE TEMPORARY
de MySQL debe asociarse a una base de datos para conceder permisos.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Crear una réplica
Ten en cuenta que AWS RDS solo puede crear réplicas de lectura con instancias de base de datos que tengan activada la opción Conservación de copias de seguridad.
Pasos previos a AWS
Paso 1
mysql
en la base de datos que será la instancia de base de datos principal:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Paso 2
Crea un usuario llamado looker
(sustituye <some_password_here>
por una contraseña única y segura):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Paso 3
Crea una base de datos temporal y concede privilegios de lectura a Looker para otras bases de datos y tablas. Por lo general, Looker no escribe en la base de datos looker_tmp
, sino que la usa para ejecutar comandos CREATE TEMPORARY TABLE
.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
Paso 4
Privilegios de vaciado:
FLUSH PRIVILEGES;
Pasos de AWS
Paso 1
Inicia sesión y ve al panel de control de AWS. En la sección Base de datos, selecciona RDS.
Paso 2
En el panel de control de RDS, seleccione la instancia de base de datos que quiera especificar como base de datos principal. Seleccione Acciones de instancia y, a continuación, Crear réplica de lectura.
Paso 3
En la ventana emergente Create Read Replica DB Instance (Crear instancia de base de datos de réplica de lectura), configura la base de datos de réplica de lectura y selecciona Yes, Create Read Replica (Sí, crear réplica de lectura).
Paso 4
Mientras esperas a que se cree la base de datos de réplica de lectura, puedes configurar el grupo de parámetros de la base de datos, que contendrá los valores de configuración del motor que se aplican a la instancia de la base de datos de réplica de lectura. Seleccione la página Grupos de parámetros de la base de datos en la barra lateral y, a continuación, el botón Crear grupo de parámetros de la base de datos.
Paso 5
Seleccione Familia de grupos de parámetros de la base de datos y Nombre de grupo de parámetros de la base de datos, e introduzca una Descripción de grupo de parámetros de la base de datos. A continuación, selecciona Sí, crear.
Paso 6
Seleccione el icono de lupa en la fila que contiene el grupo de parámetros de la base de datos de réplica de lectura o seleccione esa fila y, a continuación, Editar parámetros.
Paso 7
En el campo Filtros de Parámetros, busca "read_only". Cambia el valor del parámetro a 0
. Después, selecciona Guardar cambios.
Paso 8
Cuando se haya terminado de crear la réplica de lectura, selecciónela en la lista de instancias de base de datos, haga clic en el botón Acción de instancia y, a continuación, en Modificar.
Paso 9
En la ventana emergente Modify DB Instance (Modificar instancia de base de datos), cambia el Parameter Group (Grupo de parámetros) de la instancia de base de datos al nuevo grupo de parámetros de réplica de lectura. A continuación, marca la casilla Apply Immediately (Aplicar inmediatamente), selecciona Continue (Continuar) y, después, Modify DB Instance (Modificar instancia de base de datos).
Paso 10
Con el cliente MySQL, conéctate a la instancia de base de datos de réplica de lectura como looker
y comprueba si se puede acceder a los datos.
Crear la conexión de Looker a tu base de datos
En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
Rellena los detalles de la conexión. La mayoría de los ajustes son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener información.
Para verificar que la conexión se ha realizado correctamente, haz clic en Probar. Consulta la página de documentación Probar la conectividad de la base de datos para obtener información sobre cómo solucionar problemas.
Para guardar estos ajustes, haz clic en Conectar.
Funciones admitidas
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
MySQL admite las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | No |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | No |
Tipo de ubicación | Sí |
Tipo de lista | Sí |
Percentil | Sí |
Percentil de valores distintos | Sí |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | Sí |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | Sí |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | No |
Notoriedad agregada | Sí |
PDTs incrementales | Sí |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | No |