implementaÇÃodeextensÃodemÉtodo ... · sas, independentemente do ramo em que elas atuam, devido...

46
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

Upload: trannga

Post on 10-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

PEDRO SENA TANAKA

IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODODE ACESSO PARA INDEXAÇÃO DE DADOS

ESPAÇO-TEMPORAIS NO POSTGRESQL

LONDRINA–PR

2013

Page 2: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 3: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

PEDRO SENA TANAKA

IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODODE ACESSO PARA INDEXAÇÃO DE DADOS

ESPAÇO-TEMPORAIS NO POSTGRESQL

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação

Orientador: Prof. Dr. Daniel Dos Santos Kas-ter

LONDRINA–PR

2013

Page 4: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

Pedro Sena TanakaImplementaçã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 dadosespaço-temporais no PostgreSQL

CDU 02:141:005.7

Page 5: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

PEDRO SENA TANAKA

IMPLEMENTAÇÃO DE EXTENSÃO DE MÉTODODE ACESSO PARA INDEXAÇÃO DE DADOS

ESPAÇO-TEMPORAIS NO POSTGRESQL

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação

BANCA EXAMINADORA

Prof. Dr. Daniel Dos Santos KasterUniversidade Estadual de Londrina

Orientador

Londrina–PR, 24 de novembrode 2013

LONDRINA–PR2013

Page 6: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 7: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

AGRADECIMENTOS

Deus. Pai, tias, mãe.

Page 8: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 9: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

“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)

Page 10: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 11: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

TANAKA, P. S.. Implementação de extensão de método de acesso paraindexação de dados espaço-temporais no PostgreSQL. 44 p. Trabalhode 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.

Page 12: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 13: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

TANAKA, P. S.. Indexing spatio-temporal data with an access methodextension implementation to PostgreSQL. 44 p. Final Project (Under-graduation). Bachelor of Science in Computer Science – State University ofLondrina, 2013.

ABSTRACT

Abstract Here.

Keywords: OLAP. rtree. index. access method. indexing. postgres. postgresql.

Page 14: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 15: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

LISTA DE ILUSTRAÇÕES

Figura 1 – Exemplo de cubo OLAP. . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 2 – Exemplo de esquema estrela. . . . . . . . . . . . . . . . . . . . . . . . 28

Figura 3 – Exemplo de um banco de dados. . . . . . . . . . . . . . . . . . . . . . 35Figura 4 – Exemplo de consulta utilizando retângulo . . . . . . . . . . . . . . . . 37

Page 16: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 17: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

LISTA DE TABELAS

Page 18: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 19: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

LISTA DE ABREVIATURAS E SIGLAS

SGBD Sistema Gerenciador de Banco de Dados

OLAP OnLine Analitycal Processing

SAM Método de acesso espacial

MBR Minimum Bouding Rectangle

RC Região de consulta

Page 20: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 21: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

LISTA DE SÍMBOLOS

on Operação de Junção

× Produto cartesiano

Page 22: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 23: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

SUMÁRIO

Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1 Conceitos fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.1 Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.2 Geomarketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.3 Processamento analítico em sistemas gerenciadores de banco de dados . . 26

1.3.1 OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.4 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.1 PostgreSQL e Processamento Geo-espacial com PostGIS . . . . . 291.4.2 PostgreSQL e OLAP Espacial . . . . . . . . . . . . . . . . . . . . 31

1.5 Métodos de acesso e indexação em banco de dados . . . . . . . . . . . . . 311.5.1 R-tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.5.1.1 Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2 Revisão da literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1 Papadias et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.2 Pedersen et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3 PostGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Proposta de implementação . . . . . . . . . . . . . . . . . . . . . . . . . 353.1 Indexar os dados geográficos (construção da R-tree) . . . . . . . . . . . . 353.2 Inserindo referências da R-tree no PostgreSQL . . . . . . . . . . . . . . . 363.3 Consultando os dados geográficos . . . . . . . . . . . . . . . . . . . . . . 36

4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Page 24: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 25: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 tradicionaistem se tornado uma realidade comum. Devido a esse tipo de situação muitos estudos vemsido desenvolvidos em data warehouses espaço-temporais nos últimos anos. Os estudosdesenvolvidos se focam área de métodos de acesso e construções de índices para a otimi-zação de consultas em bancos com este caráter de dados[1]. Outros ainda utilizam tabelaspara guardar resultados de operações realizadas previamente de agregação sobre os dadosespaciais e guardam estes em tabelas separadas dos dados comuns[2].

Neste contexto este trabalho propõe uma estratégia de armazenamento de dadosespaço-temporais através de uma estrutura de dado conhecida, R-Tree, com o auxílio dobanco de dados, ou seja uma estratégia híbrida composta pelos trabalhos mais conhecidosna área.

No capítulo 1 serão apresentados os fundamentos/conceitos teóricos necessários aomelhor entendimento deste trabalho, o capítulo 2 traz os artigos e trabalhos que ou servi-ram como base para este trabalho ou que resolveram problemas semelhantes ao problemadiscutido neste trabalho, no capítulo 3 são apresentados os passos e processos pelo quala solução proposta passou para ser construída, por fim no capítulo 4 são apresentados osresultados obtidos através da implementação da solução proposta neste trabalho.

Page 26: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 27: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

25

1 CONCEITOS FUNDAMENTAIS

1.1 MARKETING

O marketing é muito difundido hoje e teve seus primeiros passos no início do séculoXX quando vieram à tona os seus primeiros conceitos básicos. Ainda no seu começo, anoção de marketing se difundia, aproveitando o pensamento orientado a produção queera dominante nesta mesma década [3]. Em meados de 1960 seus conceitos fundamentaisjá haviam sido muito discutidos e passavam por revisões sob a luz de princípios maissociais como o gerencialismo, que é a ideia que as sociedades são equivalentes a soma dastransações feitas pela gerência de uma certa organização [3].

Hoje o marketing se tornou uma ferramenta praticamente obrigatória nas empre-sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada nomercado. Entre as formas de buscar atendimento dos profissionais de marketing está aassessoria de marketing, a qual ajuda as empresas a escoar de forma mais fácil sua pro-dução, ainda que o papel do profissional da área de marketing não seja só esse [4]. Omarketing tem como propósito e base o gerenciamento de logística das organizações. Paratanto, necessita de informações sobre o escoamento da produção ou da distribuição deconsumo 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 tornammais fáceis de se tomar quando se tem algum tipo de dado geográfico associado aos dadosde vendas da organização, pois isso permite realizar análises sensíveis à localização dosclientes por meio de visualização cartográfica dos dados, por exemplo, usando mapas. Porexemplo, há vários trabalhos na literatura que utilizam dados geográficos para definir ondeestabelecer 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 tradicionalse segmentou de forma a criar o marketing espacial ou geomarketing, o qual se utiliza dedados 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 possibilitama manipulação de dados georreferenciados em tarefas de marketing e está muito maispróximo do processo de análise do que de concepção de estratégias [7]. Dentre as áreasem que técnicas de geomarketing têm sido aplicadas, pode-se citar:

Page 28: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 gerenciamentode marketing, excluindo a área de escolha de locais. Para facilitar a análise é desejávelque se sumarize os dados por tempo em relação ao atributo espacial, que vai do macroao 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 osdados sócio-demográficos que ajudam a entender de forma mais fácil o comportamentode clientes.

Mesmo depois de os dados terem sido coletados e devidamente georreferencia-dos, o labor envolvido em análises manuais é muito maior se comparado a análises como 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 Infor-mação Geográfica (SIG), que contam com interfaces onde são mostrados mapas e recursospara tratamento e análise de dados georreferenciados [9]. Estes sistemas são de grandeimportância em geomarketing, para gerenciar bases de dados sócio-demográficos georre-ferenciados e construir mapas com diferentes camadas de visualização [7].

Para gerenciar todos estes dados os softwares contam com sistemas gerenciadoresde 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 osclassificam 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 asua existência. Estes dados variam de acordo com a natureza da organização. Podem serprovenientes de pesquisas, cadastros de clientes ou registros de entradas e saídas (controlecomercial). À medida que o volume de dados cresce, aumenta o tempo e o custo doprocesso de análise, demandando mais recursos [12, 8]. Para melhorar esta situação é quesurgiu, em meados de 1994, a noção de processamento analítico online (OnLine AnalyticalProcessing – OLAP) [10].

Page 29: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 aconsultas que são naturalmente multidimensionais de forma mais rápida e que englobaconceitos de data warehousing como ETL (Extract, Transform and Load – extração, trans-formação e carga de dados) além de relatórios relacionais e mineração de dados. Aindasegundo [13], OLAP pode ser definido como Análise Rápida de Informação Multidimensi-onal Distribuída devido ao funcionamento das consultas OLAP, uma vez que estas consul-tas 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 queas usam para apresentar somente dados de análise estatística que são fáceis o suficientepara o usuário final entender. E como caráter final as consultas são distribuídas, poisimplementa 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 osistema usa este snapshot para gerar um cubo de dados multidimensional, chamado decubo OLAP. As consultas então são executadas sobre este cubo. Há uma infinidade deconsultas que podem ser realizadas, mas elas se dividem em categorias que incluem asseguintes.

Consultas de fatiamento (slice/dice) – São consultas que reduzem o cubo conside-rando somente uma parte dele.

Consultas de detalhamento/generalização (roll-up/drill-down) – São consultasque usam uma dimensão para agregar os dados.

Consultas de detalhamento combinado – Usam cubos que tem uma ou mais dimen-sões em comum. Em termos de bancos de dados relacionais, este tipo de consultafaz uma junção (on).

Consultas de classificação – São consultas que retornam um limiar superior ou inferiordo conjunto de dados.

Consultas utilizando rotação – São consultas que provêm uma visão alternativa dosdados, rotacionando o cubo com base em alguma dimensão.

As operações básicas supracitadas podem ser combinadas, por exemplo, pode-se combinaruma operação de roll-up com uma de drill-down [14, 15]. A Figura 1 mostra um cuboformado 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 nafigura pelo plano 𝐹𝑎𝑡𝑢𝑟𝑎𝑚𝑒𝑛𝑡𝑜 × 𝐿𝑜𝑗𝑎𝑠 no instante de tempo 𝑡 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

Page 30: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 atabela de fatos que guarda os dados que são o alvo da análise [13, 15]. A figura 2 mostrao esquema estrela para o cubo da figura 1. É possível ver que os dados de todos os níveissã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-

Page 31: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

1.4. PostgreSQL 29

cional e puramente multidimensional. Partindo pela prática multidimensional, os dadossão armazenados em bancos puramente multidimensionais, ou seja banco de dados quejá 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 seencontrar aplicações que tem sua base de dados armazenada somente em bancos multidi-mensionais se comparado a quantidade de aplicações que utilizam bancos relacionais. Ofuncionamento de OLAP em bancos relacionais segue o mesmo princípio já apresentadonesta subseção, porém nestes tipos de banco de dados é necessário fazer alterações emalgumas estruturas de armazenamento e por vezes criar novas relações para guardar dadosdo cubo de dados [14, 10, 13].

1.4 POSTGRESQL

O PostgreSQL se destaca dentre os sistemas gerenciadores de banco de dados decó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 Stonebreakercomo um dos seus principais desenvolvedores, sendo considerado inclusive como o “pai”do mesmo [16]. Em meados de 1986 Michael liderou um time de desenvolvedores, levando-os a programar um SGBD que recebeu o nome de Postgres. Mais tarde dois alunos deBerkeley 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 Objeto-relacional, o que confere a ele a capacidade de armazenar dados mais complexos emsuas colunas relacionais, além de permitir a criação de novos tipos de dados, funções eoperadores 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 eo 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 amaterializaçã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ãogeográfica do PostgreSQL, chamada de PostGIS.

O PostGIS possui capacidade de lidar com dados geográficos de vários tipos entreeles, os mais importantes são:

Page 32: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

30 Capítulo 1. Conceitos fundamentais

Ponto Modela uma localização no plano ou no globo. O PostGIS ainda oferece suporte apontos 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 ruaou avenida.

Polígono Modela uma região fechada, podendo representar a área de uma cidade, coberturade 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ívelexecutar consultas com dados agregados levando em conta a componente geográfica. Umexemplo 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ãoPaulo?

Se as cidades fossem representadas por polígonos devidamente inseridos no PostGIS e asestações fossem representadas por pontos uma consulta que responderia a pergunta seriaa 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 represen-tando as cidades e as estações de metro no estado de São Paulo, respectivamente; Os atri-butos cidade_area e estacao_localizacao são objetos do PostGIS sendo cidade_areaum objeto do tipo polígono e estacao_localizacao um objeto do tipo ponto. Nesta con-sulta é feita uma junção chamada espacial, ou seja, onde a condição de junção é a respostade uma relação espaciais entre dois tipos de dados geográficos. Neste caso a condição dejunção é a relação espacial de contenção.

Este é apenas um exemplo de uso do PostGIS, porém as aplicações deste tipo defunções geográficas e dos objetos contidos nesta extensão são muito grandes [16]. Integradoa sistemas de Business Intelligence é possível agregar dados não espaciais em função dehierarquias de geográficas para se obter relatórios detalhados de cidades, estados e regiõesde interesse utilizando a gama de funções de processamento e de relação geográfico.

Page 33: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 especial-mente construída para permitir a análise espaço-temporal rápida e fácil além da exploraçãode dados seguindo uma abordagem multidimensional composta por agregação de níveisdisponí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 terum bom sistema para fazer a gerência de dados, para este papel alguns sistemas que seauto-intitulam como SOLAP utilizam a combinação do PostGIS com o PostgreSQL queapresenta uma performance razoável, sendo utilizado até em sistemas comerciais.

Um exemplo da aplicação desta combinação, PostGIS + PostgreSQL, é a aplicaçãodesenvolvida por Bédard [19] onde ele propõe uma ferramenta da SOLAP e businessintelligence construída a partir de ferramentas de código aberto e/ou livres. Na aplicaçãoos pesquisadores utilizam a combinação das duas ferramentas para servir como a camadade data warehousing e esta se comunica com os outros componentes como a camada devisualizaçã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 deresposta de consultas OLAP. Neste trabalho ele utiliza o PostGIS como repositório dedados e realiza testes para fim de simulação na ferramenta.

1.5 MÉTODOS DE ACESSO E INDEXAÇÃO EM BANCO DEDADOS

1.5.1 R-tree

O método de indexação R-Tree é o método de acesso espacial (SAM) mais im-portante entre os que aplicam o conceito de MBR (Minimum Bounding Rectangle, ouretângulo de limite mínimo). Consiste basicamente de um SAM que faz decomposiçãoespacial 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émponteiros para os atributos não espaciais dos objetos. Os nós correspondem a páginas dedisco, com as seguintes características:

∙ cada folha contém entradas do tipo (I, Tid), em que Tid se refere (pode ser um

Page 34: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

32 Capítulo 1. Conceitos fundamentais

ponteiro) a uma tupla na base de dados, contendo os atributos não espaciais doobjeto. E I corresponde ao MBR deste objeto;

∙ cada nó interno contém entradas do tipo (I, Cid), em que Cid é um ponteiro paraalgum filho. Ao passo que I corresponde ao MBR que cobre todas as regiões descritaspelos MBR dos nós inferiores;

Page 35: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

33

2 REVISÃO DA LITERATURA

Embora os avanços na tecnologia envolvendo consultas OLAP tenham ajudado aconstruir sistemas de suporte a decisão eficientes, a integração de dados georreferenciadosem data warehouse para permitir consultas do tipo SOLAP só apareceu como tópicode pesquisa ativo recentemente. Nas seções seguintes são discutidas pesquisas que seassemelham com a proposta deste trabalho e que contribuíram para a área de otimizaçãode consultas SOLAP.

2.1 PAPADIAS ET AL.

Em [1] são descritos vários métodos de acesso para indexação de dados espaço-temporais utilizando combinação de vários tipos de estruturas, por vezes combinadas. Oexemplo mais relevante para o trabalho é o método denominado aRB-Tree onde o autorcombina conceitos da R-tree com a B-tree da seguinte forma: as regiões que constituemuma hierarquia especial são guardadas apenas uma vez e indexadas usando a R-tree. Paracada entrada da R-tree (incluindo os níveis intermediários), existem um ponteiro para umnó de uma B-tree que guarda dados pré-agregados sobre aquela entrada.

Usando este tipo de abordagem o autor tentava provar que as estruturas propostasno framework dele poderiam substituir a construção de cubos para a resposta de consultasOLAP, uma vez que os métodos de acesso criado por ele tinham complexidade temporale 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 georreferenciadosonde o autor considera o artigo a ser o primeiro a tratar sobre pré-agregação de dadosespaciais, além de tratar problemas de sobreposição parcial de áreas para a pré-agregaçãode dados espacias. Na técnica o autor calcula os dados derivados sobre cada área doconjunto de dados, o da seguinte forma:

Cálculo das partes disjuntas Para alcançar resultados corretos na pré-agregação, separa-se as áreas que tem sobreposição parcial e se calcula os dados agregados das disjun-tas.

Organização das hierarquias espacias Para reaproveitar os resultados de agregaçõesfeitas se estabelece a relação entre áreas, onde as áreas que contêm outras regiões

Page 36: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 umadelas e assim responder as consultas reaproveitando os resultados das agregaçõesem 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áficae pela sua própria natureza consegue responder todo tipo de consulta geográfica de formarazoavelmente rápida para uma massa de dados de por exemplo 2 milhões de objetosespaciais com dados comuns associados a eles [16]. Para alcançar tal velocidade na respostade consultas o PostGIS utiliza os índices disponibilizados pelo PostgreSQL para realizaras mesmas. O PostgreSQL possui uma gama grande de índices, porém o recomendadopelo PostGIS é o índice do tipo GiST (Árvore de busca generalizada), pois são índicesque se comportam bem para quase todo tipo de dado e ainda implementa o índice comuma R-tree que tem ótimo desempenho para consultas espaciais.

Page 37: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

35

3 PROPOSTA DE IMPLEMENTAÇÃO

A indexação de dados espaciais não é simples e precisa ser tratada de forma diferen-ciada, por isso para alcançar resultados satisfatórios este trabalho propõe uma abordagemdiferente das discutidas em outros artigos. Em [1] é proposto um novo método de acessochamado aRB-Tree que é uma R-tree modificada para guardar resultados de agregaçõessobre 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 deconsultas geográficas no SGBD PostgreSQL. A solução tem como estratégia indexar osobjetos geográficos em uma R-tree e guardar os resultados das agregações nas tabelasdo banco de dados. Os passos mais detalhados da solução são apresentados nas seções aseguir.

3.1 INDEXAR OS DADOS GEOGRÁFICOS (CONSTRUÇÃODA R-TREE)

A primeira etapa é a indexação dos dados geográficos da base de dados usando aR-tree. Na fig. 3 é apresentado a estrutura de um banco, através de um diagrama EntidadeRelacionamento 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 𝑙𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑜

da relação 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠 usando a R-tree. Depois de ter a estrutura da R-tree completa com osdados indexados o próximo passo é a inserção das informações não geográficas nas visões(tabelas) do SGBD PostgreSQL.

Page 38: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

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 estru-tura para realizar a pré-agregação dos dados de acordo com o desejado, ou seja, selecio-nando os atributos os quais são interessantes para análise e portanto devem ser calculadoscom antecedência. Depois de calculado os valores agregados para cada elemento dos nósfolhas é guardado a soma dos valores agregados para aquele nó e assim recursivamente.

Para exemplificar, na figura 4 os elementos 𝑃8...𝑃21 teriam seus valores de inte-resse somados e guardados em seus respectivos nós pais, por exemplo, o valor da somados elementos de 𝑃8...𝑃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 comoparâmetro uma região de filtro, ou região de consulta(RC). Usando a R-tree filtra-se osnós contidos propriamente na RC, se o nó num nível mais acima tem um MBR que nãoestá propriamente contido na região de consulta deve-se aprofundar no nível da árvoreaté 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ósretornados seriam os ID’s 𝑅5𝑒𝑅7.

Page 39: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

3.3. Consultando os dados geográficos 37

R1

R3

R4 P11

P13

P10

P8

R2

R6

R7

P20

P19

P21

R5

R1 R2

R3 R4 R5 R6 R7

P8 P9 P10 P11 P12 P13 P14 P16 P17 P19 P20 P21

P14

P18

P12

P9

P15

P16

RC

1

2 3

4 5 6 7 8

Figura 4 – Exemplo de consulta utilizando retângulo

Page 40: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 41: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

39

4 RESULTADOS

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

Page 42: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 43: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

41

CONCLUSÃO

Page 44: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos
Page 45: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

43

REFERÊNCIAS

1 PAPADIAS, D.; TAO, Y. Indexing spatio-temporal data warehouses. DataEngineering, 2002, 2002.

2 ZHANG, L. et al. An approach to enabling spatial OLAP by aggregating on spatialhierarchy. 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 – apractical 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 ofRetailing 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-assistedMarketing 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.

Page 46: IMPLEMENTAÇÃODEEXTENSÃODEMÉTODO ... · sas, independentemente do ramo em que elas atuam, devido à concorrência acirrada no mercado. Entre as formas de buscar atendimento dos

44 Referências

18 RIVEST, S.; BéDARD, Y. SOLAP: a new type of user interface to supportspatio-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 IntelligenceSolutions 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 SOLAPquery 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/>.