Encriptar o tráfego de rede
É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.
Se tiver interesse em usar a encriptação SSL, consulte a documentação do MySQL RDS.
Opções
Por motivos de desempenho, é comum usar bases de dados de réplicas só de leitura, também denominadas réplicas de leitura, com o Looker. Isto liberta a base de dados de produção para realizar a sua função principal sem que as consultas a possam abrandar.
Este documento descreve como:
- Modifique uma base de dados de réplica existente para funcionar com o Looker
- Crie uma nova base de dados de réplica de leitura e configure-a para funcionar com o Looker
Modificar uma réplica existente
Utilizadores e segurança
Altere <some_password_here>
para uma palavra-passe exclusiva e segura:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS e tabelas temporárias
Por predefinição, as réplicas de leitura do RDS têm uma flag só de leitura ativada que impede o Looker de escrever em tabelas temporárias. O Looker nunca altera os dados existentes, mas o MySQL continua a exigir acesso de escrita para usar tabelas temporárias. Pode resolver este problema alterando a flag no RDS. A partir das perguntas frequentes sobre o RDS:
P: As minhas réplicas de leitura só podem aceitar operações de leitura da base de dados?
As réplicas de leitura são concebidas para servir tráfego de leitura. No entanto, podem existir exemplos de utilização em que os utilizadores avançados pretendem concluir declarações SQL de linguagem de definição de dados (DDL) numa réplica de leitura. Os exemplos podem incluir a adição de um índice de base de dados a uma réplica de leitura que é usada para relatórios empresariais sem adicionar o mesmo índice à instância de BD de origem correspondente.
O Amazon RDS for MySQL pode ser configurado para permitir declarações SQL de LDD contra uma réplica de leitura. Se quiser ativar operações que não sejam leituras para uma determinada réplica de leitura, modifique o grupo de parâmetros da base de dados ativo para a réplica de leitura, definindo o parâmetro read_only
como 0
.
Atualmente, o Amazon RDS for PostgreSQL não suporta a execução de declarações SQL DDL numa réplica de leitura.
Se alterar o grupo de parâmetros da base de dados, tem de reiniciar a réplica de leitura para que as alterações entrem em vigor.
Crie uma base de dados e conceda autorizações
Crie uma base de dados temporária e conceda ao utilizador looker
os direitos de escrita na mesma. A declaração CREATE TEMPORARY
no MySQL tem de estar associada a uma BD para fins de autorização.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Criar uma nova réplica
Tenha em atenção que o AWS RDS só pode criar réplicas de leitura com instâncias de base de dados que tenham a retenção de cópias de segurança ativada.
Passos pré-AWS
Passo 1
mysql
na base de dados que vai ser a instância de base de dados principal:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Passo 2
Crie um utilizador com o nome looker
(substitua <some_password_here>
por uma palavra-passe única e segura):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Passo 3
Crie uma base de dados temporária e conceda privilégios de leitura ao Looker para outras bases de dados e tabelas. Geralmente, o Looker não escreve na base de dados looker_tmp
, mas usa-a para executar 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'@'%';
Passo 4
Flush privileges:
FLUSH PRIVILEGES;
Passos da AWS
Passo 1
Inicie sessão e aceda ao painel de controlo da AWS. Na secção Base de dados, selecione RDS.
Passo 2
No painel de controlo do RDS, selecione a instância da base de dados que quer especificar como base de dados principal. Selecione Ações da instância e, de seguida, selecione Criar réplica de leitura.
Passo 3
No pop-up Create Read Replica DB Instance, configure a base de dados de réplica de leitura e selecione Yes, Create Read Replica.
Passo 4
Enquanto aguarda a criação da base de dados de réplica de leitura, pode configurar o grupo de parâmetros da base de dados, que vai conter os valores de configuração do motor aplicados à instância da base de dados de réplica de leitura. Selecione a página Grupos de parâmetros de BD na barra lateral e, de seguida, selecione o botão Criar grupo de parâmetros de BD.
Passo 5
Selecione a família do grupo de parâmetros da base de dados e o nome do grupo de parâmetros da base de dados e introduza uma descrição do grupo de parâmetros da base de dados. Em seguida, selecione Sim, criar.
Passo 6
Selecione o ícone de lupa na linha que contém o grupo de parâmetros da base de dados da réplica de leitura ou selecione essa linha e selecione Editar parâmetros.
Passo 7
No campo Filtros em Parâmetros, pesquise "read_only". Altere o valor do parâmetro para 0
. Em seguida, selecione Guardar alterações.
Passo 8
Quando a criação da réplica de leitura estiver concluída, selecione-a na lista de instâncias da base de dados, selecione o botão Ação da instância e selecione Modificar na ação da instância.
Passo 9
No pop-up Modificar instância de base de dados, altere o grupo de parâmetros da instância de base de dados para o novo grupo de parâmetros da réplica de leitura. Em seguida, selecione a caixa Aplicar imediatamente, selecione Continuar e selecione Modificar instância de BD.
Passo 10
Usando o cliente MySQL, ligue-se à instância da base de dados da réplica de leitura como looker
e teste para ver se os dados estão acessíveis.
Criar a ligação do Looker à sua base de dados
Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.
Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações.
Para verificar se a associação foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas.
Para guardar estas definições, clique em Associar.
Suporte de funcionalidades
Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.
O MySQL suporta as seguintes funcionalidades a partir do Looker 25.14:
Funcionalidade | Compatível? |
---|---|
Nível de apoio técnico | Suportado |
Looker (Google Cloud Core) | Não |
Dados agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas SQL persistentes | Sim |
Tabelas derivadas nativas persistentes | Sim |
Vistas estáveis | Sim |
Interrupção de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros JDBC adicionais | Sim |
Sensível a maiúsculas e minúsculas | Não |
Tipo de localização | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Sim |
Execução de SQL Mostrar processos | Sim |
Execução de SQL Describe Table | Sim |
Execução de SQL Mostrar índices | Sim |
Execução de SQL Select 10 | Sim |
Contagem da execução de SQL | Sim |
SQL Explain | Sim |
Credenciais do OAuth 2.0 | Não |
Comentários de contexto | Sim |
Agrupamento de ligações | Não |
Esboços HLL | Não |
Notoriedade agregada | Sim |
PDTs incrementais | Sim |
Milissegundos | Sim |
Microssegundos | Sim |
Vistas materializadas | Não |
Medidas de comparação de períodos | Não |
Contagem distinta aproximada | Não |