loader image

Diagrama de Dados StreamDinner

18-12-2024

Resumo

O projeto “StreamDinner”, desenvolvido pela Pixel Media Entertainment, tem como objetivo criar uma plataforma de streaming que integra filmes, séries, lives e salas compartilhadas. Para fundamentar o desenvolvimento, foi elaborado um Diagrama Entidade-Relacionamento (DER) utilizando ferramentas como Draw.io e MySQL Workbench. Este DER detalha a estrutura de dados da plataforma, facilitando a comunicação entre desenvolvedores, arquitetos e analistas, além de servir como um guia para a criação de scripts SQL e definição de dicionário de dados. O projeto não apenas promove uma compreensão mais profunda da modelagem de dados e análise de requisitos, mas também busca identificar erros e oportunidades de melhoria, contribuindo para o sucesso da plataforma no competitivo mercado de streaming.

FERRAMENTAS:

  • Draw.oi: ferramenta gratuita utilizada para a criação de diagramas diversificados, sobretudo, “Entidade-Relacionamento”. Outra alternativa seria o uso do DBeaver usando a técnica da engenharia forward ou Workbench do MySQL.

INSIGHTS:

O Diagrama Entidade Relacionamento “StreamDinner” será uma base sólida para auxiliar o desenvolvimento da aplicação, além de que um planejamento possui ainda mais entidades envolvidas e princípios de segurança envolvidos. Além disso, dentro do projeto servirá para produção de artefatos, especialmente, uma documentação estratégica para compreender as necessidades e limitações do sistema no seu aspecto mais conceitual.

BENEFÍCIOS DO DIAGRAMA:

  • Transparência sobre os aspectos gerais do projeto para todos os membros envolvidos e stakeholders;
  • Por meio do diagrama será possível identificar erros e oportunidades para novas funcionalidades únicas atreladas ao software;
  • O DER (Diagrama Entity-Relationship) terá uma ótima função para reutilizar em outros artefatos paralelamente ou em futuros projetos.

CONHECIMENTOS APRENDIDOS:

  • Estruturação de DER;
  • Definir um dicionário de dados;
  • Scripts SQL de criação de tabelas;
  • Análise de Requisitos;
  • Boas práticas para modelagem de dados;
  • Inteligência de mercado de softwares e streamings;
  • Compreendimento dos tipos de dados frequentes em SGBDs.
Contextualizando

Em 2024, surgiu uma nova empresa empresa denominada de “Pixel Media Entertainment” com o objetivo de criar tecnologias especializadas em entretenimento e derrubar os competidores de mercado de streamings, e uma das suas necessidades emergentes é o desenvolvimento de uma plataforma que faça a união de quatro softwares: Filmes, Séries, Lives ao Vivo e Salas Compartilhadas. Para tanto, enquanto analista de dados, fui ordenado a criar a parte conceitual de streamings de filmes para discutir a viabilidade técnica com outros desenvolvedores/arquitetos de softwares e gerente de dados.

Objetivo Principal

A partir da contextualização, indica-se que o projeto é chegar num resultado conceitual para buscar soluções viáveis para alavancar o software, portanto, uma estruturação de um DER (Diagrama Entidade Relacionamento) seria o primeiro passo para expressar visualmente e melhor maneira de comunicar com os outros membros.

Público-Alvo

Já que este é um artefato de documentação, ele será direcionado para membros internos do projeto para consulta ou arquitetação, envolvendo: novos desenvolvedores de software, apoio de arquitetos de softwares, gerentes de projetos, outros analistas de dados, principalmente, analistas de banco de dados.

Aspectos do Projeto

A parte desenvolvida quando o assunto são ”filmes” não é nada tão complexo quanto sistemas de pedidos ou sistemas de pagamentos robustos, porém, ainda tem seu grau de dificuldades para resolvê-lo. A partir disso, acesse o drive, baixe e integre o diagrama no aplicativo Draw.oi para visualizar adequadamente acessando: Diagram System Database StreamDinner, ou acessando uma perspectiva do EER (Enhanced Entity Relationship)  do Workbench: Diagram EER MySQL StreamDinner.

Uma coisa importante a dizer é que, nos dados mestres (UserStreaming e Movie) são os únicos que possuem as mecanismos de rastreamento de atividades e ótimos para examinação de auditoria acerca das tabelas e princípios da segurança da informação, propriedades resumidas em: “AtCreated”,”AtUpdated”,”AtDeleted”.

Além disto, dividir a parte mais conceitual para os profissionais que desejam compreender os aspectos superficiais das tabelas e regras de negócios que se encontram na estruturação do Draw.oi, e um viés mais detalhista dos relacionamentos com foco mais técnico usando o SGBD MySQL Workbench. Para visualizar os SQLs utilizados para a criação das tabelas, acesse: Scripts SQLs StreamDinner.

Numa visualização rápida, para entender o diagrama do MySQL Workbench é exigido um conhecimento básico da anotação “Crow’s Foot”, ou também denominado de anotação “pé de galinha” representado por uma linha reta (com dois traços verticais) para relacionamento “1” (para um), e um “tridente” para relacionamento de “N” (para muitos). 

Sabendo-se que os administradores de banco de dados gerenciam frequentemente as seguintes tabelas: Movie, Gender, LanguageMovie, Audio, Award, Director, Producer, Actor, Legend, é necessário um maior controle das atividades para facilitar a criação de auditorias. Nesse caso, “AuditTableMovie” é uma tabela com a finalidade de armazenar os registros de alterações, inserções ou exclusões das tabelas que possuem ligação indireta com a entidade comum “Movie”, e está presente no diagrama do MySQL.

⚠ ️Obs.: Alguns entidades possuem a constraint “AUTO_INCREMENT” para incrementar em ordem crescente os IDs dos registros, e outras entidades não, isto é, quando se tem uma relação com UserStreaming, pensa-se na escalabilidade de acomodar uma faixa de milhões de usuários simultaneamente, e aqueles que não possuem essa características são gerados IDs pelo próprio servidor.

Para contribuir ainda mais para o êxito do “core” inicial do processo da engenharia da informação, a seguir estarão um dicionário de dados para que haja uma orientação acerca das tabelas e suas propriedades, acesse: Anexos Tabelas – Projeto StreamDinner.

Próximos Passos

As próximas etapas seria uma apresentação para os stakeholders internos, e estabelecer uma ponte entre conceitual para lógico através de um diagrama de classes com um viés ainda mais técnico, criação de um DFD (Diagrama Fluxo de Dados), a escolha de SGBD para implementação das tabelas e escolha de arquitetura de software. Outrossim, seria necessário efetuar um ”mapeamento de dados”, definindo concepções acerca da entrada e saída de dados, aplicabilidade da governança de dados acompanhado análise de vulnerabilidades mais um controle de ativos discutido com um data steward, bem como o encaminhamento da arquitetura de dados, sendo o mais provável a implementação de um Data Lakehouse para gerenciamento dos dados estruturais mestres e transacionais com SQL (warehouse), análise de dados com incorporação de machine learning usando NoSQL. Há uma ampla gama de atividades além desses passos.

Rolar para cima