PEDRO SENA TANAKA IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODO DE ACESSO PARA INDEXAÇÃO DE DADOS ESPAÇO-TEMPORAIS NO POSTGRESQL



Documentos relacionados
Primitivas de funções analíticas para suporte à análise de dados comerciais

Módulo 4. Construindo uma solução OLAP

Interatividade aliada a Análise de Negócios

A Grande Importância da Mineração de Dados nas Organizações

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Tópicos Avançados Business Intelligence. Banco de Dados Prof. Otacílio José Pereira. Unidade 10 Tópicos Avançados Business Inteligence.

Data Warehousing. Leonardo da Silva Leandro. CIn.ufpe.br

Palavras-chave: On-line Analytical Processing, Data Warehouse, Web mining.

DATA WAREHOUSE. Rafael Ervin Hass Raphael Laércio Zago

Chapter 3. Análise de Negócios e Visualização de Dados


Sistemas de Informação CEA460 - Gestão da Informação

Persistência e Banco de Dados em Jogos Digitais

Gerenciamento de Dados e Gestão do Conhecimento

Uma análise de ferramentas de modelagem e gerência de metadados aplicadas ao projeto de BI/DW-UFBA

Professor: Disciplina:

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Conceitos de Banco de Dados

DATA WAREHOUSE. Introdução

Adriano Maranhão BUSINESS INTELLIGENCE (BI),

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Documento de Análise e Projeto VideoSystem

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Modelo de dados do Data Warehouse

Microsoft Access XP Módulo Um

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Material de Apoio. Sistema de Informação Gerencial (SIG)

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

Inteligência Empresarial. BI Business Intelligence. Business Intelligence 22/2/2011. Prof. Luiz A. Nascimento

AGILE ROLAP - UMA METODOLOGIA ÁGIL PARA IMPLEMENTAÇÃO DE AMBIENTES DE NEGÓCIOS BASEADO EM SERVIDORES OLAP.

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Data Warehouse. Diogo Matos da Silva 1. Universidade Federal de Ouro Preto, Ouro Preto, MG, Brasil. Banco de Dados II

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

ADM041 / EPR806 Sistemas de Informação

Uma análise multidimensional dos dados estratégicos da empresa usando o recurso OLAP do Microsoft Excel

Uma estrutura (framework) para o Business Intelligence (BI)

Banco de Dados - Senado

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

AULA 6 - Operações Espaciais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

AULA 1 Iniciando o uso do TerraView

Disciplina de Banco de Dados Introdução

Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de

4 Implementação e Resultados Experimentais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Usando o Arena em Simulação

Especificação do 3º Trabalho

Oracle Hyperion Essbase

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Análise de custo projetado da plataforma SAP HANA

Prof. JUBRAN. Aula 1 - Conceitos Básicos de Sistemas de Informação

Sistemas Operacionais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Dadas a base e a altura de um triangulo, determinar sua área.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Como melhorar a tomada de decisão. slide 1

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

Introdução à Banco de Dados. Definição

Estratégia de execução de consultas em um Sistema de Gerenciamento de Banco de Dados Geográfico

Data Warehouse. Compras. Caroline B. Perlin

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Cinco principais qualidades dos melhores professores de Escolas de Negócios

Arquitetura física de um Data Warehouse

ISO/IEC 12207: Gerência de Configuração

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

5 A Usabilidade das Estatísticas Públicas

Sistemas de Informação Gerenciais (SIG)

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

1. NÍVEL CONVENCIONAL DE MÁQUINA

**Docentes do Centro Universitário Filadélfia- Unifil.

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Sistemas de Informação I

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

Revisão de Banco de Dados

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Desenvolvimento de uma Etapa

Arquitetura de Banco de Dados

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

Noções de. Microsoft SQL Server. Microsoft SQL Server

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Feature-Driven Development

Implantação. Prof. Eduardo H. S. Oliveira

Algoritmos e Estrutura de Dados III. Árvores

Disciplina: Introdução à Informática Profª Érica Barcelos

Transcrição:

PEDRO SENA TANAKA IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODO DE ACESSO PARA INDEXAÇÃO DE DADOS ESPAÇO-TEMPORAIS NO POSTGRESQL LONDRINA PR 2013

PEDRO SENA TANAKA IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODO DE ACESSO PARA INDEXAÇÃO DE DADOS ESPAÇO-TEMPORAIS NO POSTGRESQL Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação Orientador: Prof. Dr. Daniel Dos Santos Kaster LONDRINA PR 2013

Pedro Sena Tanaka Implementação de extensão de método de acesso para indexação de dados espaço-temporais no PostgreSQL/ Pedro Sena Tanaka. Londrina PR, 2013-44 p. : il. (algumas color.) ; 30 cm. Orientador: Prof. Dr. Daniel Dos Santos Kaster Universidade Estadual de Londrina, 2013. 1. OLAP. 2. rtree. 3. índice. 4. métodos acesso. 5. indexação. 6. postgres. 7. postgresql. I. Daniel Dos Santos Kaster. II. Universidade Estadual De Londrina. IV. Implementação de extensão de método de acesso para indexação de dados espaço-temporais no PostgreSQL CDU 02:141:005.7

PEDRO SENA TANAKA IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODO DE ACESSO PARA INDEXAÇÃO DE DADOS ESPAÇO-TEMPORAIS NO POSTGRESQL Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação BANCA EXAMINADORA Prof. Dr. Daniel Dos Santos Kaster Universidade Estadual de Londrina Orientador Londrina PR, 24 de novembrode 2013 LONDRINA PR 2013

Deus. Pai, tias, mãe. AGRADECIMENTOS

I am enough of an artist to draw freely upon my imagination. Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. (Albert Einstein)

TANAKA, P. S.. Implementação de extensão de método de acesso para indexação de dados espaço-temporais no PostgreSQL. 44 p. Trabalho de Conclusão de Curso (Graduação). Bacharelado em Ciência da Computação Universidade Estadual de Londrina, 2013. RESUMO Resumo aqui! Palavras-chave: OLAP. rtree. índice. métodos acesso. indexação. postgres. postgresql.

TANAKA, P. S.. Indexing spatio-temporal data with an access method extension implementation to PostgreSQL. 44 p. Final Project (Undergraduation). Bachelor of Science in Computer Science State University of Londrina, 2013. ABSTRACT Abstract Here. Keywords: OLAP. rtree. index. access method. indexing. postgres. postgresql.

LISTA DE ILUSTRAÇÕES Figura 1 Exemplo de cubo OLAP........................... 28 Figura 2 Exemplo de esquema estrela........................ 28 Figura 3 Exemplo de um banco de dados...................... 35 Figura 4 Exemplo de consulta utilizando retângulo................ 37

LISTA DE TABELAS

LISTA DE ABREVIATURAS E SIGLAS SGBD OLAP SAM MBR RC Sistema Gerenciador de Banco de Dados OnLine Analitycal Processing Método de acesso espacial Minimum Bouding Rectangle Região de consulta

LISTA DE SÍMBOLOS Operação de Junção Produto cartesiano

SUMÁRIO Introdução..................................... 23 1 Conceitos fundamentais........................... 25 1.1 Marketing................................... 25 1.2 Geomarketing................................. 25 1.3 Processamento analítico em sistemas gerenciadores de banco de dados.. 26 1.3.1 OLAP................................. 27 1.4 PostgreSQL.................................. 29 1.4.1 PostgreSQL e Processamento Geo-espacial com PostGIS..... 29 1.4.2 PostgreSQL e OLAP Espacial.................... 31 1.5 Métodos de acesso e indexação em banco de dados............. 31 1.5.1 R-tree................................. 31 1.5.1.1 Estrutura.......................... 31 2 Revisão da literatura............................. 33 2.1 Papadias et al................................. 33 2.2 Pedersen et al.................................. 33 2.3 PostGIS.................................... 34 3 Proposta de implementação......................... 35 3.1 Indexar os dados geográficos (construção da R-tree)............ 35 3.2 Inserindo referências da R-tree no PostgreSQL............... 36 3.3 Consultando os dados geográficos...................... 36 4 Resultados................................... 39 Referências..................................... 43

23 INTRODUÇÃO A utilização de data warehousing em conjunto com OLAP se tornou muito comum, uma vez que a acumulação de grande massas de dados nos sistemas de banco tradicionais tem se tornado uma realidade comum. Devido a esse tipo de situação muitos estudos vem sido desenvolvidos em data warehouses espaço-temporais nos últimos anos. Os estudos desenvolvidos se focam área de métodos de acesso e construções de índices para a otimização de consultas em bancos com este caráter de dados[1]. Outros ainda utilizam tabelas para guardar resultados de operações realizadas previamente de agregação sobre os dados espaciais e guardam estes em tabelas separadas dos dados comuns[2]. Neste contexto este trabalho propõe uma estratégia de armazenamento de dados espaço-temporais através de uma estrutura de dado conhecida, R-Tree, com o auxílio do banco de dados, ou seja uma estratégia híbrida composta pelos trabalhos mais conhecidos na área. No capítulo 1 serão apresentados os fundamentos/conceitos teóricos necessários ao melhor entendimento deste trabalho, o capítulo 2 traz os artigos e trabalhos que ou serviram como base para este trabalho ou que resolveram problemas semelhantes ao problema discutido neste trabalho, no capítulo 3 são apresentados os passos e processos pelo qual a solução proposta passou para ser construída, por fim no capítulo 4 são apresentados os resultados obtidos através da implementação da solução proposta neste trabalho.

25 1 CONCEITOS FUNDAMENTAIS 1.1 MARKETING O marketing é muito difundido hoje e teve seus primeiros passos no início do século XX quando vieram à tona os seus primeiros conceitos básicos. Ainda no seu começo, a noção de marketing se difundia, aproveitando o pensamento orientado a produção que era dominante nesta mesma década [3]. Em meados de 1960 seus conceitos fundamentais já haviam sido muito discutidos e passavam por revisões sob a luz de princípios mais sociais como o gerencialismo, que é a ideia que as sociedades são equivalentes a soma das transações feitas pela gerência de uma certa organização [3]. Hoje o marketing se tornou uma ferramenta praticamente obrigatória nas empresas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos profissionais de marketing está a assessoria de marketing, a qual ajuda as empresas a escoar de forma mais fácil sua produção, ainda que o papel do profissional da área de marketing não seja só esse [4]. O marketing tem como propósito e base o gerenciamento de logística das organizações. Para tanto, necessita de informações sobre o escoamento da produção ou da distribuição de consumo do produto/serviço da organização ao longo do tempo [4]. O gerenciamento de logística envolve várias decisões, tais como obtenções/compras, programação de produtos e sistemas de informação [4]. Decisões desse tipo se tornam mais fáceis de se tomar quando se tem algum tipo de dado geográfico associado aos dados de vendas da organização, pois isso permite realizar análises sensíveis à localização dos clientes por meio de visualização cartográfica dos dados, por exemplo, usando mapas. Por exemplo, há vários trabalhos na literatura que utilizam dados geográficos para definir onde estabelecer a localização de um novo ponto de venda, ou de um novo escritório [5, 6, 7]. Essa prática se tornou tão comum que com o passar do tempo o marketing tradicional se segmentou de forma a criar o marketing espacial ou geomarketing, o qual se utiliza de dados geográficos para fazer as pesquisas de marketing e é discutido na próxima seção. 1.2 GEOMARKETING O Geomarketing pode ser definido como uma coleção de técnicas que possibilitam a manipulação de dados georreferenciados em tarefas de marketing e está muito mais próximo do processo de análise do que de concepção de estratégias [7]. Dentre as áreas em que técnicas de geomarketing têm sido aplicadas, pode-se citar:

26 Capítulo 1. Conceitos fundamentais Comportamento da clientela; Escolha de local para unidades de varejo; Gerenciamento de ações de marketing; Este trabalho abordará as áreas de comportamento de clientes e de gerenciamento de marketing, excluindo a área de escolha de locais. Para facilitar a análise é desejável que se sumarize os dados por tempo em relação ao atributo espacial, que vai do macro ao micro (país, estado, cidade, bairro ou setor, coordenada geográfica), ou vice-versa [7]. Aliado aos dados provenientes da organização que faz a pesquisa de marketing estão os dados sócio-demográficos que ajudam a entender de forma mais fácil o comportamento de clientes. Mesmo depois de os dados terem sido coletados e devidamente georreferenciados, o labor envolvido em análises manuais é muito maior se comparado a análises com o suporte de um software como ferramenta de automação e visualização de dados [8]. Entre este softwares auxiliares estão os softwares categorizados como Sistemas de Informação Geográfica (SIG), que contam com interfaces onde são mostrados mapas e recursos para tratamento e análise de dados georreferenciados [9]. Estes sistemas são de grande importância em geomarketing, para gerenciar bases de dados sócio-demográficos georreferenciados e construir mapas com diferentes camadas de visualização [7]. Para gerenciar todos estes dados os softwares contam com sistemas gerenciadores de banco de dados que realizam tarefas complexas de sumarização e filtragem de dados. Estas tarefas são realizadas por funções chamadas analíticas que processam os dados e os classificam por tempo ou por alguma outra dimensão escolhida [10, 11]. 1.3 PROCESSAMENTO ANALÍTICO EM SISTEMAS GEREN- CIADORES DE BANCO DE DADOS Organizações tendem a acumular uma massa de dados muito grande durante a sua existência. Estes dados variam de acordo com a natureza da organização. Podem ser provenientes de pesquisas, cadastros de clientes ou registros de entradas e saídas (controle comercial). À medida que o volume de dados cresce, aumenta o tempo e o custo do processo de análise, demandando mais recursos [12, 8]. Para melhorar esta situação é que surgiu, em meados de 1994, a noção de processamento analítico online (OnLine Analytical Processing OLAP) [10].

1.3. Processamento analítico em sistemas gerenciadores de banco de dados 27 1.3.1 OLAP Segundo [13], OnLine Analytical Processing é uma abordagem para responder a consultas que são naturalmente multidimensionais de forma mais rápida e que engloba conceitos de data warehousing como ETL (Extract, Transform and Load extração, transformação e carga de dados) além de relatórios relacionais e mineração de dados. Ainda segundo [13], OLAP pode ser definido como Análise Rápida de Informação Multidimensional Distribuída devido ao funcionamento das consultas OLAP, uma vez que estas consultas são rápidas, pois elas não devem demorar mais que 5 segundos. Outra característica é que são consultas de análise, pois tem como objetivo cooperar com os sistemas que as usam para apresentar somente dados de análise estatística que são fáceis o suficiente para o usuário final entender. E como caráter final as consultas são distribuídas, pois implementa todos os requerimentos de segurança e de trava de acesso. Uma consulta OLAP gera um snapshot, de um conjunto de dados do banco e o sistema usa este snapshot para gerar um cubo de dados multidimensional, chamado de cubo OLAP. As consultas então são executadas sobre este cubo. Há uma infinidade de consultas que podem ser realizadas, mas elas se dividem em categorias que incluem as seguintes. Consultas de fatiamento (slice/dice) São consultas que reduzem o cubo considerando somente uma parte dele. Consultas de detalhamento/generalização (roll-up/drill-down) São consultas que usam uma dimensão para agregar os dados. Consultas de detalhamento combinado Usam cubos que tem uma ou mais dimensões em comum. Em termos de bancos de dados relacionais, este tipo de consulta faz uma junção ( ). Consultas de classificação São consultas que retornam um limiar superior ou inferior do conjunto de dados. Consultas utilizando rotação São consultas que provêm uma visão alternativa dos dados, rotacionando o cubo com base em alguma dimensão. As operações básicas supracitadas podem ser combinadas, por exemplo, pode-se combinar uma operação de roll-up com uma de drill-down [14, 15]. A Figura 1 mostra um cubo formado por dados de faturamento de lojas no decorrer do tempo e a consulta indicada ( Para as lojas qual foi o faturamento durante uma faixa do tempo ) é representada na figura pelo plano F aturamento Lojas no instante de tempo t escolhido. Uma das formas mais comuns para se definir um cubo OLAP é o esquema estrela, onde as tabelas que estão na periferia do esquema são as tabelas de dimensões e guardam

28 Capítulo 1. Conceitos fundamentais Figura 1 Exemplo de cubo OLAP. os dados que ajudam a definir como os dados podem ser agregados. No centro fica a tabela de fatos que guarda os dados que são o alvo da análise [13, 15]. A figura 2 mostra o esquema estrela para o cubo da figura 1. É possível ver que os dados de todos os níveis são guardados em uma dimensão como o nome das lojas e a localização das mesmas. Figura 2 Exemplo de esquema estrela. A abordagem de OLAP pode ser feita de duas formas distintas, sendo elas: rela-

1.4. PostgreSQL 29 cional e puramente multidimensional. Partindo pela prática multidimensional, os dados são armazenados em bancos puramente multidimensionais, ou seja banco de dados que já tem seus dados inseridos respeitando as dimensões de tempo, ou espaço, etc. Nestes, não é necessário modificações para se aplicar técnicas OLAP, porém é mais difícil de se encontrar aplicações que tem sua base de dados armazenada somente em bancos multidimensionais se comparado a quantidade de aplicações que utilizam bancos relacionais. O funcionamento de OLAP em bancos relacionais segue o mesmo princípio já apresentado nesta subseção, porém nestes tipos de banco de dados é necessário fazer alterações em algumas estruturas de armazenamento e por vezes criar novas relações para guardar dados do cubo de dados [14, 10, 13]. 1.4 POSTGRESQL O PostgreSQL se destaca dentre os sistemas gerenciadores de banco de dados de código aberto, sendo considerado até como o melhor SGBD de código aberto disponível [16]. O PostgreSQL tem origem do projeto Ingres que foi desenvolvido por várias pessoas, dentre elas um grupo de pesquisadores da UC Berkeley. E tem Michael Stonebreaker como um dos seus principais desenvolvedores, sendo considerado inclusive como o pai do mesmo [16]. Em meados de 1986 Michael liderou um time de desenvolvedores, levandoos a programar um SGBD que recebeu o nome de Postgres. Mais tarde dois alunos de Berkeley adicionaram funcionalidades SQL ao Postgres e então o chamaram de Postgres95 [17]. Porém o PostgreSQL não se limita a um SGBD comum, ele é um SGBD Objetorelacional, o que confere a ele a capacidade de armazenar dados mais complexos em suas colunas relacionais, além de permitir a criação de novos tipos de dados, funções e operadores definidos pelo seu usuário [16]. 1.4.1 PostgreSQL e Processamento Geo-espacial com PostGIS A combinação da característica de extensibilidade e facilidade do PostgreSQL e o fato de ser um software mantido por comunidade gera uma quantidade de contribuições elevadas e entre elas estão funções de agregação novas, funcionalidades novas como a materialização de visões (ainda em desenvolvimento) entre outras. Dentre estas contribuições, uma que é importante no tocante de processamento de dados espaciais é a extensão geográfica do PostgreSQL, chamada de PostGIS. O PostGIS possui capacidade de lidar com dados geográficos de vários tipos entre eles, os mais importantes são:

30 Capítulo 1. Conceitos fundamentais Ponto Modela uma localização no plano ou no globo. O PostGIS ainda oferece suporte a pontos em sistemas de coordenadas de 3 ou mais dimensões. Polilinha Modela uma série de pontos, podendo representar desde uma trajetória até uma rua ou avenida. Polígono Modela uma região fechada, podendo representar a área de uma cidade, cobertura de sinal de célula de comunicação móvel, etc. Com base nestes dados e através das funções espaciais definidas no PostGIS é possível executar consultas com dados agregados levando em conta a componente geográfica. Um exemplo de consulta seria a consulta para responder a uma pergunta do tipo: Quais são as cidades que mais possuem estações de metrô no estado de São Paulo? Se as cidades fossem representadas por polígonos devidamente inseridos no PostGIS e as estações fossem representadas por pontos uma consulta que responderia a pergunta seria a seguinte: SELECT csp.cidade, SUM(esp.id_estacao) FROM cidades_sp csp JOIN estacoes_sp esp ON ST_Contains(csp.cidade_area, esp.estacao_localizacao) GROUP BY cidade; onde cidades_sp e estacoes_sp são tabelas no banco de dados do PostgreSQL representando as cidades e as estações de metro no estado de São Paulo, respectivamente; Os atributos cidade_area e estacao_localizacao são objetos do PostGIS sendo cidade_area um objeto do tipo polígono e estacao_localizacao um objeto do tipo ponto. Nesta consulta é feita uma junção chamada espacial, ou seja, onde a condição de junção é a resposta de uma relação espaciais entre dois tipos de dados geográficos. Neste caso a condição de junção é a relação espacial de contenção. Este é apenas um exemplo de uso do PostGIS, porém as aplicações deste tipo de funções geográficas e dos objetos contidos nesta extensão são muito grandes [16]. Integrado a sistemas de Business Intelligence é possível agregar dados não espaciais em função de hierarquias de geográficas para se obter relatórios detalhados de cidades, estados e regiões de interesse utilizando a gama de funções de processamento e de relação geográfico.

1.5. Métodos de acesso e indexação em banco de dados 31 1.4.2 PostgreSQL e OLAP Espacial Segundo [18] OLAP espacial ou ainda SOLAP é uma plataforma visual especialmente construída para permitir a análise espaço-temporal rápida e fácil além da exploração de dados seguindo uma abordagem multidimensional composta por agregação de níveis disponíveis em dispositivos de exibição cartográfica assim como em diagramas e tabelas. Para prover tal capacidade de processamento de dados espaço-temporais é necessário ter um bom sistema para fazer a gerência de dados, para este papel alguns sistemas que se auto-intitulam como SOLAP utilizam a combinação do PostGIS com o PostgreSQL que apresenta uma performance razoável, sendo utilizado até em sistemas comerciais. Um exemplo da aplicação desta combinação, PostGIS + PostgreSQL, é a aplicação desenvolvida por Bédard [19] onde ele propõe uma ferramenta da SOLAP e business intelligence construída a partir de ferramentas de código aberto e/ou livres. Na aplicação os pesquisadores utilizam a combinação das duas ferramentas para servir como a camada de data warehousing e esta se comunica com os outros componentes como a camada de visualização dos resultados. Outro exemplo de uso do PostGIS como base para SOLAP é o trabalho de Siqueira [20], onde o mesmo investiga o impacto de redundância de dados espaciais no tempo de resposta de consultas OLAP. Neste trabalho ele utiliza o PostGIS como repositório de dados e realiza testes para fim de simulação na ferramenta. 1.5 MÉTODOS DE ACESSO E INDEXAÇÃO EM BANCO DE DADOS 1.5.1 R-tree O método de indexação R-Tree é o método de acesso espacial (SAM) mais importante entre os que aplicam o conceito de MBR (Minimum Bounding Rectangle, ou retângulo de limite mínimo). Consiste basicamente de um SAM que faz decomposição espacial irregular recursiva, organizada em diretórios hierárquicos [21]. 1.5.1.1 Estrutura A R-Tree é uma árvore balanceada em função da altura, sendo que as folhas contém ponteiros para os atributos não espaciais dos objetos. Os nós correspondem a páginas de disco, com as seguintes características: cada folha contém entradas do tipo (I, Tid), em que Tid se refere (pode ser um

32 Capítulo 1. Conceitos fundamentais ponteiro) a uma tupla na base de dados, contendo os atributos não espaciais do objeto. E I corresponde ao MBR deste objeto; cada nó interno contém entradas do tipo (I, Cid), em que Cid é um ponteiro para algum filho. Ao passo que I corresponde ao MBR que cobre todas as regiões descritas pelos MBR dos nós inferiores;

33 2 REVISÃO DA LITERATURA Embora os avanços na tecnologia envolvendo consultas OLAP tenham ajudado a construir sistemas de suporte a decisão eficientes, a integração de dados georreferenciados em data warehouse para permitir consultas do tipo SOLAP só apareceu como tópico de pesquisa ativo recentemente. Nas seções seguintes são discutidas pesquisas que se assemelham com a proposta deste trabalho e que contribuíram para a área de otimização de consultas SOLAP. 2.1 PAPADIAS ET AL. Em [1] são descritos vários métodos de acesso para indexação de dados espaçotemporais utilizando combinação de vários tipos de estruturas, por vezes combinadas. O exemplo mais relevante para o trabalho é o método denominado arb-tree onde o autor combina conceitos da R-tree com a B-tree da seguinte forma: as regiões que constituem uma hierarquia especial são guardadas apenas uma vez e indexadas usando a R-tree. Para cada entrada da R-tree (incluindo os níveis intermediários), existem um ponteiro para um nó de uma B-tree que guarda dados pré-agregados sobre aquela entrada. Usando este tipo de abordagem o autor tentava provar que as estruturas propostas no framework dele poderiam substituir a construção de cubos para a resposta de consultas OLAP, uma vez que os métodos de acesso criado por ele tinham complexidade temporal e espacial menor do que as dos métodos tradicionais para montagem de cubos. 2.2 PEDERSEN ET AL. Em [22] é apresentada uma técnica para a pré-agregação de dados georreferenciados onde o autor considera o artigo a ser o primeiro a tratar sobre pré-agregação de dados espaciais, além de tratar problemas de sobreposição parcial de áreas para a pré-agregação de dados espacias. Na técnica o autor calcula os dados derivados sobre cada área do conjunto de dados, o da seguinte forma: Cálculo das partes disjuntas Para alcançar resultados corretos na pré-agregação, separase as áreas que tem sobreposição parcial e se calcula os dados agregados das disjuntas. Organização das hierarquias espacias Para reaproveitar os resultados de agregações feitas se estabelece a relação entre áreas, onde as áreas que contêm outras regiões

34 Capítulo 2. Revisão da literatura são colocadas em um nível acima destas. Pré-agregação Com as áreas separadas é possível calcular as agregações de cada uma delas e assim responder as consultas reaproveitando os resultados das agregações em níveis mais baixos. 2.3 POSTGIS Como já explicado na seção 1.4.1 do capítulo 1 o PostGIS é uma extensão geográfica e pela sua própria natureza consegue responder todo tipo de consulta geográfica de forma razoavelmente rápida para uma massa de dados de por exemplo 2 milhões de objetos espaciais com dados comuns associados a eles [16]. Para alcançar tal velocidade na resposta de consultas o PostGIS utiliza os índices disponibilizados pelo PostgreSQL para realizar as mesmas. O PostgreSQL possui uma gama grande de índices, porém o recomendado pelo PostGIS é o índice do tipo GiST (Árvore de busca generalizada), pois são índices que se comportam bem para quase todo tipo de dado e ainda implementa o índice com uma R-tree que tem ótimo desempenho para consultas espaciais.

35 3 PROPOSTA DE IMPLEMENTAÇÃO A indexação de dados espaciais não é simples e precisa ser tratada de forma diferenciada, por isso para alcançar resultados satisfatórios este trabalho propõe uma abordagem diferente das discutidas em outros artigos. Em [1] é proposto um novo método de acesso chamado arb-tree que é uma R-tree modificada para guardar resultados de agregações sobre regiões espaciais usada em conjunto com uma B-tree. Já em [2] é proposto um método de pré-agregação onde os dados calculados são guardados em visões materializadas, separando os dados espaciais dos não espaciais. Este trabalho propõe uma solução híbrida para o aumento de performance de consultas geográficas no SGBD PostgreSQL. A solução tem como estratégia indexar os objetos geográficos em uma R-tree e guardar os resultados das agregações nas tabelas do banco de dados. Os passos mais detalhados da solução são apresentados nas seções a seguir. 3.1 INDEXAR OS DADOS GEOGRÁFICOS (CONSTRUÇÃO DA R-TREE) A primeira etapa é a indexação dos dados geográficos da base de dados usando a R-tree. Na fig. 3 é apresentado a estrutura de um banco, através de um diagrama Entidade Relacionamento que irá servir de exemplo e será citado durante este capítulo. Figura 3 Exemplo de um banco de dados. Tomando esta base de dados como exemplo poderíamos indexar o campo localizao da relação clientes usando a R-tree. Depois de ter a estrutura da R-tree completa com os dados indexados o próximo passo é a inserção das informações não geográficas nas visões (tabelas) do SGBD PostgreSQL.

36 Capítulo 3. Proposta de implementação 3.2 INSERINDO REFERÊNCIAS DA R-TREE NO POSTGRESQL Depois de indexar os dados usando a R-tree, deve-se percorrer as folhas da estrutura para realizar a pré-agregação dos dados de acordo com o desejado, ou seja, selecionando os atributos os quais são interessantes para análise e portanto devem ser calculados com antecedência. Depois de calculado os valores agregados para cada elemento dos nós folhas é guardado a soma dos valores agregados para aquele nó e assim recursivamente. Para exemplificar, na figura 4 os elementos P 8...P 21 teriam seus valores de interesse somados e guardados em seus respectivos nós pais, por exemplo, o valor da soma dos elementos de P 8...P 10 seriam guardados no nó de id 4. 3.3 CONSULTANDO OS DADOS GEOGRÁFICOS Depois de construída toda estrutura é possível realizar consultas passando como parâmetro uma região de filtro, ou região de consulta(rc). Usando a R-tree filtra-se os nós contidos propriamente na RC, se o nó num nível mais acima tem um MBR que não está propriamente contido na região de consulta deve-se aprofundar no nível da árvore até chegar na situação onde o MBR do nó está contido na RC. A situação é exemplificada na figura 4. Neste caso, para esta RC os id de nós retornados seriam os ID s R5eR7.

3.3. Consultando os dados geográficos 37 R1 R3 R4 P9 P11 R5 P14 RC P8 P10 R2 R7 P19 P15 P13 P21 P12 P20 R6 P16 R1 R2 1 2 3 R3 R4 R5 R6 R7 4 5 6 7 8 P8 P9 P10 P11 P12 P13 P14 P16 P17 P18 P19 P20 P21 Figura 4 Exemplo de consulta utilizando retângulo

39 4 RESULTADOS É preciso implementar a modificação da R-tree já implementada em [23] para então medir a performance do método discutido neste trabalho, mas espera-se que a técnica de busca empregada seja mais eficiente por não pesquisar nos nós folhas da estrutura sempre.

CONCLUSÃO 41

43 REFERÊNCIAS 1 PAPADIAS, D.; TAO, Y. Indexing spatio-temporal data warehouses. Data Engineering, 2002, 2002. 2 ZHANG, L. et al. An approach to enabling spatial OLAP by aggregating on spatial hierarchy. Data Warehousing and..., 2003. 3 JONES, D.; SHAW, E. A history of marketing thought. Handbook of marketing, 2002. 4 PERREAULT, W.; MCCARTHY, E. Basic marketing: a global-managerial approach. 1996. 5 WOOD, S.; BROWNE, S. Convenience store location planning and forecasting a practical research agenda. International Journal of Retail & Distribution Management, v. 35, n. 4, p. 233 255, 2007. ISSN 0959-0552. 6 BENOIT, D.; CLARKE, G. Assessing GIS for retail location planning. Journal of Retailing and Consumer Services, v. 4, n. 4, p. 239 258, out. 1997. ISSN 09696989. 7 CLIQUET, G. Geomarketing: Methods and strategies in spatial marketing. [S.l.]: iste, 2013. ISBN 9781905209071. 8 LILIEN, G. L.; RANGASWAMY, A. Marketing Engineering: Computer-assisted Marketing Analysis and Planning. [S.l.]: DecisionPro, 2004. ISBN 1412022525. 9 ESRI. GIS and Business Intelligence. 2006. 10 THOMSEN, E. OLAP solutions: building multidimensional information systems. 2nd. ed. [S.l.]: John Wiley & Sons, 2002. ISBN 0471266256. 11 PAPADIAS, D. et al. Efficient OLAP operations in spatial data warehouses.... Spatial and Temporal Databases, 2001. 12 BERRY, M.; LINOFF, G. Data mining techniques. 2nd. ed. [S.l.]: WILEY, 2004. 473 511 p. ISBN 0471470643. 13 PAREEK, D. Business Intelligence for Telecommunications. [S.l.]: CRC Press, 2006. 76 77 p. ISBN 0849387914. 14 JENSEN, T. B. P. C. S. Multidimensional Database Technology. 2001. 15 VASSILIADIS, P. Modeling multidimensional databases, cubes and cube operations. Scientific and Statistical Database Management,..., 1998. 16 OBE, R.; HSU, L. PostGIS in action. [s.n.], 2011. Disponível em: <http://dl.acm-.org/citation.cfm?id=2018871>. 17 MOMJIAN, B. PostgreSQL: introduction and concepts. 2001.

44 Referências 18 RIVEST, S.; BéDARD, Y. SOLAP: a new type of user interface to support spatio-temporal multidimensional data exploration and analysis. Proceedings of the..., 2003. Disponível em: <http://yvanbedard.scg.ulaval.ca/wp-content/documents- /publications/344.pdf>. 19 DUBé, E.; BADARD, T.; BéDARD, Y. Building Geospatial Business Intelligence Solutions with Free and Open Source Components. 2007. Disponível em: <http:/- /yvanbedard.scg.ulaval.ca/wp-content/documents/slideshow/publication/613.pdf>. 20 SIQUEIRA, T.; CIFERRI, C. The impact of spatial data redundancy on SOLAP query performance. Journal of the Brazilian..., 2009. 21 GUTTMAN, A. R-trees: A dynamic index structure for spatial searching. 1984. Disponível em: <http://dl.acm.org/citation.cfm?id=602266>. 22 PEDERSEN, T.; TRYFONA, N. Pre-aggregation in spatial data warehouses. Advances in Spatial and Temporal Databases, 2001. 23 JR., C. T. F. J. T. C. M. R. V. A. S. A. Arboretum GBDI Libs. 2002. Disponível em: <http://www.gbdi.icmc.usp.br/old/arboretum/>.