Entender os conceitos do banco de dados lake

Concluído

Em um banco de dados relacional tradicional, o esquema do banco de dados é composto de tabelas, exibições e outros objetos. As tabelas em um banco de dados relacional definem as entidades para as quais os dados são armazenados – por exemplo, um banco de dados de varejo pode incluir tabelas para produtos, clientes e pedidos. Cada entidade consiste em um conjunto de atributos que são definidos como colunas na tabela e cada coluna possui um nome e um tipo de dados. Os dados das tabelas são armazenados no banco de dados e são fortemente acoplados à definição da tabela; que impõe tipos de dados, nulidade, exclusividade de chave e integridade referencial entre chaves relacionadas. Todas as consultas e manipulações de dados devem ser executadas por meio do sistema de banco de dados.

Em um data lake, não há nenhum esquema fixo. Os dados são armazenados em arquivos, que podem ser estruturados, semiestruturados ou não estruturados. Aplicativos e analistas de dados podem trabalhar diretamente com os arquivos no data lake usando as ferramentas de sua escolha; sem as restrições de um sistema de banco de dados relacional.

Um banco de dados lake fornece uma camada de metadados relacional sobre um ou mais arquivos em um data lake. Você pode criar um banco de dados lake que inclua definições para tabelas, incluindo nomes de colunas e tipos de dados, bem como relacionamentos entre colunas de chave primária e estrangeira. As tabelas fazem referência a arquivos no data lake, permitindo que você aplique semântica relacional para trabalhar com os dados e consultá-los usando SQL. No entanto, o armazenamento dos arquivos de dados é desacoplado do esquema do banco de dados; permitindo mais flexibilidade do que um sistema de banco de dados relacional normalmente oferece.

Diagrama de um esquema relacional de tabelas vinculadas sobrepondo arquivos em um repositório de arquivos.

Esquema de banco de dados lake

Você pode criar um banco de dados lake no Azure Synapse Analytics e definir as tabelas que representam as entidades para as quais você precisa armazenar dados. Você pode aplicar princípios comprovados de modelagem de dados para criar relacionamentos entre tabelas e usar convenções de nomenclatura apropriadas para tabelas, colunas e outros objetos de banco de dados.

O Azure Synapse Analytics inclui uma interface de design de banco de dados gráfico que você pode usar para modelar esquema de banco de dados complexo, usando muitas das mesmas melhores práticas para design de banco de dados que você aplicaria a um banco de dados tradicional.

Armazenamento de banco de dados lake

Os dados das tabelas em seu banco de dados lake são armazenados no data lake como arquivos Parquet ou CSV. Os arquivos podem ser gerenciados independentemente das tabelas do banco de dados, facilitando o gerenciamento da ingestão e manipulação de dados com uma ampla variedade de ferramentas e tecnologias de processamento de dados.

Computação do banco de dados lake

Para consultar e manipular os dados por meio das tabelas que você definiu, você pode usar um pool de SQL sem servidor do Azure Synapse para executar consultas SQL ou um pool do Azure Synapse Apache Spark para trabalhar com as tabelas usando a API Spark SQL.