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:
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:
CONHECIMENTOS APRENDIDOS:
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.
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.
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.
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.
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.