Compreender os conceitos de banco de dados do lago

Concluído

Em um banco de dados relacional tradicional, o esquema de 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 tem um nome e um tipo de dados. Os dados para as tabelas são armazenados no banco de dados e estão fortemente acoplados à definição da tabela; que impõe tipos de dados, anulabilidade, exclusividade de chave e integridade referencial entre chaves relacionadas. Todas as consultas e manipulações de dados devem ser realizadas através do sistema de banco de dados.

Em um data lake, não há um 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 relacionais sobre um ou mais arquivos em um data lake. Você pode criar um banco de dados lago que inclua definições para tabelas, incluindo nomes de colunas e tipos de dados, bem como relações 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 é dissociado do esquema de 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 armazenamento de arquivos.

Esquema do 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 relações 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 gráfica de design de banco de dados que você pode usar para modelar esquemas de banco de dados complexos, usando muitas das mesmas práticas recomendadas para design de banco de dados que você aplicaria a um banco de dados tradicional.

Armazenamento de banco de dados Lake

Os dados para as tabelas em seu banco de dados do lago 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 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 SQL do Spark.