Implantação de Tecnologia de Data Warehouse em
Bibliotecas com Uso de Tecnologia Adequada
Autoria: Erico Resende Santos e Francisco José Espósito Aranha Filho
1 RESUMO
Projetos de implementação de data warehouses e data marts costumam ser longos e
dispendiosos. Nesta pesquisa foi desenvolvido um modelo de implementação de data marts
para a circulação do acervo de bibliotecas com uso de tecnologia adequada, ou seja, com foco
na solução por oposição a foco na tecnologia em si.
Um projeto piloto foi conduzido na biblioteca Karl A. Boedecker em que testou-se,
com sucesso, essa metodologia. O resultado obtido serviu de base para um estudo de
cooperação indireta, com uso de técnicas de data mining, como forma de gerar
recomendações de leitura para os usuários da biblioteca.
O data mart desenvolvido permitiu ainda outros estudos do perfil dos usuários e
diversas análises que pressupõe o acesso aos dados de circulação do acervo.
Estes resultados revelaram a possibilidade de se desenvolver sistemas desse tipo para
bibliotecas genéricas, com resultados bastante sofisticados, sem a necessidade de grandes
investimentos iniciais e em prazo reduzido.
2 INTRODUÇÃO
Com a crescente tendência de publicações em meio eletrônico e com o crescimento da
Internet como forma de distribuição de informações, o conceito tradicional de bibliotecas
como um local físico para armazenagem de informações deve evoluir para um conceito de
portal.
Vista como um portal, a biblioteca deve oferecer, além do acervo físico, um conjunto
amplo de produtos e serviços como: fornecimento de informações em meio eletrônico
(localmente e a distância), fornecimento de índices, catálogos, ferramentas de localização,
ajuda ativa na busca por informação etc. (Beaumont, 1998).
Seguindo a tendência de tornar-se um portal de informações, é importante que a
biblioteca mantenha um foco nos usuários, procurando entender suas necessidades e manter
com eles um relacionamento. Uma forma de fazer isso é fornecer uma ajuda ativa aos
usuários na localização de obras relevantes para sua pesquisa. Para isso é necessário adquirir
um conhecimento dos seus hábitos e interesses, o que passa por um estudo do seu
comportamento (Aranha, manuscrito).
Exemplos de técnicas para estudar esse comportamento são cooperação indireta e
link analysis (Aranha, manuscrito). Essas técnicas estão incluídas no conjunto de técnicas de
data mining (item 2.2) e são utilizadas em função da grande quantidade de dados analisados e
da característica pouco estruturada do problema.
A aplicação dessas técnicas demanda um conjunto acessível, consistente e íntegro de
dados. A preparação dos dados é uma parte essencial no processo de data mining (Westphal
& Blaxton, 1998). E uma solução frequentemente usada para a disponibilização desses dados
são data warehouses (Berry & Linoff, 1997).
A proposta dessa pesquisa é a definição de um data mart (extensível para um data
warehouse) como forma de dar suporte à aplicação de técnicas de data mining que
pressuponham o acesso aos dados de circulação do acervo de bibliotecas (ver itens 2.3 e 2.4
para uma explicação dos termos data mart e data warehouse).
1
2.1 PROJETO NA BIBLIOTECA KARL A. BOEDECKER
Um projeto piloto de um sistema de recomendações para os usuários foi implementado
na biblioteca karl A. Boedecker. Para isso foi implantado um data mart de circulação do
acervo da biblioteca.
O estudo do perfil dos usuários (Aranha, manuscrito) foi baseado na exploração do
histórico de transações de circulação do acervo na biblioteca realizadas no período de 1º de
março a 19 de julho de 1999. A base de dados inicial continha cerca de 22.500 transações
(entre empréstimos, renovações e devoluções de itens) envolvendo 1.688 usuários e 4.362
itens do acervo da biblioteca.
2.2 DATA MINING
Data mining é o processo de exploração e análise, por meios automáticos ou semiautomáticos, de um conjunto grande de dados com o objetivo de descobrir padrões e regras
significativos (Berry e Linoff, 1997). Esse processo pode ter duas abordagens: teste de
hipóteses e síntese de conhecimento. Teste de hipótese refere-se ao uso dos dados para
verificar ou negar uma hipótese ou noção prévia. Síntese de conhecimento é a descoberta de
uma informação sem nenhuma condição inicial. Pode ser direta (caso em que se deseja
explicar um atributo específico em função de outros dados) e indireta (caso em que se procura
relações sem foco em um atributo específico).
As técnicas de data mining podem ser divididas em: classificação, estimativa,
previsão, agrupamento por afinidade, agrupamento e descrição (Berry e Linoff, 1997). O
estudo referido envolverá, principalmente, a técnica de agrupamento por afinidade ou análise
de relacionamento.
Os fatores críticos de sucesso para projetos de data mining são (Hermiz, 1999):
1. Definição de um problema real articulado;
2. Garantia de dados de qualidade e em quantidade para o estudo;
3. Reconhecimento do caráter não estruturado do projeto;
4. Planejamento de aprendizado com o processo.
A preocupação desta pesquisa é a abordagem do segundo ponto, ou seja, o
desenvolvimento de mecanismos para a manutenção e disponibilização dos dados para a
realização do estudo. Isso demanda a construção de uma base acessível, consistente e íntegra
de dados, o que levou à proposição do data mart.
2.3 DATA WAREHOUSE
O data warehouse é uma coleção de dados não volátil, crescente no tempo, integrada e
orientada ao negócio para dar suporte a decisões gerenciais (Inmon, 1996). É a fonte de dados
para consulta da organização (Kimball, 1998).
Ele tem as seguintes características (Berson e Smith, 1997):
• É um banco de dados projetado para análise, que usa dados de várias aplicações.
• É projetado para um pequeno número de usuários com interações longas.
• É usado basicamente para leitura.
• É atualizado periodicamente (principalmente com adição de dados).
• Contém dados atualizados e históricos para fornecer informações do fluxo do negócio no
tempo.
• É formado por poucas e grandes tabelas.
• Destina-se à realização de consultas que resultam em um conjunto grande de dados e
geralmente envolvem leituras de tabelas inteiras e vários relacionamentos.
O data warehouse deve ter os seguintes objetivos (Kimball, 1998):
• Tornar a informação mais acessível.
2
•
•
•
•
Tornar a informação mais consistente, ou seja, informação de qualidade em toda a
organização. Os termos usados em uma parte da empresa devem ter o mesmo significado
em toda a empresa.
Ser uma fonte de informação adaptável e maleável. Deve ser projetado para mudança
constante sem que todo o sistema tenha que ser alterado.
Ser uma fonte segura para proteger a informação na empresa.
Deve ser a base para a tomada de decisão.
2.4 DATA MART
O data mart tem definição controversa junto aos autores (especialmente Kimball e
Inmon) e fabricantes de ferramentas.
Segundo Inmon o data mart é uma coleção de dados relacionados a alguma área da
empresa (algum processo específico), organizados para dar suporte à decisão e baseados nas
necessidades de um determinado departamento. Ele afirma que o data mart e o data
warehouse têm estruturas essencialmente diferentes e um conjunto de data marts dificilmente
pode ser integrado e, mesmo que for, não resultará em um data warehouse (Inmon, 1998).
Segundo Inmon o data mart é derivado do data warehouse.
Kimball define o data mart como um subconjunto lógico do data warehouse. De
acordo com sua abordagem, o data warehouse não passa da união de todos os data marts que
o constituem (Kimball, 1998).
Essa diferença de abordagem se reflete em opiniões controversas de cada autor em
relação ao processo de implantação do data warehouse. Ambos concordam que a implantação
da solução completa é muito complexa para ser feita de uma vez e ambos concordam que a
sustentação do projeto depende da entrega rápida de uma solução parcial que agrade os
usuários e justifique o investimento (Gallas, 1999). Mas a solução proposta por cada um é
diferente.
Kimball propõe a implantação de um data mart por vez, desde que seja feita uma
prévia modelagem da organização e que os data marts fiquem conformados de acordo com
essa modelagem (ver item 2.5). Inmon propõe a implantação iterativa do data warehouse, ou
seja, o sistema começa pequeno e evolui progressivamente em espaços curtos de tempo. Essa
evolução é sempre feita com base na modelagem inicial dos dados da organização (Inmon,
1998).
Nesse trabalho a motivação inicial é a construção de um data mart apenas e isso é
válido tanto sob a ótica de Kimball quanto de Inmon. No entanto a eventual ampliação da
solução para a construção de um data warehouse não é possível segundo Inmon e é
perfeitamente válida na abordagem de Kimball.
A conclusão preliminar a que se chega é que essa diferença de abordagem é mais
relativa à terminologia utilizada do que propriamente conceitual. Isso porque Inmon se refere
ao data mart como uma coleção de dados derivada do data warehouse, enquanto para
Kimball o data mart é a própria unidade lógica do data warehouse, ou seja, eles estão falando
de coisas diferentes.
No desenvolvimento do projeto piloto na biblioteca Karl A. Boedecker foi adotada a
abordagem de Kimball. Pudemos testar a implementação de um pequeno data mart paralelo
ao principal para dar suporte ao resultado do sistema de recomendações proposto. No entanto
a validação de uma estratégia de implementação como proposta por Kimbal em uma grande
organização não é objeto dessa pesquisa.
3
2.5 MODELAGEM DIMENSIONAL
Para o desenvolvimento de data warehouses o modelo mais viável é o modelo
dimensional em oposição ao modelo de entidade relacionamento (Kimball, 1998).
O modelo dimensional é composto por uma tabela com uma chave múltipla chamada
tabela fato (fact table) e por várias tabelas menores chamadas dimensões (dimension table).
Cada dimensão tem uma chave única que corresponde exatamente a um dos componentes da
chave múltipla da tabela fato. Para a visualização do modelo usaremos o resultado do item
3.2.5 correspondente ao modelo desenvolvido para o projeto piloto da biblioteca.
A implementação da solução completa do data warehouse em uma única etapa seria
uma tarefa muito difícil. A abordagem proposta por Kimball é a implementação de um data
mart de cada vez, ou seja, a abordagem de cada processo de negócio separadamente. Isso
corresponde a definir uma fact table de cada vez.
A dificuldade que surge então é como unir todos os data marts de forma que o todo
fique coerente e possa integrar toda a organização. Se os data marts forem incompatíveis
entre si eles nunca poderão compor um data warehouse. Kimball propõe que a modelagem de
cada data mart obedeça a uma arquitetura padrão que ele chama de via do data warehouse.
Para a construção da via é necessário ter dimensões “conformadas” e uma definição
padronizada para os fatos. Uma dimensão conformada é uma dimensão que significa a mesma
coisa em qualquer star schema em que esteja, ou seja, em qualquer data mart. As dimensões
conformadas são essenciais para manter a integração de todos os data marts no data
warehouse. Da mesma forma os fatos devem estar conformados. Isso significa dizer que se
um determinado fato é referenciado com medidas diferentes em dois processos (por exemplo
um produto cuja quantidade é medida em unidades em algum processo e em lotes em outro),
as duas medidas devem ser expressas nos dois data marts correspondentes e cada uma deve
ter um nome diferente.
Um aspecto importante no desenho das dimensões é a consideração a respeito da
mudança contínua. Existem três estratégias básicas para lidar com essas mudanças:
1. Alterar o registro original perdendo informações históricas.
2. Criar um novo registro usando outro valor para a chave.
3. Criar um campo “velho” na dimensão para guardar o atributo anterior.
O uso dessas estratégias varia em cada caso e a escolha entre elas deve ser baseada no
tamanho da dimensão, na velocidade de mudança e na necessidade de se manter informações
históricas.
O projeto de cada data mart deve levar em conta 4 passos básicos de acordo com
Kimball (1998). São eles:
1. Escolha do data mart: Corresponde a escolher o processo do negócio ou a(s) fonte(s)
operacional(is) dos dados. É conveniente começar o projeto com a escolha de um data
mart de uma única fonte e montar as dimensões conformadas desde o início de maneira
que os data marts seguintes possam se “plugar” na via.
2. Escolha da granularidade das tabelas fato: Corresponde a dizer o que é exatamente
cada registro da tabela fato. Geralmente essas tabelas devem ser o mais granulares
possível, principalmente para projetos de data mining onde o detalhe é essencial. As
medições menos granulares devem ser derivações das tabelas fato construídas de modo a
permitir melhora de performance em algumas consultas (tabelas agregadas).
3. Escolha das dimensões: Com a definição da granularidade a escolha das dimensões já
estará iniciada. Como o registro da tabela fato corresponde à medição de algum processo,
esse processo já estará naturalmente relacionado a algumas dimensões. No entanto o
projetista do data mart pode adicionar algumas dimensões de forma a tornar a informação
mais completa. Toda dimensão que puder ser relacionada ao fato específico de forma
única deve ser adicionada ao modelo.
4
4. Escolha das medidas: A escolha da granularidade também já identifica uma série de
medidas pertinentes. Essas medidas devem ser totalmente apropriadas à granularidade
escolhida para a tabela fato.
2.6 BUSINESS INTELLIGENCE
Business Intelligence (BI) é um termo introduzido pelo GartnerGroup no fim da
década de 1980 que se refere ao acesso e exploração de dados estruturados relativos a um
domínio específico, análise dos dados, desenvolvimento de conhecimento a partir dessa
análise e aplicação desse conhecimento para tomada de decisão (Harris e Dresner, 1999).
As ferramentas de BI incluem:
• Construção de consultas ad hoc,
• Geração de relatórios,
• DSS (Decision Support Systems),
• EIS (Executive Information System),
• Análise estatística (data mining),
• OLAP (OnLine Analytical Processing), entre outras.
Business Intelligence (BI) é uma forma de tornar útil o data warehouse. “A aplicação
de BI não pressupõe um data warehouse mas o data warehouse é inútil sem BI“ (Strange,
1999). Em relação à administração da biblioteca, ou ao estudo de data mining, o processo de
BI envolve a extração das informações necessárias a partir do data warehouse, ou data mart,
análise dessas informações (por meio de OLAP e relatórios, por exemplo) e tomada de
decisões com base nas mesmas, ou seja, envolve uma forma de usar os dados para facilitar a
administração.
3 O PROJETO NA BIBLIOTECA KARL A. BOEDECKER
A Biblioteca Karl A. Boedecker foi fundada em 1954 para dar suporte bibliográfico à
EAESP – FGV. Conta com acervo de 67 mil exemplares de 47 mil títulos de livros e 3,2 mil
exemplares de 1,8 mil títulos de teses e dissertações (Biblioteca Karl A. Boedecker. Relatório
Anual 1998, documento interno).
A biblioteca conta também com mais de 6 mil usuários cadastrados no sistema dos
quais pouco mais de 2 mil estão ativos. A biblioteca atende aos professores, alunos e
funcionários da escola, além de instituições externas.
Os alunos podem ser dos seguintes cursos:
• CGAE (Graduação em Administração de Empresas),
• CGAP (Graduação em Administração Pública),
• CEAG (Especialização em Administração para Graduados),
• CEAHS (Especialização em Administração Hospitalar),
• Doutorado,
• Mestrado
• MBA,
• PECE (Programa de Educação continuada)
• Alunos de intercâmbio
Além dos alunos correntemente matriculados a biblioteca atende também aos exalunos da escola.
Em face disso os usuários são classificados de acordo com seu tipo que podem ser
todos os citados acima.
Em relação aos itens, estes podem ser classificados como livros, teses e dissertações,
obras de referência, revistas etc.
5
A biblioteca Karl A. Boedecker é uma biblioteca especializada, ou seja, ela se
preocupa em atender prioritariamente algumas áreas específicas do conhecimento as quais:
ciências aplicadas e sociais voltadas para administração de empresas e economia. Isso não
implica ausência total de outras áreas mas a ênfase é dada para estas.
3.1.1 Situação Tecnológica
A biblioteca vem passando por processos de modernização, por exemplo com a
instalação, em 1995, do sistema VTLS. O sistema suporta todo o processo transacional da
biblioteca como controle de circulação, catalogação, busca por palavras e booleana, controle
de literatura básica, controle de periódicos, controle de estoque, relatórios estatísticos etc.
O sistema fornece arquivos com estatísticas de transações passadas, no entanto estes
arquivos servem apenas como controle e são ineficientes para uso analítico (daí a necessidade
observada de um data warehouse no ambiente de administração).
Todo o processo de empréstimo já se encontra automatizado, inclusive com o
reconhecimento do usuário e dos itens por códigos de barras. Os usuários receberam um
cartão com seu código de barras pessoal impresso que facilita essa identificação. Cada código
de usuário está associado a uma senha. Os livros também têm código de barras impresso.
De todo o acervo da biblioteca apenas cerca de 26.000 itens estão cadastrados
eletronicamente no VTLS. Esses itens são os que circularam depois da implantação do
sistema e/ou que foram adquiridos no período após a implantação do sistema. Em função
disso apenas esses itens serão cadastrados no data mart.
3.2 MODELAGEM DIMENSIONAL
3.2.1 Escolha do Data Mart
O modelo de dados desenvolvido partiu das necessidades do estudo do perfil de
usuários (Aranha, manuscrito). Para isso foi necessário desenvolver um único data mart
relativo às transações (ou circulação do acervo). A principal fonte para os dados é o sistema
transacional da biblioteca (VTLS) que gera arquivos flat com todas as transações relativas à
circulação do acervo.
3.2.2 Escolha da Granularidade da Tabela Fato
Nesse data mart cada fato, ou seja, cada registro na tabela fato corresponde a uma
transação que pode ser dos tipos: empréstimo, renovação e devolução. Esse fato não tem
nenhuma medida associada. Trata-se apenas da ocorrência de uma transação relacionando as
dimensões especificadas no registro.
3.2.3 Escolha e Definição das Dimensões
Usuários – dim_patron
A dimensão de usuário tem duas fontes principais de dados. Uma é a escola e a outra a
biblioteca. A escola forneceu dados referentes aos alunos como a média do curso e média no
vestibular. A biblioteca forneceu dados gerais sobre os usuários como endereço e dados
referentes à sua situação como usuário da biblioteca.
Os principais requisitos em relação aos usuários é que eles pudessem ser
identificáveis, tanto em relação ao seu papel na biblioteca como na escola. Além de poderem
ser identificados em função de diversos atributos como endereço, idade, sexo etc.
Para cada dimensão foi gerada uma chave para controle interno sem nenhum
significado fora do data mart. Essa chave é chamada surrogate key e funciona como uma
6
forma de tornar o data mart independente do sistema legado da biblioteca (Kimball, 1998).
Além dessa, a dimensão traz outras chaves e códigos para identificação do usuário na
biblioteca e na escola.
Foram adicionados também campos para descrição de características dos usuários
como idade, sexo e tipo do usuário, além de outros dados como endereço completo (separado
em vários campos), telefone, e-mail e data de cadastro do usuário na biblioteca. A separação
de dados como endereço em vários campos é aconselhável para as dimensões pois dessa
forma os dados são mais facilmente acessados.
Foram adicionados alguns campos relativos ao comportamento dos alunos na escola
como desempenho acadêmico, média no vestibular, entre outros. Esses atributos oferecem um
problema adicional na modelagem pois não são válidos para todos os tipos de usuários. A
questão é se nos casos em que o atributo é inválido (como desempenho acadêmico do
professor ou funcionário) o valor deve ser mantido nulo ou não. A princípio mantivemos
nulos os valores inválidos.
Finalmente a dimensão conta com atributos resultados de processamento externo, ou
seja, eles constituem uma agregação de valor à dimensão. O significado desses campos será
explicado no item 3.3.
Com relação à mudança contínua dessa dimensão, a opção na modelagem é que os
dados relativos a usuários antigos nunca sejam descartados. Para isso sempre poderemos criar
novas chaves artificiais mesmo que as chaves de produção sejam reutilizadas pela escola ou
pela biblioteca. No caso de alteração dos dados de algum usuário, esses dados serão
simplesmente alterados diretamente na dimensão.
Itens – dim_item
A dimensão de itens tem duas fontes principais. A primeira são os arquivos de
estatística gerados pelo VTLS e outra, a principal, são outros arquivos gerados pelo VTLS
que contêm diversos dados sobre todos os livros adquiridos em um determinado período.
Seria uma “tabela mestre” do VTLS sobre os itens. Essa dimensão também contém campos
derivados de modelagem e do uso de técnicas de data mining.
Foi criada também uma chave artificial além das chaves de produção usadas na
biblioteca para identificar o item. Uma das identificações é o call_number. É uma
identificação única para um determinado item que agrega o código CDU (ver item abaixo) e o
título e nome do autor de forma codificada. Para a atribuição desse código podem ser usadas
as tabelas de Cutter, Cutter-Sanborn e PHA entre outras. No caso da PHA, por exemplo, o
código é formado pela primeira letra do nome do autor, seguida por um código para o
sobrenome (de acordo com a tabela) e a primeira letra do título da obra (Prado, 1992).
Foram adicionados também: campos de referência ao assunto do livro (ver próximo
item); características básicas dos itens com título, autor, número de páginas data de aquisição
etc. e algumas variáveis realimentadas no data_mart por processamento externo (ver item
3.3).
Hierarquia de Assuntos
O principal requisito em relação a essa dimensão é que ela descreva os itens não só
pelos atributos diretos como título, autor, número de páginas etc., mas também com base em
uma estrutura hierarquizada de assunto (ou área do conhecimento) de forma que torne fácil o
relacionamento entre os itens e dos itens com outras dimensões. Para isso foi desenvolvido
um modelo que tirou proveito do sistema de classificação usado pela biblioteca.
Existem vários sistemas de classificação, entre os quais o de Melvil Dewey e o CDU.
Para bibliotecas gerais o sistema de Melvil Dewey é apropriado. Para bibliotecas mais
7
especializadas é interessante o uso do sistema CDU – Código Decimal Universal (Prado,
1992). A biblioteca Karl A. Boedecker utiliza o sistema CDU.
Esses sistemas procuram sistematizar todas as áreas do conhecimento. Trata-se de um
conjunto de códigos estruturados hierarquicamente e partindo de grandes áreas do
conhecimento para o mais particular. As áreas mais gerais em que o conhecimento é dividido,
segundo o CDU, são:
• 0 – Generalidades: o conhecimento, a cultura, a ciência, o saber, a escrita etc.
• 1 – Filosofia. Psicologia.
• 2 – Religião. Teologia.
• 3 – Ciências sociais.
• 4 – Vaga no momento.
• 5 – Ciências matemáticas, físicas e naturais. Ecologia.
• 6 – Ciências aplicadas. Tecnologia.
• 7 – Artes. Divertimento. Lazer. Esportes.
• 8 – Línguas. Lingüística. Filologia. Literatura.
• 9 – Geografia. Biografia. História e ciências auxiliares.
O CDU contém ainda diversos símbolos para classificar as obras segundo lugar,
tempo, língua etc. Ou seja, o CDU se presta a uma classificação mais minuciosa que o sistema
de Dewey.
A grande dificuldade na modelagem dessa dimensão é a definição da hierarquia dos
assuntos conforme o código CDU. Para isso foram definidos um campo para o código CDU,
cinco campos para definir a hierarquia dos assuntos, desde o nível 1 até o 5 e um campo
especial para definir o “assunto significativo” (ver item 3.3). Um item que tem código CDU
igual a “336.781.5”, terá assunto_nivel1 igual a “3”, assunto_nivel2 igual a “33” e assim por
diante.
Com relação à mudança contínua essa dimensão se comporta como a dimensão de
usuários. Só serão retirados itens quando estes forem descartados ou perdidos, de acordo com
a política da biblioteca.
Tempo – dim_time
A dimensão de tempo fornece uma extensa descrição para cada dia do ano e pode ser
rapidamente construída para vários anos. Essa dimensão tem por objetivo fornecer uma série
de informações a respeito da data em que ocorreu uma determinada transação. A manutenção
dessa dimensão envolve apenas acrescentar mais anos quando necessário.
Tipos de transação – dim_tipo_trans
Como a tabela fato representa tanto retiradas como renovações e devoluções, foi
necessária a introdução de uma dimensão de tipo de transação. Essa dimensão foi organizada
de acordo com a hierarquia de comandos do VTLS. O principal requisito em relação a essa
dimensão é que a consulta a um determinado tipo de transação seja imediato, o que pode ser
feito através de uma simples restrição em uma consulta.
Com relação á mudança contínua, essa dimensão será alterada manualmente sempre
que necessário.
Auditoria – dim_audit
A última dimensão acrescentada a esse data mart é a dimensão “audit”, que permite
realizar a auditoria no processamento do data_warehouse.
É gerada uma chave artificial para cada novo registro, correspondente a um
processamento no data mart, além de campos para identificar a data e hora de início do
8
processo em questão, o número de registros processados e o número de registros que
apresentaram problemas.
A tabela fato correspondente ao processamento auditado é identificada por um campo
tipo_carga. Cada tipo de carga é realizado em uma tabela fato diferente.
Com relação à mudança contínua, essa dimensão sempre terá registros adicionados.
Isso ocorre sempre que se der um novo processamento.
3.2.4 Escolha das medidas
Esse data mart não apresenta medidas para a granularidade escolhida para a tabela
fato. Trata-se de uma factless fact table ou tabela fato sem medidas (Kimball, 1998). Foi
acrescentado um campo com valor default de 1 para significar uma ocorrência e facilitar a
soma em consultas.
3.2.5 Resultado final
O Star Schema resultante pode ser visto na Figura 1.
A tabela fato tem cada registro com 5 campos de 4 bytes cada e 1 campo de 1 byte,
totalizando 21 bytes. De acordo com os dados colhidos em nossa amostra, se assumirmos uma
média de 6.000 transações mensais (com alguma folga) teríamos 72.000 transações anuais.
Para um histórico de 5 anos de transações esse data mart demandaria portanto um espaço de
72.000 x 5 x 21 bytes < 8 MB. Normalmente o tamanho das dimensões é desprezado por ser
bem menor que da tabela fato (Kimball, 1996).
Em face da dimensão reduzida, esse data mart pode perfeitamente ser gerenciado em
uma plataforma pequena com resultados satisfatórios.
dim_time
dim_time
time_key
time_key
full_date
full_date
day_of_week
day_of_week
...
...
dim_item
dim_item
item_key
item_key
item_id
item_id
call_number
call_number
...
...
fact_transações
fact_transações
time_key
time_key
dim_patron
dim_patron
item_key
item_key
patron_key
patron_key
patron_id
patron_id
codigo
codigo
...
...
patron_key
patron_key
tipo_trans_key
tipo_trans_key
audit_key
audit_key
ocorrencia
ocorrencia
dim_tipo_trans
dim_tipo_trans
tipo_trans_key
tipo_trans_key
grupo
grupo
acao_grupo
acao_grupo
...
...
dim_audit
dim_audit
audit_key
audit_key
data_carga
data_carga
status_carga
status_carga
...
...
Figura 1. Esquema do data mart de circulação
3.3 AGREGAÇÃO DE VALOR – DATA MINING
Com base nos dados coletados, de acordo com o modelo apresentado, foi conduzido o
estudo apresentado como motivação inicial dessa pesquisa.
O estudo desenvolvido pelo professor Francisco Aranha (manuscrito), realizado com o
uso de técnicas de data mining, propõe um modelo de cooperação indireta como forma de
gerar listas de recomendação de itens para cada pesquisador registrado no sistema. Estas listas
estão baseadas no comportamento de outros pesquisadores semelhantes a ele.
9
O modelo do data mart foi constantemente trabalhado de forma a possibilitar a
execução e comportar os resultados desse estudo, tanto com relação ao modelo conceitual
como à automatização do processo de carga e manutenção do sistema.
O desenvolvimento do modelo de cooperação indireta (e o conseqüente retrabalho no
data mart) segue a linha esquematizada na Figura 2.
dim_item
dim_item
item_key
item_key
...
...
Ass_signif
Ass_signif
...
...
Data Mart
Circulação
Estabelecimento de
assuntos significativos
Processamento
manual e
interativo
Definição dos
grupos temáticos
lookup_ass_signif
lookup_ass_signif
ass_signif
ass_signif
chave_gr_tematico
chave_gr_tematico
descricao
descricao
Stored procedure
segmenta()
Segmentação dos usuários
para cada grupo temático
dim_patron
dim_patron
patron_key
patron_key
patron_id
patron_id
codigo
codigo
...
...
fact_lista
fact_lista
dim_gr_tematicos
dim_gr_tematicos
chave_gr_tematico
chave_gr_tematico
descricao
descricao
n_grupos
n_grupos
...
...
dim_patron
dim_patron
Detalhe_patron
Detalhe_patron
patron_key
patron_key
...
...
rh
rh
metod_socio
metod_socio
marketing
marketing
...
...
patron_key
patron_key
a0
a0
a1
a1
...
...
item_key
item_key
dim_item
dim_item
dim_grupos
dim_grupos
patron_key
patron_key
item_key
item_key
...
...
cluster
cluster
chave_gr_tematico
chave_gr_tematico
a0
a0
...
...
cluster
cluster
dim_grupos
dim_grupos
rank
rank
cluster
cluster
chave_gr_tematico
chave_gr_tematico
a0
a0
a1
a1
...
...
dim_gr_tematicos
dim_gr_tematicos
chave_gr_tematico
chave_gr_tematico
descricao
descricao
n_grupos
n_grupos
...
...
Stored procedure
lista_recom()
Construção de uma lista de
recomendação para cada usuário
em cada grupo temático
Figura 2. Desenvolvimento do modelo de cooperação indireta.
3.3.1 Assuntos significativos
O assunto significativo (AS) é um artifício utilizado para reduzir a cardinalidade dos
assuntos através do tratamento da taxonomia da forma mais conveniente para o problema.
Este procedimento é denominado consolidação (Aranha, manuscrito).
Com isso os itens são agrupados em segmentos significativos em algum nível da
hierarquia de assunto, de acordo com o número de transações associadas. Assim se o assunto
336.78, por exemplo, tiver um número grande de transações, ele será o assunto significativo
para esse item. Senão a hierarquia será diminuída para “336.7”, “336” etc. até que um desses
assuntos seja significativo.
Em relação ao modelo, a definição dos AS foi contemplada através da adição do
atributo ass_signif na dimensão de itens. O estabelecimento dos AS foi realizado
manualmente e esses assuntos não serão modificados em uma base regular, ou seja, a
manutenção será feita esporadicamente.
A automatização desse processo pode ser feita adotando-se um valor mínimo para o
número de transações de um determinado assunto comparado com o total (ou um número
máximo de assuntos significativos) e adicionando-se uma rotina simples no processo de carga
das transações. No entanto foi decidido durante o desenho do sistema que a definição dos AS
seria manual.
10
Ficou definida uma tabela chamada lookup_ass_signif com todos os AS, sua descrição
e uma chave para a dimensão de grupos temáticos. A Tabela 1 mostra cada assunto já
relacionado com um grupo temático de acordo com a fase seguinte do projeto: a definição dos
grupos temáticos (GT).
Tabela 1. Assuntos significativos definidos pela análise.
Ass_signif
659
658.8
34
651
654
62
36
658.5
2
7
8
9
3
330.1
339
330.3
33
30
35
31
32
657
658.6
658.7
61
6
658.0
65
1
658.3
658
331
R
37
0
39
334
68
63
5
336
658.1
Descrição
Publicidade e Propaganda. Relações Públicas.
Marketing. Vendas. Distribuição.
Direito. Jurisprudência.
Escritório.
Telecomunicações e Telecontrole.
Engenharia. Tecnologia em Geral.
Assistência. Previdência. Seguridade Social.
Administração da Produção.
Religião. Teologia.
Arte. Esportes.
Língua. Literatura.
Geografia. Biografia. História.
Ciências Sociais. Direito. Administração
Teoria Econômica. Conceitos de economia.
Comércio Internacional.
Dinâmica Econômica.
Economia.
Metodologia.
Administração Pública. Governo. Assuntos Militares
Demografia. Sociologia.
Política.
Contabilidade.
Comércio.
Administração de Materiais.
Ciências Médicas.
Ciências Aplicadas. Medicina. Tecnologia.
Administração.
Organização e Administração.
Filosofia. Psicologia.
Pessoal. Fator Humano. RH.
Administração de Empresas. Organização
Trabalho. Emprego. Economia do Trabalho.
Referência.
Educação. Ensino.
Generalidades. Ciência e Conhecimento.
Antropologia.
Cooperativismo
Indústria.
Agricultura.
Matemática. Ciências Naturais.
Finanças Públicas.
Finanças.
Grupo temático
Marketing
Marketing
Outros
Outros
Outros
Outros
Outros
Outros
Outros
Outros
Outros
Outros
Outros
Economia
Economia
Economia
Economia
Metodologia/sociologia/pol./adm.publ.
Metodologia/sociologia/pol./adm.publ.
Metodologia/sociologia/pol./adm.publ.
Metodologia/sociologia/pol./adm.publ.
Contabilidade/materiais
Contabilidade/materiais
Contabilidade/materiais
Adm. hospitalar
Adm. hospitalar
Adm. hospitalar
RH
RH
RH
RH
RH
Educação/antropologia
Educação/antropologia
Educação/antropologia
Educação/antropologia
Cooperativa/agricultura
Cooperativa/agricultura
Cooperativa/agricultura
Finanças
Finanças
Finanças
11
3.3.2 Grupos temáticos
Esse passo também é realizado manualmente pois a definição não será alterada em
uma base regular, ou seja, os 10 GT encontrados permanecerão inalterados até que se decida
que devem mudar.
A definição leva em conta um agrupamento dos AS de acordo com uma técnica de
análise de cesta (Aranha, manuscrito). Cada grupo (ou cesta) de AS é um grupo temático. A
análise definiu 10 GT (conforme a Tabela 1) que formaram a dimensão chamada
dim_gr_tematicos.
3.3.3 Segmentação dos usuários
A segmentação dos usuários é feita de forma a se encontrarem grupos de usuários
semelhantes no seu comportamento quanto à retirada de itens com os mesmos assuntos
significativos. O procedimento utilizou um algoritmo de análise de agrupamento (Aranha,
manuscrito).
Como forma de automatizar o processo esse algoritmo foi desenvolvido em uma
stored procedure do SGBD (Sistema Gerenciador de Banco de Dados – Informix™).
O algoritmo é repetido para todos os grupos temáticos. Primeiramente é construída
uma tabela chamada main com todos os usuários do grupo temático corrente e seu perfil de
assuntos. Essa tabela é criada e destruída para cada grupo temático com base na tabela
detalhe_patron. A tabela detalhe_patron constitui um snowflake, ou tabela marginal do data
mart (Kimball, 1998) e serve para caracterizar os usuários com base nos assuntos
significativos já consultados pelos mesmos. Ela é atualizada a cada carga no data mart.
São definidas então “sementes” com valores aleatórios para todos os AS a partir da
tabela main. Cada semente passa a ser um grupo na dimensão dim_grupos (Tabela 2).
Tabela 2. Dim_grupos
Colunas
Cluster
Chave_gr_tematico
a0
a1
...
a9
Ar
N_usuarios
Descrição
Chave única para os grupos
Chave externa para o grupo temático correspondente a esse grupo.
Valor da semente correspondente a esse grupo nessa coordenada
"
...
"
"
Nº de usuários nesse grupo
Aos usuários são então atribuídos grupos de acordo com sua distância em relação às
sementes em um processo iterativo até que o resultado seja estável entre duas iterações, ou
seja, até que os grupos de cada usuário não se alterem.
Com relação ao modelo de dados, a implementação desse agrupamento foi feita pela
inclusão de 10 atributos na dimensão de usuários. Cada um desses campos é uma chave
externa para a dimensão de grupos.
Com isso se torna possível consultar o data mart com base em uma restrição pelo
grupo, ou seja, é possível acessar as transações de certo indivíduo e de outros usuários do
mesmo grupo (ou semelhantes a ele). Essa é a base para a construção das listas de
recomendação, o último passo do processo.
3.3.4 Listas de recomendação
A construção das listas de recomendação envolve na verdade a definição de outra
tabela fato que chamamos fact_lista. Essa tabela fato tem três chaves externas para as
12
dimensões de usuários, itens e grupos; e uma medida chamada rank que corresponde à
relevância da ligação respectiva.
A automatização dessa etapa do processo também foi feita com o uso de uma stored
procedure chamada lista_recom().
Essa stored procedure simplesmente cria uma tabela temporária com todas as
transações que envolvam os grupos do qual participa o usuário em questão e insere na tabela
fact_lista os itens distintos com um contador para os itens mais relevantes – a medida rank.
Para o preenchimento são descartados os itens que o usuário já retirou, de forma que só sejam
recomendados os itens novos para ele.
4 ADEQUAÇÃO TECNOLÓGICA
A adequação tecnológica diz respeito à adoção de uma solução mínima suficiente para
o problema em questão. A conclusão dessa pesquisa é de que o melhor método para garantir
essa adequação é a implementação do sistema por etapas, ou seja, de uma forma progressiva.
Com relação ao modelo dimensional isso significa implementar um data mart de cada
vez, na visão de Kimball, ou implementar o sistema iterativamente, na visão de Inmon. De
qualquer forma essa implementação por etapas garante a possibilidade de conseguir resultados
preliminares satisfatórios com um menor investimento inicial. O processo proposto por
Kimball de implementação de um data mart de cada vez foi testada com sucesso no projeto
piloto.
Com relação à estrutura tecnológica, a implementação por etapas significa a adoção de
uma solução distribuída para o data warehouse. A solução distribuída corresponde à
implantação do sistema em vários servidores em uma rede, de forma que o sistema comece
pequeno e cresça de acordo com a necessidade. Isso torna o custo inicial com hardware e
software bem menor que em uma solução centralizada (Inmom, 1996).
Ainda com relação ao hardware necessário, existe também a possibilidade lançada
pela HP® de adquirir uma máquina com capacity on demand. A máquina é adquirida com um
número reduzido de recursos (de processamento e memória) que podem ser aumentados a
medida em que forem necessários.
Com relação ao back room, ou processo de data stage, a adequação tecnológica pode
significar a adoção de uma solução temporária (desenvolvimento de código, por exemplo) nas
primeiras fases do projeto. Um tipo de solução provisória também foi testada com sucesso no
projeto piloto.
E finalmente, com relação ao front room, pode ser adequado realizar processos
simples de data mining e visualização sem o uso de uma ferramenta definitiva na fase inicial
do projeto. Isso somente será viável se os usuários forem familiarizados com algum tipo de
ferramenta de consulta (como o Access™, cujo uso como ferramenta de front room foi
testado no projeto).
Com relação aos recursos humanos necessários, o mais comum nesses projetos é a
contração de consultoria especializada (outsource). No caso de bibliotecas de escolas, fica a
sugestão do incentivo aos alunos para que desenvolvam pesquisas para implementar os
sistemas.
5 CONCLUSÃO
Nessa pesquisa foram propostos um modelo e uma metodologia de implantação de um
data mart (extensível para um data warehouse) para a circulação do acervo de bibliotecas
genéricas.
13
O projeto piloto, desenvolvido na biblioteca Karl A. Boedecker, conseguiu testar com
sucesso a metodologia proposta, além de ter dado suporte a um estudo de cooperação indireta
com uso de técnicas de data mining.
Também pudemos testar algumas técnicas de implantação desse tipo de tecnologia,
entre elas a implantação de dois data marts relacionados e a realimentação de informações no
data mart a partir de processamento externo.
A pesquisa desenvolveu também abordagens para a adoção de uma solução
“tecnologicamente adequada”, de forma a viabilizar projetos com baixo orçamento. Essas
abordagens têm como enfoque tornar a implantação do sistema progressiva, reduzindo o custo
inicial do projeto e permitindo que ele cresça à medida do necessário.
Essa adequação tecnológica foi também amplamente testada no projeto piloto.
As principais sugestões para a continuação da pesquisa são a integração completa do
sistema desenvolvido com a Internet, além do uso do sistema para outros estudos baseadas em
técnicas de data mining, como análise de redes.
6 REFERÊNCIAS BIBLIOGRÁFICAS
ARANHA, Francisco. E-Service em Bibliotecas: Geração de Valor para Pesquisadores por
Meio de Cooperação Indireta. Texto manuscrito ainda não publicado.
BEAUMONT, Jane. Trends in Library Automation. 1998. Endreço eletrônico:
http://fox.nstn.ca/~jbeaumon/ola98/index.htm, link válido em 15/11/1999
BERRY, Michael. J. A, LINOFF, Gordon. Data Mining Techniques for Marketing Sales and
Customer Support, New York: John Wiley & Sons, 1997
BERSON, Alex, SMITH, Stephen J. Data Warehousing, Data Mining & OLAP, New York:
McGraw-Hill, 1997
CABENA, Peter; et al. Discovering Data Mining. From Concept to Implementation. New
York: Prentice Hall, 1997
DONNARD, Heloisa e BOREGAS, Edmilson. A experiência da biblioteca no processo de
informatização. Documento apresentado no 1º Encontro Nacional de Usuários do VTLS,
realizado na UERJ, Universidade Estadual do Rio de janeiro, RJ, 16 de setembro de 1998
CRESNER, H. Rumors of Data Mining's Demise Are Greatly Exaggerated. Gartner
Research
and
Advisory
Services,
11/11/1998.
Endereço
eletrônico:
http://intranet.gv.br/gartner, link válido em 12/04/2000.
FARIAS, Andréa. A hora e a vez dos data marts. ComputerWorld, 06/04/1998. Endereço
eletrônico: http://www.uol.com.br/computerworld/abre.htm, link válido em 15/04/2000.
GIURLANI, Silvia. O pragmatismo dos negócios. ComputerWorld, 16/08/1999. Endereço
eletrônico: http://www.uol.com.br/computerworld/abre.htm, link válido em 15/04/2000.
GALLAS, Susan. Kimball Vs. Inmon. DM Review. Setembro 1999. Endereço eletrônico:
http://www.dmreview.com, link válido em 15/04/2000.
HARRIS, K. e DRESNER, H. Business Intelligence Meets Knowledge Management.
Gartner Research and Advisory Services, 01/03/1999. Endereço eletrônico:
http://intranet.gv.br/gartner, link válido em 12/04/2000.
14
HERMIZ, Keith B., Ph.D. Critical Success Factors for Data Mining Projects. DM Review,
Fevereiro 1999. Endereço eletrônico: http://www.dmreview.com, link válido em
15/04/2000.
INMON, Willian H. Building the Data Warehouse. 2.ed. New York: John Wiley & Sons,
1996. 401p.
INMON, Willian H. Data Mart Does Not Equal Data Warehouse. DM Review. 01/05/1998.
Endereço eletrônico: http://www.dmreview.com, link válido em 15/04/2000.
KIMBALL, Ralph. The Data Warehouse Toolkit: practical techniques for building
dimensional data warehouses. New York: John Wiley & Sons, 1996. 388p.
KIMBALL, Ralph; et al. The Data Warehouse Lifecycle Toolkit: expert methods for
designing, developing, and deploying data warehouses. New York: John Wiley & Sons,
1998. 771p.
KOHARI, Moiz. Unix, Windows NT and Linux. DM Review. Abril, 2000. Endereço
eletrônico: http://www.dmreview.com, link válido em 15/04/2000.
LUMEK, Roberta, Information Technology and Libraries. Library Management, vol. 5 – n. 3,
1984. MCB University Press.
ORFALI, Robert; et al. Client/Server Survival Guide. 3ª ed. New York: John Wiley & Sons,
1999. 762p.
PEPPERS, Don, ROGERS, Martha. Is your company ready for one-to-one marketing?
Harvard Business Review, January-February 1999, p. 151-163.
PRADO, Heloisa de A. Organização e Administração de Bibliotecas. 2.ed. São Paulo: T.A.
Queiroz, 1992.
RAMOS, Tagil O. Data Warehouse perde espaço para Data Mart nas empresas.
ComputerWorld.
25/05/1998.
Endereço
eletrônico:
http://www.uol.com.br/computerworld/abre.htm, link válido em 15/04/2000.
STRANGE, K. Data Warehouse Enthusiasm Conceals Vendor Turmoil. Gartner Research
and Advisory Services. 03/02/1999. Endereço eletrônico: http://intranet.gv.br/gartner, link
válido em 12/04/2000.
STRANGE, K. Key Issues: Data Warehouse Operations and Manageability. Gartner
Research
and
Advisory
Services.
04/01/1999.
Endereço
eletrônico:
http://intranet.gv.br/gartner, link válido em 12/04/2000.
THOMSEN, Erik. OLAP Solutions: building multidimensional information systems. New
York: John Wiley & Sons, 1997. 576p.
WESTPHAL, Christopher, BLAXTON Teresa. Data Mining Solutions: methods and tools for
solving real-world problems. New York: John Wiley & Sons, 1998. 617p.
15
Download

Implantação de Tecnologia de Data Warehouse em