sexta-feira, 30 de setembro de 2016

MINERAÇÃO DE DADOS

UEMG – Universidade do Estado de Minas Gerais – Unidade de Frutal
Sistemas de Informação – 5º Período
Banco de Dados II
Prof. Dr. Geraldo Corrêa Nunes
Alunos: Fábio Diniz, Jonathas Corrêa Alves, Ramon Luiz Sposito, Rodrigo Bertucci do Amaral, Wanner Martins de Menezes

TEMA: MINERAÇÃO DE DADOS

DEFINIÇÃO DE MINERAÇÃO DE DADOS
A mineração de dados é o processo de descoberta de informações acionáveis em grandes conjuntos de dados. A mineração de dados usa análise matemática para derivar padrões e tendências que existem nos dados. Normalmente, esses padrões não podem ser descobertos com a exploração de dados tradicional pelo fato de as relações serem muito complexas ou por haver muitos dados.
Quando se minera os dados, é possível encontrar grandes quantidades de anomalias, erros e defeitos que podem ser concertados para que não venha trazer danos ao sistema, ajudando assim na tomada de decisões e dando vantagens estratégicas
A definição clássica do termo Mineração de Dados vem do pesquisador FAYYAD et al. (1996):  “processo, não trivial, de extração de informações implícitas, previamente desconhecidas e potencialmente úteis, a partir dos dados armazenados em um banco de dados”, ou seja, buscar por informações em uma base de dados com os mais variados atributos e assuntos.
Mineração de Dados busca encontrar padrões nos dados, e estes padrões são das mais variadas formas. Há um clássico exemplo das fraldas e cervejas. Você acha que alguma pessoa iria imaginar em comprar cervejas e fraldas ao mesmo tempo toda vez que fosse ao supermercado? Pois isso é um padrão identificado e está ligado a minerar dados. A definição que mais pode se adequar ao tema é “A Mineração de Dados também conhecida como “garimpagem dos dados” é o processo de extração de informações, sem conhecimento prévio em um grande banco de dados, das características dos dados, e seu uso são para tomada de decisões”.


IMPORTANCIA DA MINERAÇÃO DE DADOS
O volume de dados produzido está dobrando a cada dois anos. Dados não-estruturados compõem sozinhos 90% do universo digital. Porém, mais informação não significa necessariamente mais conhecimento. A mineração de dados nos permite filtrar todo o ruído caótico e repetitivo, entender o que é relevante e, então, fazer bom uso dessa informação para avaliar os prováveis resultados.
Na atualidade empresas estão investindo mais na automação do software, pelo fato de agilizar os níveis estratégico e gerencial para as tomadas de decisões, pois esses softwares armazenam os dados de forma duplicadas dentro do datawarehouse para relatórios complexos. Os softwares que possuem o BI (Business Intelligence) fazem com que o setor que irá tomar as decisões, consiga observar nos relatórios as informações necessárias para poder avaliar o resultado que eles esperam, dependendo o grau de complexidade ou quantidade de informações armazenadas dentro do banco, esses relatórios podem demorar dias, semanas ou meses.


TECNOLOGIAS, FERRAMENTAS E TÉCNICAS
Data Mining ou Mineração de dados, como uma disciplina combinada, representa uma variedade de métodos ou técnicas utilizadas em diferentes capacidades analíticas que abordam uma gama de necessidades organizacionais, respondem diferentes tipos de perguntas e usam diferentes níveis de regras para se chegar a uma decisão.
Modelagem descritiva
modelagem descritiva revela semelhanças compartilhadas ou agrupamentos em dados históricos para determinar as razões por trás do sucesso ou fracasso, como a categorização de clientes por preferências por produtos ou emoções. Algumas destas técnicas são:
·         Clustering – agrupar registros semelhantes juntos.
·         Detecção de anomalias – a identificação de valores discrepantes multidimensionais.
·         Regras de associação – a detecção de relações entre os registros.
·         Análise de componentes principais – a detecção de relações entre as variáveis.
·         Agrupamento de afinidades – agrupamento de pessoas com interesses comuns ou objetivos semelhantes (por ex., pessoas que compram X muitas vezes compram Y e, possivelmente, Z).

Modelagem preditiva

A modelagem preditiva vai mais fundo para classificar eventos no futuro ou estimar resultados desconhecidos – por exemplo, usando escoragem de crédito para determinar a probabilidade que um indivíduo tem de quitar um empréstimo. A modelagem preditiva também ajuda a descobrir insights para situações como a probabilidade de um cliente migrar de operadora ou seja, previsão ao churn, resposta para determinada campanha ou padrões de crédito. Algumas destas técnicas são:
·         Modelos de Regressão – modelos matemáticos que medem relação entre uma variável dependente e uma série de variáveis independentes.
·         Redes neurais – programas de computador que detectam padrões, fazem previsões e aprendem.
·         Árvores de decisão – diagramas que permitem representar e avaliar problemas que envolvem decisões sequenciais, colocando em destaque os riscos e os resultados financeiros identificados nos diversos cursos de ação.
·         Máquinas de vetores de suporte – modelos de aprendizagem supervisionados que analisam os dados e reconhecem padrões, usado para classificação e análise de regressão.

Modelagem prescritiva

A modelagem prescritiva olha para as variáveis internas, externas e restrições para recomendar um ou mais cursos de ação – por exemplo, determinar a melhor oferta de marketing a ser enviada para cada cliente. Algumas destas técnicas são:
·         Análise preditiva aliada às regras – o desenvolvimento de regras If/Then de padrões e previsão de resultados.
·         Otimização do marketing – simulando a combinação de mídias mais vantajosa em tempo real para sua empresa obtenha o maior ROI possível.
Com o crescimento de dados não estruturados a partir da web, campos de comentários, livros, e-mail, PDFs, áudio e outras fontes de texto, a adoção da mineração de texto como uma disciplina relacionada à mineração de dados também tem crescido significativamente. Você precisa ter a habilidade de analisar, filtrar e transformar com sucesso os dados não estruturados para incluí-los em modelos preditivos e realizar previsões com mais precisão.
Por fim, você não deve olhar para a mineração de dados como uma área e autônoma porque o pré-processamento (preparação de dados, exploração de dados) e o pós-processamento (validação do modelo, escoragem, monitoramento do desempenho do modelo) são igualmente essenciais.

Modelagem preditiva

A modelagem preditiva vai mais fundo para classificar eventos no futuro ou estimar resultados desconhecidos – por exemplo, usando escoragem de crédito para determinar a probabilidade que um indivíduo tem de quitar um empréstimo. A modelagem preditiva também ajuda a descobrir insights para situações como a probabilidade de um cliente migrar de operadora ou seja, previsão ao churn, resposta para determinada campanha ou padrões de crédito. Algumas destas técnicas são:
·         Modelos de Regressão – modelos matemáticos que medem relação entre uma variável dependente e uma série de variáveis independentes.
·         Redes neurais – programas de computador que detectam padrões, fazem previsões e aprendem.
·         Árvores de decisão – diagramas que permitem representar e avaliar problemas que envolvem decisões sequenciais, colocando em destaque os riscos e os resultados financeiros identificados nos diversos cursos de ação.
·         Máquinas de vetores de suporte – modelos de aprendizagem supervisionados que analisam os dados e reconhecem padrões, usado para classificação e análise de regressão.

USOS DA MINERAÇÃO DE DADOS E EXEMPLOS NO MUNDO REAL

Uso nas comunicações
Nesse setor, define-se como desafio identificar e entender grupos de clientes, determinando perfis, interesses e comportamentos.
Em um mercado sobrecarregado e de concorrência é apertada, as respostas estão muitas vezes nos dados de seus consumidores. A empresa multimídia Sanoma utiliza modelos analíticos para dar sentido a milhões de transações por semana, prever o comportamento do cliente e oferecer campanhas altamente segmentadas e relevantes.
Uso em seguros
As seguradoras cada vez usam mais a técnica de mineração de dados, cruzando os hábitos de um cliente e metrificando a ocorrência de acidentes fatais. A partir dessa métrica, consegue-se definir se o cliente é um bom plano para a seguradora.
Com o know-how analítico, as seguradoras podem resolver problemas complexos relativos à fraude, compliance, gerenciamento de riscos e atrito com os clientes, previnir cancelamentos, ou churn. Usando o SAS para fixar preços de produtos em seus negócios pessoais e comerciais, o OneBeacon Insurance Group melhorou seu índice de perda em 2 a 4 pontos e reduziu o tempo levado para construir modelos.

Uso na Educação
Com visualizações unificadas e voltadas para os dados do progresso dos alunos, os educadores podem prever o desempenho dos alunos antes que eles entrem na sala de aula – e desenvolver estratégias de intervenção para mantê-los no caminho certo. Mais de 4.000 professores e 350 administradores no Plano Independent School District podem acessar rapidamente os dados dos alunos e prever as conquistas. Muitas das escolas do distrito estão com 90% de desempenho.

Uso na Manufatura
Alinhar os planos de fornecimento com as previsões da demanda é essencial, assim como a detecção precoce de problemas, garantia de qualidade e investimento no valor da marca. A Volvo analisa mais de 100 parâmetros em seus veículos para prever o desgaste, evitar o tempo de inatividade não planejado do cliente e prever possíveis criando assim, um tempo de resposta mais rápido.

Uso em Serviços Financeiros
Algoritmos automatizados ajudam os bancos a obter uma melhor visão dos riscos de mercado, detectar fraudes mais rápido, gerenciar obrigações de conformidade regulatória e obter ótimos retornos sobre seus investimentos em marketing. O HSBC tem usado técnicas de mineração de dados para reduzir significativamente a incidência de fraudes em dezenas de milhões de contas de cartão de débito e crédito.

Uso no Varejo
Grandes bancos de dados de clientes detêm insights ocultos que podem ajudá-lo a melhorar as relações com os clientes, otimizar campanhas de marketing e prever vendas. A Staples veicula cerca de 1.500 campanhas em multicanais anualmente com base em 25 milhões de registros de clientes. A análise dos dados dessa geração de campanhas mostrou uma taxa de retorno de 137%.

Uso no Governo
Armadas com os dados corretos, as agências podem tomar decisões mais rápido para manter os cidadãos seguros, reduzir o peso que a fraude está colocando em programas governamentais e entrar em sintonia com o sentimento do público. O HM Revenue & Customs do Reino Unido precisava de uma solução de analytics de dados para ajudar a identificar a evasão fiscal e fraudes significativas. O Analytics ajudou a agência a localizar bilhões de dólares em receitas fiscais adicionais.

Uso em Assistência Médica
Com o analytics em ambiente de big data, as seguradoras de saúde podem reduzir as reclamações de fraudes, integridades de pagamentos, os prestadores de serviços hospitalares podem melhorar ao resultado dos pacientes, e os pacientes podem receber cuidados mais acessíveis e seguros. A Blue Cross and Blue Shield of North Carolina usou modelos preditivos para determinar o potencial de readmissão do paciente em risco para que ela pudesse interagir mais com os pacientes antes da alta. O modelo de dados supera corretamente a probabilidade em 400% na identificação dos pacientes.


PERSPECTIVA DA MINERAÇÃO DE DADOS

Exemplo: HP
Com o analytics em ambiente de big data, as seguradoras de saúde podem reduzir as reclamações de fraudes, integridades de pagamentos, os prestadores de serviços hospitalares podem melhorar ao resultado dos pacientes, e os pacientes podem receber cuidados mais acessíveis e seguros. A Blue Cross and Blue Shield of North Carolina usou modelos preditivos para determinar o potencial de readmissão do paciente em risco para que ela pudesse interagir mais com os pacientes antes da alta. O modelo de dados supera corretamente a probabilidade em 400% na identificação dos pacientes.


FONTES

https://mineracaodedados.wordpress.com/2012/06/24/o-curioso-caso-da-aplicacao-da-mineracao-de-dados-no-setor-de-seguros-pessoais/

http://blog.mjv.com.br/data-mining-para-alavancar-a-sua-estrategia-de-marketing

http://www.sas.com/pt_br/insights/analytics/mineracao-de-dados.html

http://www.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RT-INF_001-09.pdf

https://msdn.microsoft.com/pt-br/library/ms174949.aspx




BANCO DE DADOS DISTRIBUÍDOS

Trabalhos de Banco de Dados II - Sistemas de Informação - UEMG

Projeto de Banco de Dados em XML

Autores: Leonardo Baldo, Leopoldo Ferreira.




1. Origem da XML

Marcação nada mais é que uma informação complementar inserida em um documento, ou seja, acrescenta marcadores nos documentos criados. Em texto, por exemplo, estes marcadores coordenam o aspecto do documento e é constituído de itens como tipo e tamanho da fonte, negrito, sublinhado, itálico etc. Podemos utilizar da marcação generalizada para uma simples designação da importância estrutural de um texto em um documento.
             SGML é um tipo de linguagem de marcação com uso mais específico em medicina ou matemática devido sua dificuldade, fazendo assim com que seus usuários sejam escassos. A HTML, na verdade, é uma aplicação da SGML para a marcação de conteúdo, de modo a prepará-lo para apresentação na World Wide Web Consortium (W3C). Um projeto iniciado pela W3C em 1996 fez a junção da versatilidade da SGML e a ampla aceitação do HTML surgindo assim a XML.
             XML (Linguagem Extensível de Marcação) é uma linguagem de marcação recomendada e criada pela World Wide Web (W3C) para a criação de documentos com dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais. A linguagem XML é classificada como extensível porque permite definir os elementos de marcação.

2. Conceitos Básicos de XML e Tecnologias Relacionadas

            XML faz o uso de Tags muito similares as tags usadas em HTML, porém, a diferença é que enquanto o HTML tem um número de tags fixas, o XML define seus elementos e as funcionalidades dos mesmos.
Exemplo 1: Trecho de documento em HTML
<p>
<font face=”verdana” size=10>
<b>Remetente:</b> José da Silva<br>
<b>Destinatária:</b> Maria da Silva<br><br>
</font>
</p>
<p>
<font face=”arial” size=12>
Olá, Maria, bom dia!<br>
</font>
</p>
<p>
<font face=”arial” size=12>
Espero notícias suas! Até mais.<br>
</font>
</p>
                A partir deste exemplo há a possiblidade de se reconhecer que se trata de uma carta, pois, temos o conhecimento prévio de que se trata de uma, já um software não tem condição de ter esse conhecimento, é preciso dar informações precisas para que uma aplicação entenda o que está sendo dito, a linguagem HTML usa as “tags” que apenas controlam como serão exibidos os dados. Interpretação das Tags: <p> diz ao interpretador, no caso, navegador de internet que deve-se quebrar uma linha e inserir uma em branco. <br> insere uma quebra de linha, <b> marca o que estará em negrito e <font> controla a fonte que será utilizada.          
                O problema da HTML é que ela é reconhecida como abordagem “engessada”, pois, limita o uso de tags a apenas uma função, como por exemplo o <p> que dá início e fim, é reconhecido apenas como cabeçalho de carta, e não pode ser usado posteriormente, essa limitação é reconhecida pela XML de tal forma que está exposta em seu nome, onde X significa “eXtensible”, ou extensível, significando que cada XML tem um subconjunto próprio de tags. Essas tags receberiam nome que não correspondem aos dados, apenas representam a estrutura determinada no contexto deste documento em específico. O exemplo 1 poderia ser representado da seguinte forma:

Exemplo 2: Trecho de documento em XML
<carta tipo="social">
<cabeçalho>
<remetente> José da Silva </remetente>
<destinatário> Maria da Silva </destinatário>
</cabeçalho>
<parágrafo>
Olá, Maria, bom dia!
</parágrafo>
<parágrafo>
Espero notícias suas! Até mais.
</parágrafo>
</carta>
Nesse exemplo a estrutura do documento está muito mais clara e é específico para uma carta, XML em si é um arquivo de texto contendo conteúdo e marcação que especifica aquele conteúdo, como no exemplo <carta> determina o início e fim de um documento e dessa forma diferente da HTML podendo existir vários documentos desde que seja marcado seus respectivos inícios e fins através das tags, em que entre as tags há  a informação de o que o elementro representa. Um exemplo ilustrativo pode ser dado por: <parágrafo> Olá, Maria, bom dia! </parágrafo>. Um atributo é uma informação descritiva do elemento, e consiste de um nome e de um valor. Os atributos devem ser especificados sempre entre delimitadores, que podem ser aspas duplas ou simples. Em <carta tipo="simples">, o elemento <carta> possui um atributo chamado tipo, cujo valor é "simples". Somente uma instância de um nome de atributo é permitida dentro de uma tag inicial ou de uma tag vazia, ou seja, o exemplo a seguir seria inválido: <carta tipo="simples" tipo="comercial">.
            São tecnologias relacionadas a XML:
SAX: (Simple API for XML, ou API simples para XML) é um analisador baseado em eventos, e, no caso de eventos, o analisador chama métodos ou rotinas com nomes semelhantes no programa host, que poderão tomar a ação apropriada.
DOM: (Document Object Model) é uma interface de programação de aplicação
completa para documentos XML. Essa interface permite não apenas navegar dentro de
documentos XML, mas também apanhar, acrescentar, modificar ou excluir elementos e
conteúdo.
XPath: é quem define como acessar os nós em documentos XML através de expressões de caminho que especificam um arquivo dentro de um diretório de arquivos, a expressão que identifica o atributo “tipo” da tag <carta> é dada por /carta/@tipo, com isso a localização do caminho é facilitada.
XSL: (Extensible Style Language) é uma linguagem para definir folhas de estilo para
XML. Ela também aceita opções de impressão e transmissão de documentos XML entre
várias plataformas.

3. Banco de Dados em XML

         Com a expansão do uso da internet novos desafios surgiram em relação a trocas comerciais e integração de processos entre organizações, com isso foi desenvolvido um sistema de banco de dados nativo em XML.        
            Sistemas nativos em XML podem ser implementados sobre um modelo relacional, hierárquivo, orientado a objetos, ou mesmo utilizar um formato proprietário de armazenamento. O que difere um banco de dados nativo em XML dos demais modelos é unidade de armazenamento: em um banco de dados relacional uma linha é a menor unidade lógico já no nativos em XML a menor é o próprio documento XML. Esse documento deve ser mantido intacto, e ao ser recuperado deve estar idêntico a quando foi armazenado, é importante entender o que a XML traz de benefícios para o mundo dos bancos de dados, e qual lugar ela ocupa atualmente entre as tecnologias existentes.
            A expansão do uso da internet aconteceu em cima do uso de padrões abertos, ou seja, não-proprietários: código-fonte, interfaces, sistemas operacionais etc., independentes de um fabricante específico e abertos a alterações, adequações e extensões que se fizessem necessárias, sempre mantendo o alinhamento com as regras definidas para estes padrões, com isso surgiu novas maneiras para o aproveitamento comercial da internet, destacando-se dentre elas o comércio eletrônico entre empresas (business-to-business, ou B2B), entre empresas e órgãos governamentais (business-to-government, ou B2G), e entre empresas e clientes finais (business-to-consumer, ou B2C). Segundo Renan Mendes em sua publicação O Dinheiro de Verdade está no E-Commerce B2B:
“No mundo, a expectativa é que em 2020 o mercado de E-commerce B2B dobre o tamanho do mercado online B2C — U$6,7 trilhões vs U$3,2 trilhões de faturamento mundial — de acordo o provedor de pesquisas Frost & Sullivan. A empresa prevê que o país da Alibaba, a China (assim como acontece no B2C), seja o maior mercado online com U$2,1 trilhões em vendas online em 2020.
Nos Estados Unidos, país da Amazon, o E-commerce B2B já é duas vezes maior que o B2C. A Forrester Researcher estima que o mercado B2B supere os U$780 bilhões e com um share de 9.3% das vendas de todo o mercado no fim de 2015. As previsões apontam um crescimento anual de 7,7% ao longo dos próximos 5 anos, dados resultantes da necessidade das empresas em diminuir custos.”


            É indubitável que para que ocorra o comércio eletrônico deva haver troca de informações, e para facilitar a integração entre parceiros, deveria existir uma ferramenta de transmissão de dados de forma padronizada onde todos do grupo de parceiro entenderiam seu significado, até pouco tempo atrás, o que estava disponível nesse sentido era a tecnologia de troca eletrônica de dados, ou Electronic Data Interchange (EDI). Resumidamente, a EDI “define uma plataforma técnica, baseada num conjunto de padrões estruturados para troca de informações entre participantes num mercado” (ALBERTIN, 2001).
            A EDI foi uma solução precária, pois, geralmente requer uma rede de conexão, privada e cara, entre os parceiros de negócios; Os parceiros precisam ter um relacionamento preexistente, para dar a eles tempo para estabelecer uma rede; Não é interativa, inibindo a possibilidade de negociação e discussão dinâmica.
            Com formas de acesso baratas, preços não dependentes da quantidade de informação utilizada, padrões abertos e amplamente adotados a internet se firmou como opção a essa situação de altos custo e seletividade de usuários utilitários do e-commerce.
            Como exposto por Renan, o relacionamento “um-para-um” será gradativamente substituído pelo “um-para-muitos”. Soluções fechadas como a EDI se tornaram obsoletas, a XML se enquadra nesse cenário de busca por padrões abertos que tiram o máximo de vantagem da arquitetura da internet já que redes de computadores tratam basicamente da troca de informações, e a internet nada mais é que uma rede de computadores. Com a XML, essas trocas de informações passaram a ter um padrão aberto, outra característica importante da XML é a sua portabilidade, dizer que ela é portável equivale a dizer que pode ser usada sem adaptações entre plataformas diferentes de hardware e software. A razão para tanto é que qualquer documento escrito usando o padrão XML será sempre um arquivo de texto simples, que usa as regras de marcação da XML. Assim, este arquivo texto pode ser trocado entre diferentes arquiteturas sem ser necessário sofrer alterações em seu formato: arquivos de texto podem ser reconhecidos e processados por qualquer plataforma virtual.
            Não devemos levar em conta somente o uso do XML em si como ferramenta de armazenamento de dados, mas também de todas as tecnologias que o envolvem como XSL, XSD, linguagens para consulta como XPath, Xquery e XQL, e analisadores DOM e SAX, dentre outras. O uso combinado destas tecnologias, muitas das quais padrões publicados ou em fase de aceitação pelo W3C, é que torna viável o uso da XML como padrão robusto de intercâmbio e armazenamento de informações. Sem as tecnologias que o englobam, a XML é apenas mais uma linguagem de marcação, sem o poder e eficiência que apresenta quando usada em conjunto com elas. A adoção da XML vem num ritmo crescente por parte daqueles que usam a internet como meio para a troca de informações, mas é interessante observar que sua importância não se limita a troca de dados ela também invade a área das aplicações de bancos de dados, e com grande destaque.
            Já existe no mercado uma incontável quantidade de sistemas de bancos de dados que lidam satisfatoriamente com dados relacionais que são predominantes no contexto empresarial. Porém, após o surgimento e fortalecimento do padrão XML para troca e armazenamento de dados, surgiram novas necessidades com as quais os desenvolvedores de sistemas de bancos de dados relacionais tiveram que lidar. Ao perceberem a importância do XML os grandes fornecedores de sistemas de bancos de dados adicionaram extensões para XML aplicadas a seus sistemas gerenciadores de bancos de dados relacionais, com o intuito de adaptar estes sistemas para que pudesse de alguma forma armazenar dados XML em suas tabelas relacionais os principais fornecedores de soluções para bancos de dados relacionais são: Oracle, Microsoft e IBM.

4. Conclusão

            O que deve-se levar em consideração em todo e qualquer projeto, é o escopo de seu tamanho, e a real necessidade de qual tecnologia usar e qual será a melhor abordagem para o mesmo, atualmente o banco de dados do tipo relacional é o mais usado pois, com ele pode-se armazenas um imenso volume de informação com confiabilidade de processamento e segurança de armazenamento, ainda mais implementando o ACID para processamento de transações, porém, há projetos em que o uso de banco de dados XML irá melhor atender a necessidade, o que deve ser feito é sua identificação, para assim tirar melhor proveito, pois, como demonstrado ele vem se tornando cada vez mais utilizado devido suas vantagens em certos casos, o que agora deve ser trabalhado é que seja tão confiável para o armazenamento de dados e recuperação de informação quanto o modelo relacional.
             Jímenez, Higasi e Masao demonstra casos em que a implementação de XML seria viável:
“[...] algumas características de sistemas que poderiam ser implementados
sob um banco de dados XML nativo:
· Sistemas de pequeno a médio porte, com pequeno volume de dados e transações;
· Sistemas para dispositivos com poucos recursos, como palmtops e hanhelds, bem como computadores mais antigos que não suportariam um grande SGBD;
· Interface de integração entre sistemas de back-end e front-end ou  outros. Poderíamos ter toda a base de dados relacionada a integração entre sistemas armazenadas nesse tipo de banco de dados, ao invés de utilizar arquivos de configuração e de sincronismo;
· Implementação do próprio sistema de front-end de uma grande aplicação. Poderíamos replicar os dados necessários de um grande SGBD para o Xindice e utilizar esses dados para um sistema específico;
· Implementação de sistemas onde os dados a serem armazenados são semiestruturados, ou seja, não possuem “colunas” fixas, e essas podem ser bastante variadas. Assim, mapear esses dados em um modelo relacional poderia ser bastante trabalhoso, além de desperdiçar espaço (teríamos uma grande quantidades de colunas armazenando valores nulos). Para esses casos, o XML, e mais especificamente o Xindice poderiam ser muito mais indicados, pois a estrutura de um documento XML, apesar de ter sua estrutura, é muito mais flexível e se adaptaria a essa situação facilmente.” (2003, pag. 80)

5. Referências

FIGUEIREDO, Flávio J. V.; HIGASI, Hilton; MURAOKA, Lincoln M. J. “XML e Banco de Dados”. Universidade Presbiteriana Mackenzie, São Paulo/SP, 2003; Disponível em: http://meusite.mackenzie.com.br/rogerio/tgi/2003XMLXindex.PDF Acesso em: Setembro de 2016.


MENDES, Renan. “O dinheiro de verdade está no mercado de E-commerce B2B”. Disponível em: <http://www.profissionaldeecommerce.com.br/dinheiro-mercado-e-commerce-b2b/> Acesso em: Setembro de 2016

Data Warehouse e OLAP

UEMG- Universidade do Estado de Minas Gerais Campus de Frutal
Curso: Sistemas de Informação, 5º período, noturno
Disciplina: Banco de Dados II
Docente: Prof. Dr. Geraldo Corrêa
Discentes: Mariana Pereira, Jean Nelson e Heitor Souza

Trabalho: Data Warehouse e Olap






Sumário

1 INTRODUÇÃO


Os sistemas de apoio à decisão são sistemas que ajudam na análise de informações do negócio. Sua meta é ajudar a administração a “definir tendências, apontar problemas e tomar... decisões inteligentes”. As raízes de tais sistemas surgiram nas décadas de 1940 e 1950, antes mesmo que os computadores estivessem disponíveis.
A ideia básica era coletar dados e reduzi-los para que fossem utilizados para analisar e modificar o comportamento do negócio.
No final dos anos 1960 surgiram os primeiros sistemas de apoio a decisão que utilizavam computadores para. Esses primeiros sistemas de computadores ficaram conhecidos inicialmente como sistemas de decisões gerenciais; mais tarde, eles também se tornaram conhecidos como sistemas de informações gerenciais. Hoje se usa o termo sistemas de apoio à decisão, por sistemas de informações gerenciais ser um termo bastante genérico.
            Na década de 1970 começou o desenvolvimento de linguagens de consulta que possibilitou que uma pessoa com treinamento adequado pudesse estar realizando consultas ao depósito de dados sem precisar esperar pela ajuda do departamento de TI.
            Os depósitos de dados da época eram arquivos simples antes da utilização de bancos de dados relacionais, necessitando que esses dados fossem copiados em arquivos antes de se tornarem disponíveis para o sistema de apoio à decisão. Somente no início dos anos oitenta, os bancos de dados relacionais começaram a ser usados em lugar de arquivos simples para fins de apoio à decisão.

2 ASPECTOS DO APOIO À DECISÃO


Uma das principais características dos bancos de dados de apoio à decisão é que este é um banco de dados basicamente de leitura visto que raramente são feitas atualizações no banco, pois é esperado que as informações estavam corretas no momento da inserção não havendo necessidade de corrigi-las.
Esses bancos também se caracterizam por terem consultas bastante complexas, com expressões na cláusula WHERE que difíceis de escrever, difíceis de entender e difíceis para o sistema lidar com elas.
            Com a tecnologia da época, outro problema muito comum era o tempo que demorava para se fazer consultas com junções entre tabelas. Mesmo em um banco de tamanho moderado, fazer uma consulta com a junção entre três a quatro tabelas poderia levar horas. Era comum que se desmembrassem essas junções a fim de facilitar o processo, mas na maioria das vezes isso causava mais problemas do que resolvia.

3 PROJETO DE BANCOS DE DADOS PARA APOIO À DECISÃO


O projeto do banco de dados deve ser divido em duas partes: a parte lógica e a parte física.
            O projeto lógico deve ser feito primeiro. Nessa fase, o enfoque está em correção: as tabelas devem representar relações de forma apropriada, garantindo assim que as operações relacionais funcionarão como se deseja e não produzirão resultados surpreendentes. Domínios (tipos) são especificados, as colunas definidas neles e as dependências entre colunas são identificadas. A partir dessas informações, a normalização pode prosseguir com a definição das restrições de integridade.
             Em segundo lugar, o projeto físico deve ser derivado do projeto lógico. Nessa fase, é claro, o foco está em eficiência de armazenamento e desempenho. Em princípio, qualquer organização física dos dados é permitida, desde que exista uma transformação que preserve a informação, que possa ser expressa na álgebra relacional, entre os esquemas lógico e físico. Observe em particular que a existência de tal transformação implica que existe visões relacionais do esquema físico que a tornem semelhante ao esquema lógico e vice-versa.
            Ainda há a possibilidade de que tanto o esquema lógico como o esquema físico sejam alterados ao longo do tempo, principalmente em casos de haver alterações no esquema físico para que se possa trabalhar de forma mais eficiente, por exemplo, com junções e o esquema lógico precisa continuar funcionando normalmente. Isso garante que os níveis lógico e físico trabalhem de forma individual.
            Então, em teoria, se o esquema físico é derivado do esquema lógico da maneira descrita, será alcançada a máxima independência de dados física; qualquer atualização expressa em termos do esquema lógico poderá ser automaticamente traduzida em uma atualização expressa em termos do esquema físico e vice-versa, e as mudanças no esquema físico não exigirão por si próprias mudanças no esquema lógico.
            As regras de projeto lógico não dependem do uso pretendido do banco de dados — as mesmas regras se aplicam, independentemente dos tipos de aplicações desejados. Assim, em particular, não deve fazer nenhuma diferença se essas aplicações são operacionais (OLTP) ou de apoio à decisão: de qualquer modo, o mesmo procedimento de projeto deve ser seguido.
            Os bancos de dados operacionais normalmente envolvem apenas dados atuais. Em contraste, os bancos de dados de apoio à decisão, em geral envolvem dados históricos e, portanto, tendem a incluir um timbre de hora na maioria ou em todos esses dados.
            Os bancos de dados de apoio à decisão tendem a ser grandes e fortemente indexados e a envolver vários tipos de redundância controlada. O particionamento representa um ataque ao problema do “banco de dados grande”; ele divide uma dada tabela em um conjunto de partições disjuntas ou fragmentos para fins de armazenamento físico. Esse particionamento pode melhorar de modo significativo a facilidade de gerenciamento e de acesso da tabela em questão. Em geral, cada partição recebe a atribuição de certos recursos de hardware mais ou menos dedicados (por exemplo, disco, CPU), minimizando assim a competição por esses recursos entre partições.
            A maioria dos primeiros produtos de SQL oferecia apenas um tipo de índice, a árvore B, mas vários outros tipos se tornaram disponíveis ao longo dos anos, especialmente em conexão com bancos de dados de apoio à decisão; eles incluem índices de bitmap, de hashing, de várias tabelas (multi-table), booleanos e funcionais, além dos índices de árvore B em si.
           

4 PREPARAÇÃO DE DADOS


            Muitas das questões relacionadas que envolvem o apoio à decisão estão relacionadas com as tarefas de obtenção e preparação inicial dos dados. Os dados devem ser extraídos de várias fontes, limpos, transformados e consolidados, carregados no banco de dados de apoio à decisão, e depois periodicamente renovados. Cada uma dessas operações envolve suas próprias considerações especiais.
            A extração é o processo de capturar dados de bancos de dados operacionais e outras fontes. O processo de extração tende a ser muito intenso em termos de E/S, e assim pode interferir com operações de missão crítica; por essa razão, ela é com frequência realizada em paralelo (isto é, como um conjunto de subprocessos paralelos) e em nível físico.
            Poucas fontes de dados controlam a qualidade dos dados adequadamente. Como resultado, os dados com frequência exigem limpeza (cleansing) (em geral, batch) antes de poderem ser introduzidos no banco de dados de apoio à decisão. Normalmente, as operações de limpeza incluem o preenchimento de valores omitidos, a correção de erros de digitação e outros erros de entrada de dados, o estabelecimento de abreviações e formatos padrão, a substituição de sinônimos por identificadores padrão, e assim por diante. Os dados reconhecidos como errados e que não podem ser limpos são rejeitados.
            Mesmo após terem sido limpos, os dados provavelmente ainda não estarão na forma que o sistema de apoio à decisão exige, e assim precisarão ser transformados de modo apropriado. Em geral, a forma exigida será um conjunto de arquivos, um para cada tabela identificada no esquema físico; como resultado, a transformação dos dados pode envolver a divisão e/ou a combinação de registros de origem. Os erros de dados que não foram corrigidos durante a limpeza às vezes são encontrados no decorrer do processo de transformação. Como antes, quaisquer dados incorretos geralmente são rejeitados. (Também como antes, as informações obtidas como parte desse processo podem às vezes ser usadas para melhorar a qualidade da origem de dados). Por razões de desempenho, operações de transformação frequentemente são executadas em paralelo. Elas podem utilizar intensamente operações de E/S e da CPU.
            Os fornecedores de SGBDs deram importância considerável à eficiência de operações de carga. Para nossos fins, consideramos que as “operações de carga” incluem mover os dados transformados e consolidados para o banco de dados de apoio à decisão; verificar a consistência dos dados (isto é, fazer a verificação de integridade); e construir quaisquer índices necessários.
            A maioria dos bancos de dados de apoio à decisão (nem todos) exige renovação periódica dos dados, a fim de mantê-los razoavelmente atualizados. Em geral, a renovação envolve uma carga parcial, embora algumas aplicações de apoio à decisão exijam que se descarte tudo no banco de dados e se faça o recarregamento completo dos dados. A renovação envolve todos os problemas associados com a carga, mas também pode ser necessário executá-la enquanto os usuários têm acesso ao banco de dados.
            Um depósito de dados operacionais (ODS — operational data store) é uma “coleção de dados orientada por assunto, integrada, volátil (isto é, atualizável), atual ou quase atual”. Em outras palavras, é um tipo especial de banco de dados. A expressão orientada por assunto significa que os dados em questão estão relacionados com algum assunto específico (por exemplo, clientes, produtos). Um depósito de dados operacionais pode ser usado como uma área provisória para reorganização física de dados operacionais extraídos, para fornecer relatórios operacionais, e para dar suporte a decisões operacionais.


5 DATA WAREHOUSES E DATA MARTS


            Os sistemas operacionais normalmente têm exigências estritas de desempenho, cargas de trabalho previsíveis, pequenas unidades de trabalho e utilização elevada. Em contraste, os sistemas de apoio à decisão normalmente têm requisitos de desempenho variáveis, cargas de trabalho imprevisíveis, grandes unidades de trabalho e utilização irregular. Essas diferenças podem tornar muito difícil combinar o processamento operacional e de apoio à decisão dentro de um único sistema, em especial com respeito ao planejamento da capacidade, ao gerenciamento de recursos e ao ajuste de desempenho do sistema. Por essas razões, os administradores de sistemas operacionais em geral relutam em permitir atividades de apoio à decisão em seus sistemas, daí a abordagem familiar de sistema dual. observamos a propósito que a situação nem sempre foi essa; os primeiros sistemas de apoio à decisão funcionavam de fato sobre sistemas operacionais, mas em baixa prioridade ou durante a chamada “janela batch”. Considerando-se recursos de computação suficientes, há várias vantagens nessa organização, das quais talvez a mais óbvia seja a de evitar todas as operações possivelmente dispendiosas de cópia de dados, reformatação e transferência (etc.) exigidas pela abordagem de sistema dual.
            Um data warehouse é um tipo especial de banco de dados. O termo parece ter tido origem no final dos anos oitenta, embora o conceito seja um pouco mais antigo. Os data warehouses surgiram por duas razões: primeiro, pela necessidade de fornecer uma origem de dados única, limpa e consistente para fins de apoio à decisão; segundo, pela necessidade de fazê-lo sem causar impacto sobre os sistemas operacionais.
            Por definição, as cargas de trabalho de data warehouses são cargas de trabalho de apoio à decisão e, portanto, fazem uso intensivo de consultas além disso, os próprios armazéns de dados tendem a ser bem grandes (frequentemente acima de 500 GB, crescendo cerca de 50% em um ano).
            Data Mart é um “depósito de dados especializado, orientado por assunto, integrado, volátil e variável no tempo que fornece apoio a um subconjunto específico de decisões da gerência”. Como podemos ver, as principais distinções entre um data marts e um data warehouse são as de que um data warehouse é especializado e volátil. Por especializado, queremos dizer que ele contém dados para apoio a uma área específica (somente) de análise de negócios; por volátil, queremos dizer que os usuários podem atualizar os dados, e talvez até mesmo criar novos dados (isto é, novas tabelas) para algum propósito.
            Uma decisão importante a ser tomada no projeto de qualquer banco de dados de apoio à decisão é a granularidade do banco de dados. O termo granularidade se refere aqui ao nível mais baixo de agregação de dados que será mantido no banco de dados. Agora, a maioria das aplicações de apoio à decisão exige acesso a dados de detalhe mais cedo ou mais tarde; assim, no caso do data warehouse, a decisão é fácil. Para um data mart, ela pode ser mais difícil. Extrair grandes quantidades de dados de detalhe do data warehouse e armazená-los no data mart pode ser muito ineficiente se esse nível de detalhe não for necessário com muita frequência.
           

6 PROCESSAMENTO ANALÍTICO ON-LINE


O termo processamento analítico on-line (ou OLAP, de “online analytical processing”) foi cunhado em um white paper escrito para a Arbor Software Corp. em 1993, embora (como ocorre com o termo “data warehouse”), o conceito seja muito mais antigo. Ele pode ser definido como “o processo interativo de criar, administrar, analisar e gerar relatórios sobre dados” — e é habitual acrescentar que os dados em questão são percebidos e manipulados como se estivessem armazenados em um “array multidimensional”.
            O processamento analítico exige invariavelmente algum tipo de agregação de dados, normalmente de muitos modos diferentes (isto é, de acordo com muitos agrupamentos diferentes). De fato, um dos problemas fundamentais do processamento analítico é que o número de agrupamentos possíveis se torna muito grande bem depressa. E ainda que os usuários precisam considerar todos ou a maioria deles. Agora, é claro que as linguagens relacionais oferecem suporte para tal agregação, mas cada consulta individual em uma dessas linguagens produz apenas uma tabela como seu resultado (e todas as linhas nessa tabela têm a mesma forma e o mesmo tipo de interpretação). Desse modo, obter n agrupamentos distintos exige n consultas distintas e produz n tabelas de resultados distintas.
            Os produtos de OLAP frequentemente exibem resultados de consultas não como tabelas no estilo de SQL, mas como tabulações cruzadas.
            O MOLAP envolve um banco de dados multidimensional, um banco de dados no qual os dados estão armazenados conceitualmente nas células de um array multidimensional. O SGBD de suporte é chamado SGBD multidimensional. Como um exemplo simples, os dados poderiam ser representados como um array de três dimensões, correspondendo a produtos, clientes e períodos de tempo, respectivamente; cada valor de célula individual pode então representar a quantidade total do produto indicado vendido ao cliente indicado no período de tempo indicado.


7 MINERAÇÃO DE DADOS


            A mineração de dados pode ser descrita como “análise de dados exploratória”. O objetivo é procurar padrões interessantes nos dados, padrões que possam ser usados para definir a estratégia do negócio ou para identificar um comportamento pouco usual (por exemplo, um aumento súbito na atividade de um cartão de crédito poderia significar que o cartão foi roubado). As ferramentas de mineração de dados aplicam técnicas estatísticas a grandes quantidades de dados armazenados, a fim de procurar por tais padrões. Os bancos de dados de mineração de dados com frequência são extremamente grandes, e é importante que os algoritmos sejam escaláveis.
           

8 REFERÊNCIAS


                DATE, C. J. Introdução a Sistemas de Banco de Dados. Trad. Daniel Vieira. Rio de Janeiro: Elsevier, 2004.