27 de mai. de 2023

Arquitetura de dados Estruturados e Não Estruturados

 Ao compreender os conceitos de arquitetura de dados estruturados e não estruturados junto aos princípios da linguagem SQL e NoSQL, tornou-se possível apresentar um modelo de arquitetura de dados em nuvem para a empresa Terminal de Carga Sociedade Anônima. Responsável por exportar mais de 5, 5 milhões de toneladas de grãos por ano, a empresa necessita com urgência solucionar a questão do gerenciamento do centro de impressão.


Os novos modelos de armazenamento de dados, conhecidos como NOSQL (Not Only SQL) surgem para solucionar as problemáticas de dados atuais, definidas pela propriedade volume, velocidade e variedade (3 V´s), a essência do Big Data.



Esses novos modelos de armazenamento se desenvolvem com o suporte da computação distribuída e "escalabilidade horizontal", o que possibilita o tratamento do grande volume de dados necessários para os V´s do Big Data. (Rodrigues)


Como o dado é a parte mais importante de um sistema de aplicação. Afinal, com uma estrutura de dados acurada é possível ao analista desenhar os processos, a interface de usuário, relatórios e análise estatística sempre que precisar.  (Mayer) 


Outro ponto chave do projeto são os requisitos de negócio. Pode ser o sistema da mais alta tecnologia, mas se a estrutura do banco de dados não possuir os requisitos específicos do negócios documentados, o sistema provavelmente será obsoleto. 


Portanto, o principal passo do projeto é acionar o arquiteto de dados, que ao lado da equipe de TI irá listar os requisitos de negócios junto a estrutura do banco de dados, tendo em vista um  modelo de dados lógico, que promoverá uma mudança tecnológica determinante na empresa.

A modelagem de dados é uma técnica usada para a especificação das regras de negócios e as estruturas de dados de um banco de dados. Ela faz parte do ciclo de desenvolvimento de um sistema de informação e é de vital importância para o bom resultado do projeto. Modelar dados consiste em desenhar o sistema de informações, concentrando-se nas entidades lógicas e nas dependências lógicas entre essas entidades.

Modelagem de dados ou modelagem de banco de dados envolve uma série de aplicações teóricas e práticas, visando construir um modelo de dados consistente, não redundante e perfeitamente aplicável em qualquer SGBD moderno.


Diante disso, será listado a seguir os principais desafios e objetivos do projeto   empresa Terminal de Carga Sociedade Anônima.


1. Como a  Administração de Dados é responsável por desenvolver e gerenciar de modo centralizado as estratégias, os procedimentos e as  práticas para o processo de gerência dos recursos de dados e  aplicativos, incluindo planos para sua definição, padronização, organização, proteção e utilização, haverá no banco de dados um ID (Identificação de usuário) como primary key. Também serão criados identificadores para os tipos de equipamento, tendo o cuidadoso trabalho de documentar o tamanho do papel e cor, que cada impressora aceita ou usa;


 Segundo o Data Management Body of Knowledge (DMBOK - em português, Corpo de Conhecimento em Gerenciamento de Dados), a Administração de Dados, conhecida como Desenvolvimento de Dados, ao organizar dados estruturados e não estruturados em um  banco de dados o objetivo será o de projetar, implementar e  manter soluções para atender às necessidades de dados da organização.


2.A partir da modelagem e da mineração do banco de dados também será possível criar modelos de tarifação por centro de custo de cada área da empresa (RH, Financeiro, Contabilidade, TI).

Cabe ressaltar que não serão cobradas, porém registradas e armazenadas as cópias e impressões que apresentarem defeitos ou ilegibilidade (devido a falhas de toner ou do equipamento de impressão), ou que forem executadas com a finalidade de testes dos equipamentos nos centros de Impressão. 


Esse dado não estruturado será indexado em tabelas de controle para que possam  ser gerado um relatório de atividade e cruzamento de dados tendo em vista a descoberta de alguma similaridade ou padrão.

Será avaliada se determinada marca/modelo de impressora tem maior incidência de bugs entre outras análises. Conforme o cruzamento desses dados, uma ação específica ou até mesmo a troca de equipamento ou fornecedor será avaliada. 


3.  Outra questão que será levada em consideração é uma documentação e registro da quantidades de consumíveis (toner, fuzer), insumos, inclusive papel e suprimentos utilizados no período por equipamento nos postos onde ficam as  Impressoras. Assim como haverá também registro no banco de dados para ações de Manutenções, tais como atendimentos técnicos  por equipamento e Posto de Impressão; Essa informação também será valiosa para avaliar ações preditivas de suporte técnicos entre outras intervenções. 


Segundo [Kabakus and Kara 2017], bancos de dados relacionais (RDBMS) se baseiam no modelo ACID ( Atomicity, Consistency, Isolation, Durability acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade) para garantir a consistência e manter a integridade dos dados, enquanto que os bancos NoSQL partem do princípio BASE (Basically Available, Soft-state, Eventually consistent) para atingir melhor desempenho, disponibilidade e escalabilidade.  Porém, vários bancos NoSQL têm adicionado suporte ao modelo ACID nos últimos anos [Fowler 2015]. (ROCKENBACH)

 


4. Além de contemplar  um acesso à equipe de  Compliance da empresa, o banco de dados também poderá servir ao comitê de avaliação de impacto ambiental da empresa.  Ao avaliar as emissões de gás carbônico geradas nos centros de impressão, será possível estudar formas para a redução desse impacto e também a aplicação de iniciativas para neutralizar emissões de carbono ao meio ambiente.  


5. Por fim, o analista de dados também será responsável por trabalhar com o administrador de banco de dados – DBA - para garantir a implementação do modelo de dados lógico para o modelo de dados físico de acordo com o sistema gerenciador de banco de dados – SGBD - que será aplicado. O DBA revisa o modelo de dados lógico e define o SGBD mais apropriado, cria índices, detalha os tipos de dados e cria a integridade referencial para proteger o valor dos dados.(Mayer)


Tendo essa premissa desde a sua criação, o banco de dados também poderá atender aos gestores da empresa de uma forma extremamente importante;  Como estará bem estruturado, 

A  Indicadores e gráficos comparativos dos horários e dias com maior demanda de impressão; 


A modelagem de dados e o projeto de banco de dados têm sofrido significativas evoluções nos anos recentes com o avanço de aplicações empresárias com uso do modelo de dados relacional e aplicações em sistemas de banco de dados em nuvem (Machado).



A Administração de Dados é responsável por desenvolver e gerenciar de modo centralizado as estratégias, os procedimentos e as 

práticas para o processo de gerência dos recursos de dados e  aplicativos, incluindo planos para sua definição, padronização, organização, proteção e utilização. Segundo o Data Management Body of Knowledge (DMBOK - em português, Corpo de Conhecimento em Gerenciamento de Dados), a Administração de Dados, conhecida como Desenvolvimento de Dados, visa projetar, implementar e 

manter soluções para atender às necessidades de dados da organização.


Permitir o controle de redundância de dados é um dos procedimentos de controle e verificação e também podendo criar padrões. Garantir a integridade dos dados Duas ou mais aplicações podem vir a compartilhar um mesmo dado concorrentemente, portanto, deve existir um mecanismo que garanta a integridade dos dados. A integridade também deve ser mantida através de logs de atualização, possibilitando desfazer alterações corretas feitas por outras aplicações. Garantir a privacidade Garantir que o acesso aos dados possa ser controlada pelo administrador do banco de dados, garantindo a segurança dos dados contra acessos e modificações indevidas.




Bancos de dados NoSQL 

 

De acordo com [Fowler 2015], os bancos de dados NoSQL são aqueles bancos que não

requerem  um  rigoroso  esquema  para  os  registros,  que  possam  ser  utilizados  de  forma distribuída em

hardware comum, e que não utilizem o modelo matemático dos bancos de dados relacionais.  

 

Segundo [Kabakus and Kara 2017], bancos de dados relacionais (RDBMS) se baseiam no modelo ACID ( Atomicity, Consistency, Isolation, Durability acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade) para garantir a consistência e manter a integridade dos dados, enquanto que os bancos NoSQL partem do princípio BASE (Basically Available, Soft-state, Eventually consistent) para atingir melhor desempenho, disponibilidade e escalabilidade.  Porém, vários bancos NoSQL têm adicionado suporte ao modelo ACID nos últimos anos [Fowler 2015].

 

Os bancos de dados NoSQL podem possuir armazenamento primário tanto na memória RAM quanto no modelo tradicional em discos. Ambos modelos de armazenamento possuem suas vantagens e desvantagens, e podem ser utilizados em complemento um ao outro.

 

Os bancos de dados em memória ou In-Memory DataBases

(IMDB), como seu próprio nome sugere, são aqueles bancos de dados que utilizam a memória principal do computador ou memória RAM como dispositivo primário de armazenamento de dados

[Lake and Crowther 2013].  O desempenho destes sistemas de armazenamento é signifi-

cantemente melhor do que sistemas tradicionais devido ao uso da memória volátil para o

mapeamento de registros [Abramova et al. 2014]


O que é modelagem de dados?




No estudo de caso apresentado,vimos que uma empresa exportadora de grãos teve aumento na movimentação logística do terminal e, consequentemente, acréscimo exponencial do fluxo de impressões. 



Lembre-se de que a empresa tem como cultura utilizar a impressão em papel como trânsito da informação. 


Logo, para uma melhor organização operacional e tomada de decisão dos gestores, a Tecnologia da Informação (TI) teve necessidade de realizar a implantação de um conjunto de ferramentas, que auxiliam a execução de processos de gerenciamento de impressão.


Diante do contexto do estudo de caso, qual seria o modelo ideal de arquitetura de dados formado por um conjunto de ferramentas e artefatos para a resolução do problema? 




A partir do estudo de caso, associado à leitura de referências que estão no roteiro de estudo e dos conceitos que foram repassados nas dicas do conhecimento, deve-se chegar a uma solução a partir de um modelo de arquitetura de dados.

 

Essa proposta de solução deverá ser dada na forma descritiva e que se utilize um possível conjunto de ferramentas e artefatos de arquitetura de dados (estruturados e/ou não estruturados) para realizar a gestão dos dados.


Explique de maneira detalhada cada passo de implantação do modelo de arquitetura de dados.



10

Modelagem Conceitual

O objetivo aqui é criar um modelo de forma gráfica, sendo este chamado de Diagrama Entidade e Relacionamento (DER), que identificará todas as entidades e relacionamentos de uma forma global.

Aqui é evitado qualquer detalhamento específico do modelo de BD.

Sua principal finalidade é capturar os requisitos de informação e regras de negócio sob o ponto de vista do negócio.

No desenvolvimento de soluções é o primeiro modelo que deve ser desenvolvido.

Na fase de levantamento de requisitos.

Feito geralmente pelo Gestor de Dados de Negócio ou outro profissional acompanhado de sua supervisão/orientação.

É independente de hardware ou software, ou seja, não depende de nenhum tipo de servidor de banco de dados [Sql Server, My Sql, Oracle, Postgresql, etc].

Por tanto, qualquer alteração no software ou hardware, não terão efeito no nível conceitual.

Modelagem lógica

A modelagem lógica é necessária para compilar os requisitos de negócio e representar os requisitos como um modelo.

Está principalmente associada à coleta de necessidades de negócios, e não ao design do banco de dados.

As informações que precisam ser coletadas são sobre unidades organizacionais, entidades de negócios e processos de negócios.

Descreve como os dados serão armazenados no banco e também seus relacionamentos.

Esse modelo adota alguma tecnologia, pode ser: relacional, orientado a objetos, orientado a colunas, entre outros.

Os modelos lógicos basicamente determinam se todos os requisitos do negócio foram reunidos.

Ele é revisado pelos desenvolvedores, pelo gerenciamento e, por fim, pelos usuários finais para ver se é necessário coletar mais informações antes do início da modelagem física.

O DER lógico também modela as informações coletadas dos requisitos de negócios.

É mais complexo do que o modelo conceitual em que os tipos de coluna são definidos.

Observe que a configuração dos tipos de coluna é opcional e, se você fizer isso, deverá fazer isso para auxiliar na análise de negócios.

Não tem nada a ver com a criação de banco de dados ainda.

Modelagem física

A modelagem física lida com o design do banco de dados real com base nos requisitos reunidos durante a modelagem lógica do banco de dados.

Todas as informações coletadas são convertidas em modelos relacionais e modelos de negócios.

Durante a modelagem física, os objetos são definidos em um nível denominado nível de esquema.

Um esquema é considerado um grupo de objetos que estão relacionados entre si em um banco de dados.

Tabelas e colunas são feitas de acordo com as informações fornecidas durante a modelagem lógica.

Chaves primárias, chaves exclusivas e chaves estrangeiras são definidas para fornecer restrições.

Índices são definidos.

A modelagem física depende do software que já está sendo usado na organização.

É específica ao software. [Sql Server, Oracle, MySql, Postgresql, etc]


Nesse contexto, fica também inserido uma área batizada de Descoberta de Conhecimento em Bases de Dados (DCBD) - em inglês Knowledge Discovery in Database sintetizada na sigla KDD - sendo a expressão Mineração de Dados (Data Mining) uma das etapas de KDD [como ilustra a imagem abaixo] (Goldschmidt).

 

O termo KDD foi formalizado em 1989 em referência ao amplo conceito de procurar conhecimento a partir de bases de dados. Uma das definições mais populares propostas em 1996 por um grupo de pesquisadores (FAYYAAD et al.,1996) ganhou a seguinte tradução (Goldschmidt, Bezerra, Passos, 2015).

 

“KDD é um processo não trivial, interativo e iterativo (feito mais de uma vez), para identificação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjuntos de dados.  A complexidade (ou não trivialidade) do processo de KDD está na dificuldade em perceber e interpretar adequadamente inúmeros fatos observáveis durante a realização de processo e na dificuldade em conjugar dinamicamente tais interpretações de forma a decidir que ações devem ser realizadas em cada caso”.

 

Portanto, cabe ao DCBD/KDD sumarizar, classificar, agrupar, descobrir associações e previsões de séries temporais. O processo de DCBD/ KDD também pressupõe a existência de um conjunto de dados. Esse pode envolver n atributos, representando assim um hiperespaço (espaço n-dimensional). Quanto maior for o valor de n e o número de registros disponíveis, maior o conjunto de dados a ser analisado. (Goldschmidt, Bezerra, Passos, 2015).

 

Já o Data Mining tem a seguinte denominação: é um conjunto de técnicas utilizadas para explorar exaustivamente e trazer à superfície relações complexas em um conjunto grande de dados (Moxton, 2004)


Na prática, Ana Claudia vai implantar um robusto armazém de dados e unificá-lo a uma ferramenta de ETL (Extract Transform Load). Vai nutri esse sistema com dados já coletados (como as 1.794 planilhas das disciplinas) e também prever o abastecimento de dados em real time das 39 unidades dando forma ao projeto de Big Data da XPTO.

 

Ana Claudia deverá configurar a ferramenta para ela ter a capacidade de expor não apenas os dados, mas fornecer sobretudo relatórios de análise, que possam auxiliar os gestores na melhor tomada de decisão para a empresa. Por isso, essa ferramenta é configurada para ter uma interface amigável tendo o objetivo de facilitar a visualização dos cruzamentos de dados.  

 

Nessa etapa do estudo da estratégia do plano de ação para a empresa XPTO é possível também ser criada uma identificação para cada registro, a chamada chave primária (Primary Key) e outros parâmetros, como a limpeza de dados sem importância, para que a estruturação do novo banco de dados da XPTO acontece de forma consistente. Ao definir um campo como sendo uma chave primária, cria-se uma métrica no banco de dados para coibir a existência de dois registros com o mesmo valor. (Brandão) 

 

Na prática, Ana Claudia pode lançar mão da ferramenta Tableau. Ela permite uma ótima visualização de dados, soluções de baixo custo para atualização e excelente suporte móvel. Ele apresenta também uma excelente interface de usuário. E permite a integração à plataforma de Big Data, como o Hadoop, ferramenta de BI que Ana Claudia irá adotar no projeto.

 

O Hadoop é uma plataforma de software da Apache Software Foundation, open source, escrito em Java, que permite o processamento de grandes conjuntos de dados em clusters de computadores. Ele possui dois componentes principais: a estrutura de programação HDFS e MapReduce, que estão intimamente relacionados entre si. (Rosa, 2018)

 

Em suma, a metodologia de Data Mining que Ana Claudia irá aplicar para a XPTO seguirá as seguintes etapas na técnica de descoberta de conhecimento em bancos de dados (DCBD/KDD): (Cardoso e Machado, 2008)

1) Seleção dos dados – serão selecionadas e extraídas as planilhas 

2) Pré-processamento dos dados – previamente será realizada a limpeza dos dados eliminando incongruências e/ou erros dos dados (filtragem) além de inconsistências, como ausência de especificação de campos importantes e duplicação de outras especificações.

3) Transformação dos dados – serão feitos dois tipos de codificação de dados. O primeiro vai transformar os documentos obtidos no formato XML (dados semi-estruturados) em documentos SQL. SQL é a sigla para “Structured Query Language”, que significa, “Linguagem de Consulta Estruturada”. Trata-se de uma linguagem de consulta a banco de dados relacionais. O segundo tipo foi a execução desses códigos SQL, gerados na codificação anterior, no sistema gerenciador de bancos de dados; (Cardoso e Machado, 2008)

4) Data mining – a etapa consistiu na elaboração de cruzamentos de informações e a comparação de consultas e funções definidas na linguagem de programação do Hadoop e exibidas na interface do Tableau.

5) Interpretação – ponto fundamental do projeto, a leitura dos resultados obtidos irá possibilitar conhecimento e a elaboração de relatórios.

 

 

CONCLUSÃO

 

Como o objetivo do Data Mining é descobrir o conhecimento que está oculto nas grandes quantidades de informação armazenadas nos bancos de dados (Elmasri & Navathe, 2002), o novo banco de dados que Ana Cláudia irá configurar terá o potencial de gerar informações, insights e sinalizar tendências de comportamento nas vendas de cursos da XPTO. Poderá também identificar cursos com baixa procura ou com alto índice de inadimplência.

 

A análise no banco poderá também indicar as disciplinas mais procuradas por determinados perfis profissionais de estudantes. Isso será determinante para projetar os investimentos em novas campanhas de marketing e também de novos investimentos em infraestruturas.

 

Como a arquitetura Big Data também inclui, além de estrutura de dados, mecanismos de comunicação, processamento e apresentação da informação para o usuário final, seria recomendado a formação de um Business Intelligence Competency Center (BICC) dentro da empresa XPTO.

 

Caberia ao BICC auditar o Big Data da XPTO tendo em vista a segurança e a confiabilidade dos dados gerados. Além de garantir, volume, velocidade, variedade, veracidade e valor do Big Data da XPTO.

 

Esse centro teria o objetivo de melhorar o desenvolvimento e focar os recursos necessários para o projeto ter sucesso com Business Intelligence. Caberá ao BICC criar os planos estratégicos e as prioridades de BI além de define as exigências, incluindo dados de qualidade e gestão. Ele também auxiliaria os executivos na interpretação e aplicação das decisões de negócio. (Machado) 

 

Como a tendência para o futuro é que cada vez mais os negócios estejam apoiados ao Big Data, a XPTO estará apta para tomada de decisões assertivas, proporcionando sua alta competitividade do mercado.

 





BIBLIOGRAFIA

Marceliz Mayer 

https://www.devmedia.com.br/por-que-construir-um-modelo-de-dados-logico-parte-i/368

 

BRANDÃO, Robson.  O que é Banco de Dados Relacional. Artigo

disponível em https://www.datainsiders.com.br/post/o-que-e-um-banco-de-dados-relacional Acesso em: 11 fev. 2021

 

CIFERRI, Cristina Dutra de Aguiar e CIFERRI, Ricardo Rodrigues 

Data Warehousing: Conceitos Básicos e Arquitetura Profa. Disponível em  http://wiki.icmc.usp.br/images/7/73/SCC5911ConceitosArquitetura.pdf

Acesso em: 11 fev. 2021

 

CARDOSO, Olinda Nogueira Paes; MACHADO, Rosa Teresa Moreira. Gestão do conhecimento usando data mining: estudo de caso na Universidade Federal de Lavras. (2008) Artigo acadêmico.   Disponível em http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0034-76122008000300004

Acesso em: 14 fev. 2021

 

FAYYAD, U. M. et al. From data mining to knowledge discovery: an overview. In: Advances in knowledge discovery and data mining. California: AAAI/The MIT, 1996

 

GOLDSCHMIDT, Ronaldo; BEZERRA, Eduardo e PASSOS, Emmanuel. Data Mining: Conceitos, Técnicas, Algoritmos, Orientações e Aplicações, 2015. Disponível em https://www.amazon.com.br/Data-Mining-Ronaldo-Goldschmidt-ebook/dp/B00YEWR08U Acesso em: 12 fev. 2021

 

LOH, Stanley. Volume, Velocidade, Variedade, Veracidade e Valor: Como os 5 Vs do Big Data estão impactando as Organizações e a Sociedade. Porto Alegre, 2019 Disponível em https://www.intext.com.br/5vs-big-data.pdf Acesso em: 14 fev. 2021

 

MACHADO, Felipe Nery Rodrigues.  Tecnologia e projetos de Data Warehouse: uma Visão Multidimensional. 6. ed. São Paulo. Editora Érica, 2013

 

MOXTON, B. Defining data mining. DBMS Data warehouse supplement, 2004

 

ROSA, Caroline Sílvério. Estudo sobre as técnicas e métodos de análise de dados no

contexto de Big Data, 2018.  Trabalho de Conclusão de Curso (Engenharia Eletrônica e de Telecomunicações) - Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia, Patos de Minas, 2018 Disponível em https://repositorio.ufu.br/bitstream/123456789/23710/1/EstudoTecnicasMetodos.pdf Acesso em: 13 fev. 2021

 

TAURION, Cezar. Big Data. Rio de Janeiro: Brasport, 2013.

 

Marceliz Mayer Por quê construir um Modelo de Dados Lógico?

Parte I

Por Marceliz Mayer



https://www.luis.blog.br/modelagem-de-dados-modelo-conceitual-modelo-logico-e-fisico.html


Machado, Felipe Nery Rodrigues

Banco de dados: projeto e implementação/ Felipe Nery Rodrigue Machado. - 4 ed. - São Paulo: Érica, 2020. 



ROCKENBACH, D. A. et al. Estudo comparativo de bancos de dados NoSQL. Revista Eletrônica Argentina-Brasil de Tecnologias da Informação e da Comunicação, [S.l.], v. 1, n. 8, abr. 2018. Disponível em: https://revistas.setrem.com.br/index.php/reabtic/article/view/286. Acesso em: 18 fev. 2020.






Machado, Felipe Nery Rodrigues

Banco de dados: projeto e implementação/ Felipe Nery Rodrigue Machado. - 4 ed. - São Paulo: Érica, 2020.