Iceberg Apache é um formato de tabela aberta para conjuntos de dados analíticos muito grandes, que captura informações de metadados sobre o estado dos conjuntos de dados conforme eles evoluem e mudam com o tempo. Ele adiciona tabelas a mecanismos de computação, incluindo Spark, Trino, PrestoDB, Flink e Hive, usando um formato de tabela de alto desempenho que funciona exatamente como uma tabela SQL. O Iceberg tornou-se muito popular por seu suporte a transações ACID em data lakes e recursos como evolução de esquema e partição, viagem no tempo e reversão.
A integração do Apache Iceberg é suportada pelos serviços de análise da AWS, incluindo Amazon EMR, Amazona atena e Cola AWS. O Amazon EMR pode provisionar clusters com Spark, Hive, Trino e Flink que podem executar o Iceberg. A partir do Amazon EMR versão 6.5.0, você pode use o Iceberg com seu cluster EMR sem exigir uma ação de bootstrap. No início de 2022, a AWS anunciou a disponibilidade geral das transações Athena ACID, com tecnologia Apache Iceberg. O recentemente lançado Mecanismo de consulta Athena versão 3 fornece melhor integração com o formato de tabela Iceberg. AWS Glue 3.0 e posterior suporta a estrutura Apache Iceberg para data lakes.
Nesta postagem, discutimos o que os clientes desejam em data lakes modernos e como o Apache Iceberg ajuda a atender às necessidades do cliente. Em seguida, analisamos uma solução para criar um data lake Iceberg em evolução e de alto desempenho em Serviço de armazenamento simples da Amazon (Amazon S3) e processar dados incrementais executando instruções SQL de inserção, atualização e exclusão. Por fim, mostramos como ajustar o desempenho do processo para melhorar o desempenho de leitura e gravação.
Como o Apache Iceberg aborda o que os clientes desejam em data lakes modernos
Mais e mais clientes estão construindo data lakes, com dados estruturados e não estruturados, para oferecer suporte a muitos usuários, aplicativos e ferramentas analíticas. Há uma necessidade crescente de data lakes para oferecer suporte a banco de dados como recursos, como transações ACID, atualizações e exclusões de nível de registro, viagem no tempo e reversão. O Apache Iceberg foi projetado para oferecer suporte a esses recursos em data lakes econômicos em escala de petabytes no Amazon S3.
O Apache Iceberg atende às necessidades do cliente capturando informações ricas de metadados sobre o conjunto de dados no momento em que os arquivos de dados individuais são criados. Existem três camadas na arquitetura de uma tabela Iceberg: o catálogo Iceberg, a camada de metadados e a camada de dados, conforme ilustrado na figura a seguir (fonte).
O catálogo Iceberg armazena o ponteiro de metadados para o arquivo de metadados da tabela atual. Quando uma consulta selecionada está lendo uma tabela Iceberg, o mecanismo de consulta primeiro vai para o catálogo Iceberg e, em seguida, recupera a localização do arquivo de metadados atual. Sempre que houver uma atualização na tabela Iceberg, um novo instantâneo da tabela é criado e o ponteiro de metadados aponta para o arquivo de metadados da tabela atual.
Veja a seguir um exemplo de catálogo Iceberg com implementação do AWS Glue. Você pode ver o nome do banco de dados, a localização (caminho S3) da tabela Iceberg e a localização dos metadados.
A camada de metadados tem três tipos de arquivos: o arquivo de metadados, a lista de manifesto e o arquivo de manifesto em uma hierarquia. No topo da hierarquia está o arquivo de metadados, que armazena informações sobre o esquema da tabela, informações de partição e instantâneos. O instantâneo aponta para a lista de manifestos. A lista de manifesto contém as informações sobre cada arquivo de manifesto que compõe o instantâneo, como a localização do arquivo de manifesto, as partições às quais ele pertence e os limites inferior e superior das colunas de partição dos arquivos de dados que ele rastreia. O arquivo de manifesto rastreia arquivos de dados, bem como detalhes adicionais sobre cada arquivo, como o formato do arquivo. Todos os três arquivos funcionam em uma hierarquia para rastrear os instantâneos, esquema, particionamento, propriedades e arquivos de dados em uma tabela Iceberg.
A camada de dados contém os arquivos de dados individuais da tabela Iceberg. O Iceberg oferece suporte a uma ampla variedade de formatos de arquivo, incluindo Parquet, ORC e Avro. Como a tabela Iceberg rastreia os arquivos de dados individuais em vez de apenas apontar para o local da partição com arquivos de dados, ela isola as operações de gravação das operações de leitura. Você pode gravar os arquivos de dados a qualquer momento, mas apenas confirmar a alteração explicitamente, o que cria uma nova versão do instantâneo e dos arquivos de metadados.
Visão geral da solução
Nesta postagem, apresentamos uma solução para criar um data lake Apache Iceberg de alto desempenho no Amazon S3; processe dados incrementais com instruções SQL de inserção, atualização e exclusão; e ajuste a tabela Iceberg para melhorar o desempenho de leitura e gravação. O diagrama a seguir ilustra a arquitetura da solução.
Para demonstrar esta solução, usamos o Amazon Comentários de Clientes conjunto de dados em um bucket S3 (s3://amazon-reviews-pds/parquet/
). No caso de uso real, seriam dados brutos armazenados em seu bucket S3. Podemos verificar o tamanho dos dados com o seguinte código no Interface de linha de comando da AWS (AWS CLI):
A contagem total de objetos é 430 e o tamanho total é 47.4 GiB.
Para configurar e testar esta solução, concluímos as seguintes etapas de alto nível:
- Configure um bucket S3 na zona selecionada para armazenar dados convertidos no formato de tabela Iceberg.
- Inicie um cluster EMR com configurações apropriadas para o Apache Iceberg.
- Crie um notebook no EMR Studio.
- Configure a sessão Spark para Apache Iceberg.
- Converta dados para o formato de tabela Iceberg e mova os dados para a zona selecionada.
- Execute consultas de inserção, atualização e exclusão no Athena para processar dados incrementais.
- Execute o ajuste de desempenho.
Pré-requisitos
Para acompanhar este passo a passo, você deve ter um Conta da AWS com um Gerenciamento de acesso e identidade da AWS (IAM) que tem acesso suficiente para provisionar os recursos necessários.
Configure o bucket S3 para dados Iceberg na zona selecionada em seu data lake
Escolha a região na qual deseja criar o bucket S3 e forneça um nome exclusivo:
Inicie um cluster EMR para executar trabalhos do Iceberg usando o Spark
Você pode criar um cluster EMR a partir do Console de gerenciamento da AWS, Amazon EMR CLI ou Kit de desenvolvimento em nuvem da AWS (AWSCDK). Para esta postagem, orientamos você sobre como criar um cluster EMR a partir do console.
- No console do Amazon EMR, escolha Criar cluster.
- Escolha opções avançadas.
- Escolha Configuração de Software, escolha a versão mais recente do Amazon EMR. Em janeiro de 2023, a versão mais recente é 6.9.0. Iceberg requer a versão 6.5.0 e superior.
- Selecionar JupyterEnterpriseGateway e Faísca como o software a ser instalado.
- Escolha Editar configurações de software, selecione Entrar na configuração e entre
[{"classification":"iceberg-defaults","properties":{"iceberg.enabled":true}}]
. - Deixe outras configurações em seu padrão e escolha Próximo.
- Escolha Hardware, use a configuração padrão.
- Escolha Próximo.
- Escolha Nome do cluster, Insira o nome. Nós usamos
iceberg-blog-cluster
. - Deixe as configurações restantes inalteradas e escolha Próximo.
- Escolha Criar cluster.
Criar um notebook no EMR Studio
Agora, orientamos você sobre como criar um bloco de anotações no EMR Studio a partir do console.
- No console IAM, criar uma função de serviço do EMR Studio.
- No console do Amazon EMR, escolha Estúdio EMR.
- Escolha COMECE AGORA.
A COMECE AGORA página aparece em uma nova guia.
- Escolha Criar estúdio na nova guia.
- Insira o nome. Usamos o estúdio iceberg.
- Escolha a mesma VPC e sub-rede do cluster EMR e o grupo de segurança padrão.
- Escolha AWS Identity and Access Management (IAM) para autenticação e escolha a função de serviço do EMR Studio que você acabou de criar.
- Escolha um caminho S3 para Backup de espaços de trabalho.
- Escolha Criar estúdio.
- Após a criação do Studio, escolha a URL de acesso do Studio.
- No painel do EMR Studio, escolha Criar espaço de trabalho.
- Digite um nome para o seu espaço de trabalho. Nós usamos
iceberg-workspace
. - Expandir Configuração avançada e escolha Anexar espaço de trabalho a um cluster EMR.
- Escolha o cluster EMR que você criou anteriormente.
- Escolha Criar espaço de trabalho.
- Escolha o nome do espaço de trabalho para abrir uma nova guia.
No painel de navegação, há um notebook com o mesmo nome do Workspace. No nosso caso, é o iceberg-workspace.
- Abra o caderno.
- Quando solicitado a escolher um kernel, escolha Faísca.
Configurar uma sessão do Spark para o Apache Iceberg
Use o código a seguir, fornecendo seu próprio nome de bucket do S3:
Isso define as seguintes configurações de sessão do Spark:
- spark.sql.catalog.demo – Registra um catálogo Spark chamado demo, que usa o plug-in de catálogo Iceberg Spark.
- spark.sql.catalog.demo.catalog-impl – O catálogo de demonstração do Spark usa o AWS Glue como o catálogo físico para armazenar o banco de dados Iceberg e as informações da tabela.
- spark.sql.catalog.demo.warehouse – O catálogo de demonstração do Spark armazena todos os metadados e arquivos de dados do Iceberg no caminho raiz definido por esta propriedade:
s3://iceberg-curated-blog-data
. - spark.sql.extensões – Adiciona suporte às extensões SQL do Iceberg Spark, que permitem executar procedimentos do Iceberg Spark e alguns comandos SQL somente do Iceberg (você usará isso em uma etapa posterior).
- spark.sql.catalog.demo.io-impl – O Iceberg permite que os usuários gravem dados no Amazon S3 por meio do S3FileIO. Por padrão, o Catálogo de dados do AWS Glue usa esse FileIO, e outros catálogos podem carregar esse FileIO usando a propriedade de catálogo io-impl.
Converter dados para o formato de tabela Iceberg
Você pode usar o Spark no Amazon EMR ou o Athena para carregar a tabela Iceberg. Na sessão Spark do notebook EMR Studio Workspace, execute os seguintes comandos para carregar os dados:
Depois de executar o código, você deve encontrar dois prefixos criados no caminho S3 do data warehouse (s3://iceberg-curated-blog-data/reviews.db/all_reviews
): dados e metadados.
Processe dados incrementais usando instruções SQL de inserção, atualização e exclusão no Athena
Athena é um mecanismo de consulta sem servidor que você pode usar para executar tarefas de leitura, gravação, atualização e otimização em tabelas Iceberg. Para demonstrar como o formato de data lake do Apache Iceberg dá suporte à ingestão de dados incremental, executamos as instruções SQL insert, update e delete no data lake.
Navegue até o console do Athena e escolha Editor de consultas. Se esta for sua primeira vez usando o editor de consultas Athena, você precisa configurar a localização do resultado da consulta para ser o bucket do S3 que você criou anteriormente. Você deve conseguir ver que a tabela reviews.all_reviews está disponível para consulta. Execute a seguinte consulta para verificar se você carregou a tabela Iceberg com sucesso:
Processe dados incrementais executando instruções SQL insert, update e delete:
Ajuste de desempenho
Nesta seção, percorremos diferentes maneiras de melhorar o desempenho de leitura e gravação do Apache Iceberg.
Configurar as propriedades da tabela do Apache Iceberg
O Apache Iceberg é um formato de tabela e oferece suporte a propriedades de tabela para configurar o comportamento da tabela, como leitura, gravação e catálogo. Você pode melhorar o desempenho de leitura e gravação nas tabelas Iceberg ajustando as propriedades da tabela.
Por exemplo, se você perceber que está gravando muitos arquivos pequenos para uma tabela Iceberg, pode configurar o tamanho do arquivo de gravação para gravar menos, mas arquivos de tamanho maior, para ajudar a melhorar o desempenho da consulta.
Propriedade | Padrão | Descrição |
write.target-file-size-bytes | 536870912 (512 MB) | Controla o tamanho dos arquivos gerados para segmentar sobre esta quantidade de bytes |
Use o seguinte código para alterar o formato da tabela:
Particionamento e classificação
Para fazer uma consulta ser executada rapidamente, quanto menos dados forem lidos, melhor. O Iceberg aproveita os ricos metadados que captura no momento da gravação e facilita técnicas como planejamento de varredura, particionamento, remoção e estatísticas em nível de coluna, como valores mínimo/máximo, para pular arquivos de dados que não possuem registros correspondentes. Orientamos você sobre como o planejamento e o particionamento da verificação de consulta funcionam no Iceberg e como os usamos para melhorar o desempenho da consulta.
Planejamento de varredura de consulta
Para uma determinada consulta, a primeira etapa em um mecanismo de consulta é o planejamento da verificação, que é o processo para localizar os arquivos em uma tabela necessários para uma consulta. O planejamento em uma tabela Iceberg é muito eficiente, porque os metadados avançados do Iceberg podem ser usados para remover arquivos de metadados desnecessários, além de filtrar arquivos de dados que não contêm dados correspondentes. Em nossos testes, observamos que o Athena digitalizou 50% ou menos dos dados para uma determinada consulta em uma tabela Iceberg em comparação com os dados originais antes da conversão para o formato Iceberg.
Existem dois tipos de filtragem:
- Filtragem de metadados – O Iceberg usa dois níveis de metadados para rastrear os arquivos em um instantâneo: a lista de manifesto e os arquivos de manifesto. Ele primeiro usa a lista de manifesto, que atua como um índice dos arquivos de manifesto. Durante o planejamento, o Iceberg filtra os manifestos usando o intervalo de valores de partição na lista de manifestos sem ler todos os arquivos de manifesto. Em seguida, ele usa arquivos de manifesto selecionados para obter arquivos de dados.
- Filtragem de dados – Depois de selecionar a lista de arquivos de manifesto, o Iceberg usa os dados de partição e as estatísticas em nível de coluna para cada arquivo de dados armazenado em arquivos de manifesto para filtrar os arquivos de dados. Durante o planejamento, os predicados de consulta são convertidos em predicados nos dados da partição e aplicados primeiro para filtrar arquivos de dados. Em seguida, as estatísticas da coluna, como contagens de valor no nível da coluna, contagens nulas, limites inferiores e limites superiores, são usadas para filtrar os arquivos de dados que não podem corresponder ao predicado da consulta. Ao usar limites superiores e inferiores para filtrar arquivos de dados no momento do planejamento, o Iceberg melhora muito o desempenho da consulta.
Particionamento e classificação
O particionamento é uma maneira de agrupar registros com os mesmos valores de coluna de chave por escrito. O benefício do particionamento são consultas mais rápidas que acessam apenas parte dos dados, conforme explicado anteriormente em planejamento de verificação de consulta: filtragem de dados. O Iceberg simplifica o particionamento ao oferecer suporte ao particionamento oculto, da mesma forma que o Iceberg produz valores de partição, pegando um valor de coluna e transformando-o opcionalmente.
Em nosso caso de uso, primeiro executamos a seguinte consulta na tabela Iceberg não particionada. Em seguida, particionamos a tabela Iceberg pela categoria das avaliações, que será utilizada na condição WHERE da consulta para filtrar os registros. Com o particionamento, a consulta pode verificar muito menos dados. Veja o seguinte código:
Execute a seguinte instrução select na tabela all_reviews não particionada versus a tabela particionada para ver a diferença de desempenho:
A tabela a seguir mostra a melhoria de desempenho do particionamento de dados, com cerca de 50% de melhoria de desempenho e 70% menos de dados verificados.
Nome do conjunto de dados | Conjunto de dados não particionado | Conjunto de dados particionado |
Tempo de execução (segundos) | 8.20 | 4.25 |
Dados digitalizados (MB) | 131.55 | 33.79 |
Observe que o tempo de execução é o tempo de execução médio com várias execuções em nosso teste.
Vimos uma boa melhoria de desempenho após o particionamento. No entanto, isso pode ser melhorado usando estatísticas em nível de coluna de arquivos de manifesto Iceberg. Para usar as estatísticas em nível de coluna com eficiência, você deseja classificar ainda mais seus registros com base nos padrões de consulta. A classificação de todo o conjunto de dados usando as colunas que são frequentemente usadas em consultas reordenará os dados de forma que cada arquivo de dados termine com um intervalo exclusivo de valores para as colunas específicas. Se essas colunas forem usadas na condição de consulta, isso permitirá que os mecanismos de consulta ignorem ainda mais os arquivos de dados, permitindo consultas ainda mais rápidas.
Cópia na gravação x leitura na mesclagem
Ao implementar atualização e exclusão em tabelas Iceberg no data lake, há duas abordagens definidas pelas propriedades da tabela Iceberg:
- Copiar na gravação – Com essa abordagem, quando houver alterações na tabela Iceberg, atualizações ou exclusões, os arquivos de dados associados aos registros afetados serão duplicados e atualizados. Os registros serão atualizados ou excluídos dos arquivos de dados duplicados. Um novo instantâneo da tabela Iceberg será criado e apontará para a versão mais recente dos arquivos de dados. Isso torna as gravações gerais mais lentas. Pode haver situações em que gravações simultâneas são necessárias com conflitos, então uma nova tentativa deve ocorrer, o que aumenta ainda mais o tempo de gravação. Por outro lado, ao ler os dados, não há nenhum processo extra necessário. A consulta recuperará dados da versão mais recente dos arquivos de dados.
- Mesclar na leitura – Com esta abordagem, quando houver atualizações ou exclusões na tabela Iceberg, os arquivos de dados existentes não serão reescritos; em vez disso, novos arquivos de exclusão serão criados para rastrear as alterações. Para exclusões, um novo arquivo de exclusão será criado com os registros excluídos. Ao ler a tabela Iceberg, o arquivo de exclusão será aplicado aos dados recuperados para filtrar os registros de exclusão. Para atualizações, um novo arquivo de exclusão será criado para marcar os registros atualizados como excluídos. Em seguida, um novo arquivo será criado para esses registros, mas com valores atualizados. Ao ler a tabela Iceberg, os arquivos novos e excluídos serão aplicados aos dados recuperados para refletir as alterações mais recentes e produzir os resultados corretos. Assim, para quaisquer consultas subsequentes, ocorrerá uma etapa extra para mesclar os arquivos de dados com a exclusão e novos arquivos, o que geralmente aumentará o tempo de consulta. Por outro lado, as gravações podem ser mais rápidas porque não há necessidade de reescrever os arquivos de dados existentes.
Para testar o impacto das duas abordagens, você pode executar o seguinte código para definir as propriedades da tabela Iceberg:
Execute as instruções SQL update, delete e select no Athena para mostrar a diferença de tempo de execução para copy-on-write vs. merge-on-read:
A tabela a seguir resume os tempos de execução da consulta.
pergunta | Cópia na gravação | Mesclar-na-leitura | ||||
ATUALIZAÇÃO | EXCLUIR | SELECIONE | ATUALIZAÇÃO | EXCLUIR | SELECIONE | |
Tempo de execução (segundos) | 66.251 | 116.174 | 97.75 | 10.788 | 54.941 | 113.44 |
Dados digitalizados (MB) | 494.06 | 3.07 | 137.16 | 494.06 | 3.07 | 137.16 |
Observe que o tempo de execução é o tempo de execução médio com várias execuções em nosso teste.
Como mostram os resultados de nossos testes, sempre há compensações nas duas abordagens. Qual abordagem usar depende de seus casos de uso. Em resumo, as considerações se resumem à latência na leitura versus gravação. Você pode consultar a tabela a seguir e fazer a escolha certa.
. | Cópia na gravação | Mesclar-na-leitura |
Prós | leituras mais rápidas | Gravações mais rápidas |
Desvantagens | Escritas caras | Maior latência nas leituras |
Quando usar | Bom para leituras frequentes, atualizações e exclusões pouco frequentes ou grandes atualizações em lote | Bom para tabelas com atualizações e exclusões frequentes |
compactação de dados
Se o tamanho do arquivo de dados for pequeno, você pode acabar com milhares ou milhões de arquivos em uma tabela Iceberg. Isso aumenta drasticamente a operação de E/S e diminui a velocidade das consultas. Além disso, o Iceberg rastreia cada arquivo de dados em um conjunto de dados. Mais arquivos de dados levam a mais metadados. Isso, por sua vez, aumenta a sobrecarga e a operação de E/S na leitura de arquivos de metadados. Para melhorar o desempenho da consulta, é recomendável compactar pequenos arquivos de dados em arquivos de dados maiores.
Ao atualizar e excluir registros na tabela Iceberg, se a abordagem read-on-merge for usada, você pode acabar com muitas pequenas exclusões ou novos arquivos de dados. A compactação em execução combinará todos esses arquivos e criará uma versão mais recente do arquivo de dados. Isso elimina a necessidade de reconciliá-los durante as leituras. É recomendável ter trabalhos de compactação regulares para impactar as leituras o mínimo possível, mantendo uma velocidade de gravação mais rápida.
Execute o seguinte comando de compactação de dados e execute a consulta de seleção do Athena:
A tabela a seguir compara o tempo de execução antes e depois da compactação de dados. Você pode ver cerca de 40% de melhoria no desempenho.
pergunta | Antes da compactação de dados | Após a compactação de dados |
Tempo de execução (segundos) | 97.75 | 32.676 segundos |
Dados digitalizados (MB) | 137.16 M | 189.19 M |
Observe que as consultas selecionadas foram executadas no all_reviews
tabela após as operações de atualização e exclusão, antes e depois da compactação de dados. O tempo de execução é o tempo de execução médio com várias execuções em nosso teste.
limpar
Depois de seguir o passo a passo da solução para executar os casos de uso, conclua as etapas a seguir para limpar seus recursos e evitar custos adicionais:
- Elimine as tabelas e o banco de dados do AWS Glue do Athena ou execute o seguinte código em seu notebook:
- No console do EMR Studio, escolha Espaços de trabalho no painel de navegação.
- Selecione o espaço de trabalho que você criou e escolha Apagar.
- No console do EMR, navegue até o Studios Disputas de Comerciais.
- Selecione o Studio que você criou e escolha Apagar.
- No console do EMR, escolha Clusters no painel de navegação.
- Selecione o cluster e escolha Terminar.
- Exclua o bucket do S3 e quaisquer outros recursos que você criou como parte dos pré-requisitos desta postagem.
Conclusão
Nesta postagem, apresentamos a estrutura do Apache Iceberg e como ela ajuda a resolver alguns dos desafios que temos em um data lake moderno. Em seguida, apresentamos uma solução para processar dados incrementais em um data lake usando o Apache Iceberg. Por fim, mergulhamos profundamente no ajuste de desempenho para melhorar o desempenho de leitura e gravação em nossos casos de uso.
Esperamos que esta postagem forneça algumas informações úteis para você decidir se deseja adotar o Apache Iceberg em sua solução de data lake.
Sobre os autores
Flora Wu é arquiteto residente sênior no AWS Data Lab. Ela ajuda os clientes corporativos a criar estratégias de análise de dados e criar soluções para acelerar os resultados de seus negócios. Em seu tempo livre, ela gosta de jogar tênis, dançar salsa e viajar.
Daniel Li é Arquiteto de Soluções Sênior na Amazon Web Services. Ele se concentra em ajudar os clientes a desenvolver, adotar e implementar estratégias e serviços de nuvem. Quando não está trabalhando, ele gosta de passar o tempo ao ar livre com sua família.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/use-apache-iceberg-in-a-data-lake-to-support-incremental-data-processing/
- 10
- 100
- 11
- 2022
- 2023
- 7
- 9
- a
- Capaz
- Sobre
- acima
- acelerar
- Acesso
- gerenciamento de acesso
- Açao Social
- atos
- Adição
- Adicional
- endereço
- endereços
- Adiciona
- adotar
- Vantagem
- Depois de
- contra
- Todos os Produtos
- permite
- sempre
- Amazon
- Amazon EMR
- Amazon Web Services
- Analítico
- analítica
- e
- anunciou
- apache
- aplicações
- aplicado
- abordagem
- se aproxima
- apropriado
- arquitetura
- associado
- Autenticação
- disponibilidade
- disponível
- média
- evitar
- AWS
- Cola AWS
- baseado
- Porque
- tornam-se
- antes
- beneficiar
- Melhor
- entre
- maior
- Bootstrap
- construir
- Prédio
- negócios
- capturas
- Capturar
- casas
- casos
- catálogo
- catálogos
- Categoria
- desafios
- alterar
- Alterações
- verificar
- escolha
- Escolha
- classificação
- Na nuvem
- serviços na nuvem
- Agrupar
- código
- Coluna
- colunas
- combinar
- como
- commit
- comparado
- completar
- Computar
- concorrente
- condição
- configurações
- Considerações
- cônsul
- Conversão
- convertido
- relação custo-benefício
- custos
- poderia
- crio
- criado
- cria
- comissariada
- Atual
- cliente
- Clientes
- Dançando
- painel de instrumentos
- dados,
- Análise de Dados
- lago data
- informática
- data warehouse
- banco de dados
- conjuntos de dados
- profundo
- mergulho profundo
- Padrão
- definido
- Demo
- demonstrar
- depende
- projetado
- detalhes
- desenvolver
- Desenvolvimento
- diferença
- diferente
- discutir
- não
- down
- dramaticamente
- Cair
- durante
- cada
- Mais cedo
- Cedo
- editor
- efetivamente
- eficiente
- ou
- elimina
- habilitado
- permitindo
- termina
- Motor
- Motores
- Entrar
- Empreendimento
- clientes corporativos
- Éter (ETH)
- Mesmo
- evolução
- evolui
- evolução
- exemplo
- existente
- existe
- explicado
- extensões
- extra
- facilita
- família
- RÁPIDO
- mais rápido
- Funcionalidades
- Figura
- Envie o
- Arquivos
- filtro
- filtragem
- filtros
- Finalmente
- Encontre
- Primeiro nome
- primeira vez
- concentra-se
- seguir
- seguinte
- formato
- Quadro
- freqüente
- da
- mais distante
- Além disso
- Geral
- gerado
- ter
- dado
- vai
- Bom estado, com sinais de uso
- grandemente
- Grupo
- mão
- acontecer
- ajudar
- ajuda
- ajuda
- oculto
- hierarquia
- de alto nível
- alta performance
- Alta performance
- Colméia
- esperança
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- HTTPS
- IAM
- Dados de identificação:
- gerenciamento de identidade e acesso
- Impacto
- impactada
- executar
- implementação
- implementação
- melhorar
- melhorado
- melhoria
- melhora
- in
- Incluindo
- Crescimento
- aumentou
- Aumenta
- índice
- Individual
- INFORMAÇÕES
- instalar
- em vez disso
- integração
- introduzido
- Isola
- IT
- janeiro
- Empregos
- Chave
- laboratório
- lago
- grande
- Maior
- Latência
- mais recente
- Último lançamento
- camada
- camadas
- conduzir
- níveis
- LIMITE
- Line
- Lista
- pequeno
- carregar
- localização
- fazer
- FAZ
- de grupos
- muitos
- marca
- marketplace
- Match
- correspondente
- ir
- metadados
- poder
- milhões
- EQUIPAMENTOS
- mais
- mover
- múltiplo
- nome
- Nomeado
- Navegar
- Navegação
- você merece...
- necessário
- Cria
- Novo
- caderno
- objeto
- aberto
- operação
- Operações
- otimização
- Otimize
- ordem
- original
- Outros
- ao ar livre
- global
- próprio
- pão
- parte
- caminho
- padrões
- realizar
- atuação
- físico
- planejamento
- platão
- Inteligência de Dados Platão
- PlatãoData
- jogar
- plug-in
- pontos
- Popular
- possível
- Publique
- alimentado
- pré-requisitos
- procedimentos
- processo
- em processamento
- produzir
- Propriedades
- propriedade
- fornecer
- fornece
- fornecendo
- provisão
- alcance
- Cru
- dados não tratados
- Leia
- Leitura
- reais
- recentemente
- Recomenda
- registros
- refletir
- região
- registradores
- regular
- liberar
- liberado
- remanescente
- requeridos
- exige
- Recursos
- resultar
- Resultados
- Opinões
- Rico
- Tipo
- raiz
- Execute
- corrida
- mesmo
- digitalização
- segundo
- Seção
- segurança
- selecionado
- selecionando
- Serverless
- serviço
- Serviços
- Sessão
- conjunto
- Conjuntos
- contexto
- Configurações
- rede de apoio social
- mostrar
- Shows
- simples
- situações
- Tamanho
- retarda
- pequeno
- Instantâneo
- So
- Software
- solução
- Soluções
- alguns
- Faísca
- específico
- velocidade
- Passar
- SQL
- Comece
- Estado
- Declaração
- declarações
- stats
- Passo
- Passos
- Ainda
- armazenamento
- loja
- armazenadas
- lojas
- estratégias
- Estratégia
- estruturada
- dados estruturados e não estruturados
- estudo
- sub-rede
- subseqüente
- entraram com sucesso
- tal
- suficiente
- RESUMO
- ajuda
- Suportado
- Apoiar
- suportes
- mesa
- toma
- tomar
- Target
- tarefas
- técnicas
- tênis
- teste
- ensaio
- testes
- A
- as informações
- O Estado
- deles
- assim
- milhares
- três
- Através da
- tempo
- viagem no tempo
- para
- juntos
- também
- ferramentas
- topo
- Total
- pista
- Transações
- transformando
- viagens
- Viagens
- VIRAR
- tipos
- para
- único
- Atualizar
- Atualizada
- Atualizações
- atualização
- URL
- usar
- caso de uso
- usuários
- geralmente
- VAL
- valor
- Valores
- verificar
- versão
- caminhou
- Passo a passo
- Armazém
- relógios
- maneiras
- web
- serviços web
- O Quê
- se
- qual
- enquanto
- Largo
- Ampla variedade
- precisarão
- sem
- Atividades:
- trabalhar
- trabalho
- seria
- escrever
- escrita
- investimentos
- zefirnet