UNIVERSIDADE FEDERAL DE SANTA CATARINA - UFSC CENTRO TECNOLÓGICO - CTC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INE Carlos Eduardo da Costa José Filipe Néis 2. PROCESSAMENTO GEOGRÁFICO E MULTIDIMENSIONAL Hoje em dia, para suprir as necessidades do Mercado a Database Management Systems (DBMS) vêm adaptando suas soluções para prover definição ,armazenamento,manipulação e recuperação de dados geográficos. Neste artigo nós descreveremos algumas infra – estruturas de softwares de código aberto pra processamento espacial e multidimensional. 2.1. Suporte à Decisão Análitica e Espacial de Soluções Comerciais Um Framework de Código Aberto Baseado em Web para Processamento Geográfico Multidimensional Joel da Silva, Valéria C. Times, Ana Carolina Salgado RESUMO Cada vez mais o desenvolvimento de um BI tem sido o foco de empresas que buscam um bom suporte à tomada de decisão. Estes dados teriam ainda mais valor agregado se pudessem ser relacionados com informações geográficas / espaciais. Entretanto esta integração esta integração não é tão simples e geralmente é implementada através de tecnologias proprietárias. Este artigo apresenta um framework de código aberto baseado em web para processamento geográfico multidimensional. 1. INTRODUÇÃO Há muito tempo a comunidade tecnológica vem procurando soluções para integrar análises com dados geográficos. Entretanto, porem a maioria não passa de interfaces de sistema. A idéia principal de nossa proposta é implementar um sistema extensível e aberto com capacidades de analise sobre estas duas tecnologias. O DBMS de Oracle [8] é uma base de dados relacional e em sua última versão,Oracle oferece o pacote de ORACLE OLAP, que faz disponível diversos componentes para a criação de sistemas analíticos, incluindo ferramentas de DW e OLAP. Para trabalhar com dados geográficos, existe uma extensão denominada Oracle Spatial. Com esta extensão, cada geometria é armazenada como um objeto espacial nomeado SDO_GEOMETRY. Microsoft Business Intelligence and Data Warehousing[7] é o pacote de software comercial que fornece a sustentação para o BI, que é incluído na última versão do Usuário de Microsoft SQL DBMS. Hyperion Essbase[15] é um banco de dados multidimensional que oferece o Hyperion Essbase OLAP Server que é otimizado para o desenvolvimento de aplicações analíticas. Para manipular dados o Essbase utiliza MaxL e MDX. Para processar dados geográficos há a necessidade de utilizar uma biblioteca nomeada ESRI MapObjects [10], que é conjunto de componentes de ActiveX para manipular dados espaciais. Com IBM DB2 Data Warehouse Enterprise Edition[4] Temos um OLAP integrado que possui varias ferramentas para trabalhar com BI. Para o usuário de OLAP,a IBM oferece o DB2 OLAP, que é um pacote do Hyperion listado acima. Além disso, DB2 Spatial Extender suporta o processamento de dados espaciais no DB2. IBM Informix [4] inclui o IBM Red Brick Warehouse, que é uma base de dados relacional otimizada para processamento analítico multidimensional. Red Brick Warehouse oferece dois tipos de funções analíticas. O Primeiro é o RISQL, desenvolvido para ser usado no Red Brick Warehouse. O é baseado em uma extensão tradicional do SQLpara o processamento de dados multidimensionais. O componente de processamento espacial é o IBM Informix DataBlade Spatial, permite a definição, o armazenamento, a gerência e a recuperação de dados espaciais. Entre ferramentas na mesma linha podemos destacar também: o Sybase Adaptive Server [36] e o Teradata Warehouse [38]. 2.DBMS de Código Aberto para Suporte à Decisão Usando-se Mondrian usuários podem implementar aplicações multidimensionais usando PostgreSQL [28], que é um DBMS de código aberto. Para consultar dados multidimensionais a linguagem de consulta MDX é utilizada. PostGis é uma extensão para que os usuários desenvolvam aplicações geográficas que oferece tipos de dados geográficos, funções, etc. MySQL [24] O DBMS tem sido para ser usado dentro de aplicações de OLTP. Entretanto, uma aplicação comercial nomeada OLAP4ALL [34] foi desenvolvida para processar dados geográficos. 2.Algumas Considerações Podemos concluir então que há diversos pacotes de software para o desenvolvimento de aplicações do BI. Entretanto, nenhuns deles fornece funcionalidades integradas para processamento espacial e multidimensional nem oferece uma linguagem para buscar dados em um GDW (Armazém geográfico dos dado) usando operadores geográficos e analíticos simultaneamente. Além disso, ferramentas proprietárias podem ser muito caras. Soluções de código aberto podem ser uma boa saída para quem procura baixos custos. 3. LINGUAGEM PARA CONSULTAR DADOS ESPACIAIS Um componente muito importante de uma aplicação de suporte à decisão é a linguagem de consulta. Existem várias linguagem de consulta de dados espaciais, mas por falta de espaço comentaremos apenas a mais relevante. 3.Línguas Consulta Multidimensional Uma das mais importantes estruturas para para consultas multidimensionais é o MDX ( Multidimensional Expressions) [27]. Usando-se MDX, usuários podem fazer consultas complexas sobre dados de um cubo multidimensional, fazendo a visão dos dados configuráveis para vários ângulos e diferentes agregações usando operadores analíticos. Apesar de ser similar ao SQL tradicional, MDX não é uma extensão do SQL. MDX é uma língua de consulta especial com muitos funções analíticas e otimizações para consultas de dados multidimensionais. 3.2 Linguagens de Consultas Espaciais No que diz respeito às linguagens de consultas geográficas, algum trabalho tem sido dedicado a esta área. SQL Spatial,proposto por Egenhofer [17], é baseado em uma extensão do tradicional SQL. Sua língua é composta por dois módulos: (i) uma linguagem de consulta e (ii) uma linguagem da apresentação. O primeiro módulo é baseado no SQL e nos tradicionais o SELECT-FROMWHERE, enquanto que a linguagem de apresentação, nomeada GPL (Graphical Presentation Language), permite que os usuários customize como os objetos espaciais serão apresentados. Outros trabalhos relevantes são o: GeoSQL [11] e o SQL/SDA [21]. Um dos mais importantes trabalhos relacionados é o ISO SQL MM [16]. Esta especificação inclui funcionalidades de processamento espacial no SQL tradicional e também é baseado na especificação OGC por isso provê diversas funções para manutenção, armazenamento, análise e recuperação de dados espaciais. 3.3 Algumas Considerações Como vimos, nenhum dos trabalhos mencionados provê uma linguagem de consulta com capacidade de integrar operadores espaciais e analíticas em uma sintaxe única. 4. O FRAMEWORK PROPOSTO O framework proposto pode ser considerado uma instância da arquitetura GOLAPA[26], que é composta por três partes(I, II e III), que provêem dados, serviços e interfaces geográficas respectivamente. O primeiro (I) contém o Geographical DataWarehouse (GDW) que é baseado no GeoDWFrame [25]. O GDW schema é similar aos tradicionais DW schemas (e.g. star schema) [32]. Entretanto ele possuirá dados de geometria espacial armazenado. GeoDWFrame propõe dois tipos de dimensões chamadas de geográfica e hibridas. A primeira é classificada como primitiva e composta, enquanto a segunda é caracterizada como micro, macro e junção.As dimensões primitivas e compostas possuem apenas dados geográficos. O DBMS open source usado para criar o GDW é o PostgreSQL com a extensão espacial chamada PostGis, Para extração, transformação e carga dos dados geográficos e multidimensionais nós usamos os scripts baseados na linguagem PostgreSQL A segunda parte(II) implementa a Ferramenta de Processamento Analítico Geográfico Online (GOLAPE) componente da arquitetura GOLAPA. Este componente é responsável por tratar requisições multidimensionais. Nesta parte, temos alguns módulos para processamento de consultas. Essa ferramenta é uma extensão Mondrian OLAP server [22] para suportar processamento de consultas espaciais. Existem três tipos de consultas que podem ser processadas. Estes tipos são baseados noGMLA Request Schema [19]. Os tipos de requisição são:MD, GEO and GEOMD. Uma consulta do tipo MD apenas contém parâmetros analíticos que permitem a consulta do tipo multidimensional. Uma consulta do tipoGEO apenas contém parâmetros geográficos que permitem uma consulta espacial. O GEOMD pode ser classificado como: 1) Mapping GEOM onde uma requisição analítica é enviada para o GMLA WS e dados geográficos correspondentes são plotados no mapa, e 2) Integration GEOMD, onde restrições analíticas e espaciais são especificadas e utilizadas na requisição de dados. Uma linguagem de consulta geográfica e multidimensional foi criada pra expressar consultas do tipo mencionado acima baseada em MDX: a GeoMDQL, Na Terceira parte foi desenvolvida a interface com o usuario. Esse component foi desenvolvido a partir da aplicação JPivot que é responsável por submeter requisições geográficas e/ou multidimensionais ao GOLAPE. Esta ferramenta foi desenvolvida para mostrar resultados em tabelas, charts e/ou mapas usando a linguagem HTMLe a tecnologia SVG (ScalableVector Graphics. O framework é baseado em padrões abertos. Permite então um suporte à tomada de decisão com baixos custos e baseada em padrões do mercado. 5. CASO DE ESTUDO NO SISTEMA PÚBLICO DE SAÚDE Para validar as idéias apresentadas o GDW foi implantado no sistema público de saúde brasileiro. Esta estrutura é responsável por manipular dados de histórico incluindo localizações geo-referenciais e permite explorar permite testar a capacidade do sistema frente a manipulação de um número considerável de dados. Foram utilizados dados como mortalidade infantil, saúde feminina e saúde bucal, permitindo uma análise sobre a saúde e qualidade de vida da população através de tabelas, charts, e mapas para detectar as variações em virtude da posição geográfica. 6. CONCLUSÃO E TRABALHOS FUTUROS A integração entre ferramentas analíticas e geográficas oferece um extenso contexto para o suporte à tomada de decisão. Isso porque integra a capacidade de uma analise rápida de um grande volume de dados e o poder de visualizar dados em mapas e fazer consultas espaciais. O trabalho apresentado neste artigo faz parte do projeto GOLAPA, que aborda o desenvolvimento de uma arquitetura extensível para processamento multidimensional e/ou geográfico. Por este framework estar baseado em padrões abertos e extensíveis, permite a estrutura de analise com baixos custos e baseiase em padrões de mercado. Este framework pode ser utilizado por outro projeto que vise processamento multidimensional e geográfico. Alguns objetivos pra o future são: aperfeiçoamento de algumas implementações da parte II para aperfeiçoar o desempenho das consultas. Algumas alterações na interface também serão feitas para uma melhor interação com charts, tabelas e mapas.