DEFINIÇÃO DE UMA BASE DE DADOS APLICADA AO MONITORAMENTO DE SUBESTAÇÕES DE ENERGIA ELÉTRICA Gabriela Linck de Jesus, Guilherme Fabrin Franco e Daniel Lucas Huber Bolsistas de Iniciação Científica do Grupo de Automação Industrial e Controle – GAIC Universidade Regional do Noroeste do Estado do Rio Grande do Sul – UNIJUÍ [email protected], [email protected], [email protected] Paulo Sérgio Sausen e Mauricio de Campos Pesquisadores do Grupo de Automação Industrial e Controle – GAIC Universidade Regional do Noroeste do Estado do Rio Grande do Sul – UNIJUÍ [email protected] e [email protected] Resumo. O presente artigo objetiva descrever as atividades de Iniciação Científica realizadas pelos bolsistas do Grupo de Automação Industrial e Controle (GAIC) no desenvolvimento de um sistema de monitoramento de uma subestação subterrânea de energia elétrica. Neste artigo é abordado apenas a parte da construção de um modelo de otimização para ser aplicado na definição, criação e manipulação da base de dados utilizado pelo sistema de monitoramento da subestação de energia. Palavras-chave: Banco de Dados, Sistema de Monitoramento, Subestação de Energia Elétrica. 1. INTRODUÇÃO O fornecimento de energia elétrica a um determinado segmento da população reflete diretamente na melhoria da qualidade de vida deste segmento. Assim que é disponibilizada a energia elétrica, a população local imediatamente passa a contar com inúmeros benefícios, tanto do ponto de vista do conforto doméstico como na melhoria das possibilidades de emprego e desenvolvimento (MEHL, 2014). Estima-se que as estruturas de distribuição de energia elétrica deverão ser providas de inteligência nos próximos anos. Paralelamente a evolução das estruturas de distribuição os sistemas de aquisição e tratamento dos dados gerados por estes sistemas passam a ter uma significativa importância. A evolução da tecnologia da informação possibilitou que estas bases volumosas de dados possam ser armazenadas e processadas mais rapidamente e com maior precisão. Em décadas passadas, o problema residia na capacidade física de armazenamento e processamento, nos dias de hoje o problema reside na correta estruturação, definição e criação desta base de dados de forma que seja possível não apenas armazenar de forma correta e rápida a informação, mas principalmente acessar esta informação de uma forma fácil e rápida. No projeto “Desenvolvimento e Implantação de um Lote Pioneiro de um Sistema de Monitoramento e Supervisão de Unidades Transformadoras e Subestações”, desenvolvido pelo Grupo de Automação Industrial e Controle (GAIC) da Unijuí em parceria com a Companhia Estadual de Distribuição de Energia Elétrica (CEEE-D), através do Programa de P&D ANEEL, foi criada uma infraestrutura que provê um sistema de monitoramento, em tempo real, de todas as grandezas físicas de um conjunto de 160 subestação transformadora de energia elétrica com intervalo de amostragem de 10s. Este sistema é um exemplo de como é usual a criação de bases de dados que, em decorrência da quantidade de grandezas e periodicidade de aquisição, podem facilmente atingir a cifra dos terabytes de informações. XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA – CRICTE 2014 8 a 10 de outubro de 2014 – Alegrete – RS – Brasil Para evitar que erros comuns atrapalhem o bom funcionamento da base de dados o desenvolvedor de software deve estar ciente de cada valor que o banco irá receber, e definir o melhor tipo de dados para que não haja desperdício de espaço em disco nem que o processo de acesso a este dado seja prejudicado. Deve-se pensar na melhor forma de organizar as tabelas, para que as pesquisas ao banco de dados sejam realizadas com a maior rapidez e agilidade. Neste contexto, o principal objetivo deste artigo é propor um modelo de otimização para ser usado na definição, criação e manipulação da base de dados de um sistema de monitoramento de subestações de energia elétrica. 2. DESCRIÇÃO DO SISTEMA O sistema desenvolvido para automação de subestações de energia elétrica do grupo CEEE é um sistema completo que contempla desde o desenvolvimento das placas de aquisição, tratamento, transmissão e apresentação dos dados. Neste artigo será descrito apenas as atividades relacionadas com o desenvolvimento da base de dados utilizada por este sistema, bem como todas as tecnologias e ferramentas empregadas neste segmento do projeto. Na Figura 1 é apresentado a estrutura do sistema proposto que consiste em um sistema formado por uma rede de sensores representado, na Figura 1, pelas Placas Aquisitoras que captura um total de 24 grandezas oriundas da subestação de energia. Estas grandezas são centralizadas e empacotadas em um pacote de 48 bytes que, posteriormente, é transmitido, utilizando-se um Terminal JAVA que possui conexão a uma rede 3G, para um servidor de banco de dados. 2.1 Tecnologias Empregadas no Sistema. Nesta seção serão descritas as tecnologias utilizadas para o desenvolvimento da base de dados proposta. Destaca-se que todas as tecnologias e ferramentas utilizadas no desenvolvimento deste sistema possuem código livre o que propiciou um rápido desenvolvimento aliado a um baixo custo. Figura 1. Estrutura do sistema desenvolvido. O servidor que abrigará o gerenciador de banco de dados utilizado pelo sistema esta rodando sobre a plataforma Linux, com o sistema operacional Ubuntu. Neste servidor foi configurado o Sistema de Gerenciamento de Banco de Dados (SGDB) PostgreSQL. O PostgreSQL é um SGBD relacional cliente - servidor, criado nos anos 70 na Universidade da Califórnia por Michael Stonebraker (DOUGLAS; DOUGLAS, 2005). Apesar de ser um banco de dados de código livre, este SGBD é comparável a grandes bancos de dados comerciais. A ferramenta gráfica utilizada pelo PostgreSQL é o pgAdmin III, que oferece opções de criação, manutenção e visualização das tabelas a partir de interfaces gráficas. A linguagem de manipulação dos dados e tabela é o Structured Query Language (SQL) que é uma linguagem de pesquisa declarativa padrão para banco de dados. 2.2 Criação do Banco de Dados Como mencionado anteriormente, foi utilizado a ferramenta pgAdmin III para estabelecer uma conexão com o banco de dados e iniciar a análise da sua estrutura. São necessários 25 atributos para descrever a situação da subestação que estão XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA – CRICTE 2014 8 a 10 de outubro de 2014 – Alegrete – RS – Brasil dispostos em colunas, que por sua vez, estão dispostas em tabelas no banco de dados. A criação do banco de dados, diferentemente do que se imagina é uma tarefa delicada que exige planejamento e atenção aos detalhes para evitar, principalmente, que a base ocupe um espaço maior que o necessário. As pesquisas realizadas a partir da interface gráfica do SGDB devem retornar os resultados no menor tempo possível. Para que isto ocorra é necessário o correto dimensionamento das tabelas e dos tipos de dados armazenados. Para verificar a melhor forma de armazenamento dos dados advindos do sistema de monitoramento, foram criadas duas tabelas. A primeira tabela foi construída com 25 colunas, uma para cada grandeza monitorada da subestação, e carregada com dados reais de um dia completo de funcionamento do sistema para apenas uma subestação. Já a segunda tabela foi construída com as mesmas 25 colunas da tabela anterior, mais uma coluna que contem o identificador da subestação que gerou o dado, ou seja, a segunda tabela contém 26 colunas. Da mesma maneira que a primeira tabela a segunda tabela foi carregada com dados de um dia completo de monitoramento, com a diferença que foram carregados os dados de 160 subestações. Posteriormente foram realizadas pesquisas em ambas as tabelas objetivando analisar o tempo de acesso a um determinado dado em cada uma das tabelas. Na primeira tabela, o tempo de pesquisa foi de 29 milissegundos já na segunda tabela o tempo, para a mesma pesquisa, levou 47 milissegundos. A partir deste teste foi possível concluir que a melhor forma de armazenamento dos dados é a metodologia aplicada na primeira tabela, pois o tempo de pesquisa é significativamente menor. 2.3 Avaliação dos Tipos de Dados Além dos experimentos que testam a eficiência das pesquisas ao banco de dados com diferentes quantidades de dados, foram testados também os tipos de dados usados para armazenar os valores recebidos das subestações. A análise dos tipos de dados é um dos passos que deve ser realizado com extremo cuidado, pois quando realizada sem a definição clara das reais necessidades o banco de dados pode ocupar mais espaço que o necessário. Para realizar este teste foram propostos dois cenários: um com os dados sendo armazenados sem qualquer critério de escolha do tipo de dados necessário para o melhor armazenamento destes, e outro feito com a escolha criteriosa de cada tipo de dados que melhor se adequaria a cada caso. A primeira tabela foi criada sendo designada aos dados referentes a corrente, pressostato, sensor ultrassonico, temperatura ambiente e temperatura do transformador como “double precision” ou float(8), que armazena até 15 dígitos após a virgula e 64 bits de tamanho de armazenamento. Os dados referentes ao status_msi, erros_can receberam o tipo de dados “smallint”, que ocupa 16 bits em disco. A coluna data/hora recebeu o tipo de dados “timestamp without time zone”, que ocupa 64 bits e recebe até 14 dígitos. A coluna ID recebeu o tipo de dados serial que auto incrementa os valores recebidos. Por fim colunas como dados barra alagamento, ventilador e bomba receberam o tipo de dados integer, que ocupa 32 bits em disco. A segunda tabela, a qual foi definida com a escolha rigorosa dos tipos de dados sofreu modificações em diversas colunas. A coluna ID deixou de existir, pelo fato de não ter sido usada em nenhum momento durante os testes com a primeira tabela, a coluna com a chave identificadora passou a coluna data/hora, pois os valores contidos nela não se repetem. Tabelas como status_msi, erros_can, e data/hora não precisaram ser alteradas, pois já possuíam o melhor tipo de dados. Colunas como barra_alagamento_2, ventilador, ventilador_proteção, bomba, bomba_proteção, barra_alagamento_1 receberam o tipo de dados “boolean” que assume dois valores: ou 0 ou 1 e ocupa 8 bits em disco. Colunas como corrente, pressostato, sensor ultrassônico, temperatura XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA – CRICTE 2014 8 a 10 de outubro de 2014 – Alegrete – RS – Brasil ambiente e do transformador receberam o tipo de dados real que possui a precisão de 6 dígitos após a virgula e ocupa 32 bits em disco. E por fim, a coluna dados_rele recebeu o tipo de dados smallint. A primeira tabela, que foi feita sem critérios de escolha dos tipos de dados e contém dados referentes a um dia de aquisição de dados, tem 1.7 Megabytes de tamanho, enquanto a segunda tabela, que foi feita com a escolha rigorosa dos tipos de dados, contem 928 Kilobytes, uma diferença de 688 Kilobytes. A partir deste dados, foram realizados cálculo para prever o possível tamanho da base de dados ao final de um mês e ao final de um ano de aquisição de dados. Como resultado destes testes foram obtidos os seguintes resultados: Ao final de um mês, a primeira tabela teria 47,34 Megabytes já a segunda tabela possuiria 27,1875 Megabytes. Ao final de um ano, a primeira tabela teria 568,12 Megabytes, e a segunda tabela 326,25 Megabytes. Ressaltase que estes dados são referentes a apenas uma subestação, sendo que o projeto contempla a leitura das grandezas de 160 subestações. A economia de espaço em disco se torna expressiva, atingindo aproximadamente 60 % quando as colunas do banco de dados são definidas de forma coerente e otimizada, evitando que ocorra desperdício de espaço de armazenamento, bem como incremento no tempo de acesso aos dados armazenados. 3. CONSIDERAÇÕES FINAIS Neste artigo foram descritas as atividades relacionadas ao desenvolvimento de uma metodologia para ser aplicada na definição, criação e manipulação da base de dados de um sistema de monitoramento de subestações de energia elétrica. Destaca-se que todo o desenvolvimento deste sistema foi baseado no uso de tecnologias e ferramentas de código livre o que propiciou um rápido desenvolvimento aliando a um baixo custo em relação a aquisição das ferramentas utilizadas no desenvolvimento. Como trabalhos futuros pretende-se investir maior tempo na análise dos dados armazenados e iniciar uma nova pesquisa em relação a mineração de dados sobre a base de dados já definida. Agradecimentos Os autores agradecem ao apoio financeiro concedido pela Companhia Estadual de Distribuição de Energia Elétrica (CEEE-D) através do Programa de P&D ANEEL e a Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul (FAPERGS) pela Bolsa de Iniciação Científica. REFERÊNCIAS MEHL, E. L. M.. Qualidade de Energia Elétrica. Disponível em: http://www.eletrica.ufpr.br/mehl/downloads/qua lidade-energia.pdf.Acessado 01/08/2014. Secretaria de Comunicação Social da Presidência da Republica – Pesquisa de Mídia 2014. Disponível em: http://observatoriodaimprensa.com.br/download/ PesquisaBrasileiradeMidia2014.pdf Acessado 02/08/2014. DOUGLAS, K.; DOUGLAS, S. PostgreSQL: The comprehensive guide to building, programming and administering PostgreSQL databases. Segunda Edição. Indianapolis: Sams, July, 2005. 1032 p. COUGO, P. Modelagem Conceitual e Projeto de Banco de Dados. Rio de Janeiro: Editora Campus, 1997. 284 p. HEUSER, C. A. Projeto de Banco de Dados. Quarta Edição. Porto Alegre: Sagra Luzzatto, 1998. 254 p. ELMARSI, R.; NAVATHE, S. B. Sistema de Banco de Dados. São Paulo: Pearson AddisonWesley, 2005. 728 p. XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA – CRICTE 2014 8 a 10 de outubro de 2014 – Alegrete – RS – Brasil