Estratégias para o Carregamento Massivo de Dados num Data Warehouse

Tamanho: px
Começar a partir da página:

Download "Estratégias para o Carregamento Massivo de Dados num Data Warehouse"

Transcrição

1 Estratégias para o Carregamento Massivo de Dados num Data Warehouse André Vilaça e Jorge Abreu Departamento de Informática, Escola de Engenharia, Universidade do Minho Campus de Gualtar, Braga, PORTUGAL {andrevilaca, Abstract. O povoamento é uma das actividades mais importantes de um sistema de data warehousing. A criticidade desta actividade está muitas vezes associada ao enorme volume de dados envolvido. Quanto maior é este volume, mais tempo é necessário para o seu processamento e para o seu consequente carregamento no data warehouse. Porém, o tempo disponível para esta operação (janela de oportunidade) é finito e, por vezes, torna-se insuficiente, por exemplo, quando se verificam falhas no processo. Assim, neste artigo, abordam-se três estratégias gerais, e respectivas variantes, para melhorar o carregamento de dados num data warehouse com particular ênfase em tabelas de factos com o objectivo de reduzir o seu tempo de processamento, permitindo assim maiores aberturas em termos de janela de oportunidade. Através da realização de testes intensivos, são ainda exploradas possíveis optimizações a essas estratégias. Keywords: Carregamento, ETL, Bulk Loading, Prepared Statements, Batches. 1 Introdução Diariamente, as empresas com grande volume de dados a processar pelos seus sistemas de povoamento de Data Warehouses debatem-se com grandes problemas de optimização. Os problemas surgem ao longo das três fases dos sistemas de povoamento de um data warehouse, também denominados de sistemas de ETL (do inglês Extract- Transform-Load), devido principalmente ao constante aumento da quantidade e complexidade da informação a processar [15]. Os sistemas de ETL são os responsáveis pela recolha da informação proveniente das fontes de dados, pelo seu tratamento e posterior carregamento nos sistemas de data warehousing, executando de forma parcialmente automática esta complicada passagem da informação dos sistemas operacionais (organizados segundo um modelo relacional) para os sistemas de data warehousing (organizados segundo um modelo dimensional) [6]. É vital para o sucesso de um sistema de ETL que todo o processo seja executado durante a janela de oportunidade (espaço de tempo, habitualmente diminuto, disponível para a execução das 3 fases de ETL), prevendo desde logo possíveis falhas

2 em sub-processos, e consequente reinício dos mesmos, acessos impossíveis às fontes ou complexidades na transformação dos dados. De facto, a tarefa de transformação da informação é a mais complexa em todo o processo, devido principalmente ao facto de ser aquela que mais dependente está das regras de negócio envolvidas. Por esse facto, existe muito trabalho efectuado ao nível do fluxo de dados, tendo em vista a optimização desta etapa. Já nas fases de Extracção e Carregamento, as estratégias de optimização disponibilizadas revelam-se mais genéricas, ou seja, são facilmente aplicáveis a qualquer sistema. Desta forma, torna-se mais aliciante e motivador o estudo destas últimas. Neste caso de estudo, a atenção recai sobre o processo de carregamento. A etapa final de qualquer processo de ETL consiste no carregamento dos dados para as estruturas dimensionais, e é tida como uma das operações críticas do data warehouse. Este carregamento não ocorre continuamente, mas sim num curto espaço de tempo, não podendo haver lugar a atrasos, e envolvendo um grande volume de informação [3]. No entanto, e apesar da sua criticidade, o carregamento dos dados é muitas vezes menosprezado aquando da construção dos sistemas de ETL [12]. De facto, este menor interesse revelado por esta etapa deve-se à aparente simplicidade da mesma, que consiste na passagem dos registos tratados da área de retenção para o data warehouse. No que concerne à optimização da operação de loading, ao serem implementadas estratégias que visam a diminuição do tempo de processamento e carregamento dos dados, liberta-se desta forma tempo precioso para as outras etapas de ETL. Da mesma forma, previnem-se também possíveis baixas de performance que possam ocorrer aquando de aumentos consideráveis no volume de dados a integrar, num futuro próximo. Com este artigo, pretende-se então abordar algumas técnicas de carregamento de grandes quantidades de dados num data warehouse, com particular ênfase nas tabelas de factos (devido à enorme quantidade de registos envolvidos), de forma a permitir uma diminuição significativa do tempo de execução desta tarefa e, consequentemente, do tempo de execução de todo o processo de ETL. Pretende-se igualmente analisar o comportamento destas estratégias e verificar se revelam quebras de performance para determinados volumes de dados. O restante artigo está organizado da seguinte forma. No capítulo a seguir são abordadas três estratégias de carregamento de dados. Na terceira secção, apresentamos algumas dicas de optimização que podem ser aplicadas a cada estratégia. No capítulo 4 descrevem-se o ambiente de testes e as fontes de dados utilizadas. Os testes efectuados, respectivos resultados, e consequente análise, estão presentes na secção 5. Por último, o capítulo 6 refere as conclusões retiradas da elaboração deste estudo, e os aspectos que poderão ser alvo de aperfeiçoamento. 2 Estratégias de Carregamento de Dados Muitas das soluções para a redução do tempo de processamento em inserções de grande volume de dados em tabelas passam pela eliminação temporária dos índices criados sobre essa tabela e posterior reconstrução dos mesmos, conseguindo-se

3 ganhos consideráveis. Assim, muito é o trabalho desenvolvido nesta área, com vista à optimização do tempo de reconstrução dos índices. Neste artigo, serão estudadas soluções limpas da actuação de índices, ou seja, os índices são eliminados, não havendo assim preocupação com a sua influência no carregamento de dados. Obviamente, esta opção revela algumas vantagens, pois não existe preocupação com o desempenho das queries lançadas sobre as tabelas, onde os índices desempenham um papel de extrema importância. Consequentemente, existirão elevados ganhos em termos de performance, sendo esse ganho directamente proporcional à complexidade do índice (quanto maior a complexidade do índice, maiores serão os ganhos conseguidos ao ignorar os mesmos). No entanto, sempre que necessário, irá ser referida a título exemplificativo a sua influência. 2.1 Estratégia Convencional Grande parte dos sistemas de data warehousing adoptam esta estratégia, que consiste no carregamento individual e sequencial dos registos para as estruturas do data warehouse, imediatamente após o tratamento do mesmo. Não existe uma diferenciação entre a fase de Transformação e a fase de Carregamento, visto que cada registo é integrado no data warehouse no momento em que as transformações sobre o mesmo terminam. Esta estratégia é típica de data warehouses assíncronos ou data warehouses em tempo real, como facilmente é perceptível, dadas as características e exigências destes. A instrução de SQL INSERT assume o principal papel nesta estratégia, dado que o carregamento de cada registo é feito através da mesma, revelando assim algumas parecenças com os sistemas operacionais, tipicamente caracterizados pela sua optimização para a inserção de registos. O carregamento é efectuado da forma mais trivial, recorrendo quase unicamente a simples instruções de inserção na tabela de factos. A complexidade desta estratégia prende-se com o facto de o motor de base de dados necessitar de efectuar um conjunto de operações de forma a determinar a melhor forma de executar a instrução pedida (query plan), antes de proceder à inserção do registo. Para tal, o motor de BD executa as seguintes tarefas [14]: Análise da sintaxe da query; Identificação de existência de índices, constraints ou triggers; Identificação da localização da tabela destino, bem como dos seus índices; Determinação dos atributos envolvidos na query; Definição da melhor forma de efectuar a query. Como é de fácil percepção, na inserção de grandes quantidades de registos, todo este processo de preparação da query começa a ter um peso significativo, tornando-se uma opção de fraca viabilidade. Como forma de colmatar este problema podemos recorrer ao uso de Prepared Statements.

4 2.2 Estratégia com uso de Prepared Statements O uso de prepared statements constitui mais um dos métodos de optimização de querying. Segundo a literatura actual, sempre que uma query é usada várias vezes, podemos optimizar significativamente o seu desempenho, recorrendo a prepared statements [14, 11]. Como abordado na estratégia anterior, em cada query de inserção é criado um novo plano de execução, tornando grande parte do trabalho do motor de base de dados repetitivo. É neste ponto que as prepared statements são mais eficientes, fazendo uma reutilização do mesmo plano de execução para todas as utilizações da query. Por exemplo, na abordagem anterior, para 1 inserções, seriam realizados 1 planos de execução contra apenas um plano aquando do uso de prepared statements. No entanto, com o uso de prepared statments, o motor de base de dados tem de disponibilizar recursos para guardar o plano de execução e, dependendo do tipo de detalhe da query, terá ainda de garantir a validade do plano de execução caso surjam mudanças na BD [14]. No caso em estudo, e visto que o número de tabelas de factos é reduzido, este factor negativo não se aplica, pois apenas é realizada uma instrução de inserção, sendo o seu plano válido desde o começo até ao final da operação de carregamento em cada tabela de factos. 2.3 Estratégia de Bulk Load A estratégia de bulk load é uma das estratégias mais eficazes para a inserção massiva de dados e está implementada nativamente na maioria dos motores de Bases de Dados conhecidos. Consiste numa boa alternativa à inserção no data warehouse de um registo de cada vez, como se de um sistema transaccional se tratasse. A maior vantagem desta estratégia é a possibilidade de, paralelamente, desactivar o logging da base de dados e carregar os registos. De facto, a escrita do log provoca uma grande sobrecarga em operações de leitura/escrita, e pode revelar-se desnecessária em data warehouses [6]. Pouco se sabe sobre o seu método de funcionamento. As ferramentas de bulk load são vistas como caixas negras que geram programas que não são facilmente costumizáveis [1]. Esta falta de informação deve-se em grande parte às diferentes formas de implementação utilizadas por cada empresa desenvolvedora dos sistemas de gestão de bases de dados. Entre a literatura actual, revelou-se um grande obstáculo encontrar fontes credíveis que fornecessem informações sobre a especificação do método de funcionamento/implementação das estratégias de bulk load. Por norma, o tipo de informação disponível prende-se mais com factores de utilização ou formas de optimização. No que ao Oracle diz respeito, sabe-se que é usado um conjunto privado de buffers para inserir as páginas do disco, contendo os novos registos, na tabela. Só após a confirmação do fim da operação de inserção é que os novos registos ficam disponíveis para leitura na tabela [2]. A estratégia de bulk load utiliza como única fonte de dados um simples ficheiro de texto no sistema de ficheiros. Estes ficheiros de texto podem ser de dois formatos: comprimento fixo e delimitado. No primeiro são especificados todos os campos

5 existentes no ficheiro, bem como o nome do ficheiro, onde começa cada campo, o seu comprimento e o tipo de dados, sendo por vezes fornecida também a posição final. Já os ficheiros de texto no formato delimitado incluem separadores (por norma vírgula, ponto-e-vírgula, pipe ou tabulação) entre cada campo, como alternativa à indicação da posição de início e fim de cada campo. A partir do momento em que o ficheiro segue uma destas delimitações, o processador de bulk load consegue abrir o ficheiro, ler os registos presentes no ficheiro e efectuar a sua integração no data warehouse [6]. Uma das limitações da estratégia de bulk é o facto de não permitir a manipulação/tratamento dos dados durante o processo, pelo que todos os tratamentos desejados devem ser efectuados previamente, na fase de Transformação do processo de ETL [4]. Para que se obtenha o máximo de desempenho possível no carregamento bulk de um ficheiro, é aconselhado que o mesmo seja copiado previamente para a mesma máquina em que se encontra o servidor de BD. Desta forma, o desempenho da operação não fica sujeita a qualquer tipo de limitação de transferência da rede [4]. Por fim, é de salientar ainda algumas das configurações que, por exemplo, o bulk insert (implementação do SQLServer) considera aquando da sua utilização mais básica. O bulk insert, independentemente do tamanho/cardinalidade do ficheiro, carrega todos os dados numa única transacção [1], ou seja, num ficheiro de 1 milhão de entradas, a confirmação (commit) da inserção dos dados só é efectuada no final de tudo. Isto pode ser visto como uma vantagem por muitos utilizadores, pois evita sucessivos commits. No entanto, tem a desvantagem de, no caso de ocorrer um erro no processo, todos os dados voltam a ser retirados (rollback), regressando ao início da operação, o que pode ter um grande impacto no tempo total de realização do processo. No entanto, este problema pode ser parcialmente resolvido com a utilização de batches (lotes de registos). A existência de triggers revela-se como um dos responsáveis pela degradação na importação de dados. No entanto, nem sempre nos queremos ver livres deles. Por isso, deve-se ter em atenção o facto do bulk insert ter a particularidade de, por omissão, os desactivar. Um outro aspecto a ter em consideração é a presença de valores nulos, em que um simples Insert mantém o atributo como nulo. Já o bulk insert, caso exista um valor por omissão para o atributo a nulo, irá colocar este em substituição do nulo [9]. 3 Dicas para um melhor desempenho Independentemente dos mecanismos de inserção utilizados, existe uma variedade de outros aspectos a ter em consideração que podem oferecer uma melhoria significativa ao processo de carregamento de dados. De seguida, apresentamos os que consideramos mais influentes. Como já foi referido, um dos principais, senão o principal factor de degradação na inserção de grandes volumes de dados, passa pela existência de índices na tabela de factos. Nesta situação, terá de se proceder à actualização dos mesmos ao longo da inserção, operação esta que com o passar do tempo vai ficando cada vez mais penosa

6 de realizar, sendo por isso aconselhável, à priori, proceder à destruição dos índices e posteriormente reconstruir os mesmos [6, 13]. Contudo, nem sempre esta degradação está presente, ou seja, no caso de um primeiro povoamento de uma tabela em que exista, por exemplo, um índice cluster, se se proceder à ordenação prévia dos dados sob a mesma forma, a diferença de desempenho pode não ser relevante [8]. Os triggers representam outro aspecto a levar em consideração. Os triggers são procedimentos que são executados na ocorrência de um evento de inserção, actualização ou remoção sobre uma tabela [6]. Dependendo do tipo de triggers existentes, estes podem provocar grandes sobrecargas no processamento. Assim sendo, deve-se, sempre que possível, evitar o seu uso em carregamentos de dados. Tomando como exemplo um simples trigger que faz o log para outra tabela de todas as operações efectuadas sobre a tabela em que estamos a proceder à inserção. Na prática, com a presença deste trigger, seriam realizadas o dobro das inserções. As constraints sobre determinados campos podem, em certos casos, ser um ponto a ter em consideração. No entanto, e lembrando que o tema de estudo são as estratégias para inserções em data warehouses, as constraints podem ser retiradas sem qualquer problema, pois os dados para inserção no DW são provenientes de um sistema totalmente controlado (ETL) [6]. Durante o processo de ETL, o processo de surrogate key pipeline 1 assegura a integridade referencial. Assim sendo, durante a inserção, esta verificação pode ser temporariamente desactivada para permitir um melhor desempenho. O tipo de log da BD pode ter um impacto relevante na eficácia do processo de inserção, podendo-se usar um tipo de log mais redutor durante mesmo, evitando assim um overhead adicional de escrita e processamento. A frequência com que os commits são efectuados contribui também para o desempenho das estratégias de carregamento. Nos termos de estudo, a execução de confirmações a cada registo inserido pode provocar um overhead excessivo, degenerando todo o processo de inserção. Segundo [16], executar o commit após a inserção de um conjunto de vários registos, pode levar a uma melhoria de desempenho até 1 vezes. Temos também a abordagem de processamento paralelo. Com este tipo de abordagem podemos tirar partido das máquinas multi-processador. Para tal pode-se dividir, por exemplo, uma fonte de dados em formato de texto, em várias fontes, e correr várias instâncias do mecanismo de inserção em paralelo. Em SDW, tipicamente existe uma janela de oportunidade para proceder à inserção de novos dados. Como tal, durante esse período, o data warehouse está 1% disponível para as inserções, o que deixa em aberto a possibilidade de controlarmos convenientemente o tipo de locks que são efectuados durante todo o processo de alimentação. Assim, o uso de lock à tabela, em vez de locks linha a linha, pode também oferecer uma melhoria de desempenho no carregamento de dados. Muitos mecanismos de carregamentos de dados inserem, por omissão, todos os dados de uma vez só, ou seja, são inseridos numa única transacção. Neste caso, se a transacção falhar, independentemente da quantidade de dados inserida, terá de se fazer rollback a toda a transacção. Este problema pode ser ultrapassado recorrendo ao 1 Processo de substituição das chaves naturais operacionais dos registos da tabela de factos pela chave do registo correspondente na dimensão [7].

7 uso de lotes de registos (batches). Com esta abordagem, pode-se especificar a quantidade de registos em cada batch de inserção. Desta forma, fragmenta-se uma grande e pesada transacção em pequenas e rápidas transacções. No caso de falha de uma das transacções, isso não implica fazer o rollback às transacções já terminadas com sucesso, podendo-se retomar o processo de inserção a partir do fim da última transacção bem sucedida. 4 Caracterização das Fontes e do Ambiente de Testes 4.1 Fontes de Dados Na impossibilidade de utilizar dados reais, provenientes de um sistema de povoamento já completamente implementado, tornou-se imperativa a simulação de grandes quantidades de registos, que conseguissem representar o melhor possível a informação contida num sistema real. Uma vez que as tabelas de factos contêm habitualmente valores inteiros, referentes às chaves de substituição e às medidas utilizadas, revela-se adequada a utilização de registos compostos unicamente por valores inteiros. Assim sendo, cada registo utilizado é composto por 11 atributos inteiros, com os seguintes nomes e gamas de valores: A1(1 a 5M), A2(5 a 2), A3(1 a 1), A4(1 a 2), A5(5 a 25), A6(2 a 8), A7(1 a 3), A8(1 a 1), A9(1 a 2), A1(1 a 5), A11(1 a 7). Uma vez que o objectivo consiste no estudo de estratégias de carregamento de elevados volumes de dados, é necessário testar cada estratégia para diferentes quantidades de registos. Para isso, foi criado um único ficheiro contendo 5 milhões de registos. Depois, estes 5 milhões de registos foram divididos por diversos outros ficheiros, com cardinalidades variáveis: 1 mil, 2 mil, 4 mil, 6 mil, 8 mil, 1 milhão, 2 milhões, 4 milhões, 6 milhões, 8 milhões, 1 milhões, 2 milhões, 3 milhões, 4 milhões, 5 milhões, 6 milhões, 7 milhões, 8 milhões, 9 milhões, 1 milhões, 2 milhões, 3 milhões e 4 milhões. Para a criação destes 24 ficheiros de texto foi usado um programa Java que, recorrendo à geração aleatória de valores, consegue assim simular os dados pretendidos. 4.2 Ambiente de Testes Todos os testes foram realizados na mesma máquina, tendo sido feitos todos os possíveis para simular exactamente as mesmas condições para cada teste. Em termos de hardware, foi utilizada uma máquina com processador Dual Core Intel Pentium E214, com frequência de relógio 1.6GHz, cache L1 32KB por core e cache L2 de 1MB; memória RAM 2x Kingston 1GB DDR2-667 double sided, CL5; disco rígido 3.5 Hitachi HDT72525VLA38 SATA-II de 25GB, 72RPM com 8MB de buffer.

8 Já no que ao software diz respeito, o Sistema Operativo instalado foi o Microsoft Windows XP Professional Service Pack 2, sendo o Sistema de Gestão de Bases de Dados utilizado o Microsoft SQL Server 25, Standard Edition. De referir apenas que foram realizados alguns testes complementares utilizando um disco externo 2.5 Western Digital, 54 RPM, tendo sido decidido abdicar deste, após a verificação de piores performances. O carregamento foi então realizado numa nova partição formatada do disco interno. 5 Avaliação Experimental 5.1 Melhoria das estratégias simples Para avaliar a performance de cada uma das estratégias expostas anteriormente, é então necessário proceder à realização de testes em condições idênticas para diferentes volumes de dados. Após a realização dos primeiros testes, verificou-se uma performance abaixo do esperado para as estratégias convencional e usando Prepared Statements. Assim, e aplicando desde logo algumas das optimizações propostas, procedeu-se à comparação (ver Fig. 1) dos tempos de carregamento da estratégia convencional básica (A1), em que se procede à confirmação (commit) da inserção a cada registo inserido, e a estratégia convencional ligeiramente optimizada (A2), em que se realiza o commit depois de finalizada toda a inserção da fonte em causa. Da mesma forma, comparamse também o desempenho da estratégia de Prepared Statements básica (B1) e optimizada (B2). t(min) A1 A2 t(min) B1 B2 Fig. 1. Impacto da realização de commit apenas no final do carregamento, comparativamente com commits após a inserção de cada registo. Verifica-se um ganho na ordem dos 5% em cada uma das estratégias quando se realiza apenas um commit no final do carregamento, como aliás era de esperar. Assim sendo, estas estratégias optimizadas passam agora a ser usadas para a realização dos testes seguintes. Denote-se que, para uma melhor compreensão das figuras presentes, adopta-se a seguinte nomenclatura: Carregamento convencional: estratégia A; Carregamento com Prepared Statements: estratégia B; Carregamento Bulk: estratégia C.

9 5.2 Carregamentos simples Por carregamento simples, entenda-se o carregamento dos registos dos ficheiros de texto para a tabela de factos destino, numa única transacção. A análise do desempenho das três estratégias anteriormente mencionadas é efectuada realizando vários testes para cada um dos diferentes volumes de registos e para cada estratégia. Para que os resultados demonstrem uma maior precisão, foram repetidos os testes para os volumes de dados mais pequenos, sendo o valor referido obtido pela média. t (min) A B C Fig. 2. Comparação das Estratégias A, B e C, para o carregamento simples. As três estratégias revelam um comportamento linear ao longo da variação da cardinalidade. Existe um claro baixo desempenho da estratégia convencional, comportamento que se agrava com o aumento do volume de dados. Com o uso de prepared statements consegue-se um ganho superior a 3% relativamente à estratégia anterior, a partir de 1M de registos. No entanto, a estratégia de Bulk bate claramente qualquer uma das outras, conseguindo ganhos inesperados de 8-9% e 86-93%, a partir de volumes de dados de 1M de registos, quando comparado com a estratégia convencional e de prepared statements, respectivamente. Tomando como exemplo o carregamento de 2 milhões de registos, o carregamento convencional demora mais de 2h, sendo reduzido para quase 14h usando prepared statements, e com a estratégia de Bulk o carregamento demora apenas 1h2min. Para uma menor quantidade de registos, o Bulk continua a revelar-se como a melhor opção, apesar de os ganhos serem consideravelmente menores. 5.3 Optimização com recurso a lotes de registos Após a realização de alguns testes ocasionais às estratégias A e B, verificaram-se melhorias consideráveis aquando da utilização de batches durante o carregamento.

10 Tornou-se então essencial, para a correcta análise do desempenho destas estratégias, a utilização de lotes de registos. É de salientar que, de forma a melhorar o desempenho das estratégias A e B com recurso a batches, é executado um commit para a tabela de factos após o carregamento de cada batch. Esta modificação consegue um ganho variável de alternativa para alternativa, mas sempre superior a 2%, e conseguindo mesmo ser 5% melhor em alguns casos. De seguida, elaborou-se um estudo intensivo do comportamento dos primeiros carregamentos, comparando o carregamento simples com o carregamento através de diferentes batches, para cada estratégia. Para uma melhor avaliação do comportamento do carregamento via batches, é vital experimentar diferentes cardinalidades para cada lote, pelo que foram então testadas cinco alternativas: batches variáveis de 1% da cardinalidade original do ficheiro, de 5%, 1% e também batches de tamanho fixo de 5 mil e 1 mil registos. Mais alguns testes experimentais foram executados, no entanto, apenas serão disponibilizados os resultados de maior relevância. t(min) x A A(1%) A(5%) A(1%) A(5K) A(1K) Fig. 3. Comportamento das alternativas da estratégia convencional, com uso de batches. Como se pode verificar na Fig. 3, não foi possível efectuar os testes para as alternativas que utilizam batches de 1%, 5% e 1% a partir de determinados volumes de dados. Esta impossibilidade deveu-se ao consumo excessivo de memória, ao qual a máquina de testes não conseguiu dar resposta, cancelando o carregamento quase de imediato. Comparando as estratégias com batches de tamanho fixo, verifica-se que o uso de 5 mil registos por lote se revela melhor do que lotes de 1 mil registos. No entanto, para volumes de dados inferiores, o resultado é inverso, ou seja, batches de 1 mil são preferíveis aos de 5 mil, apesar de as diferenças serem muito ligeiras. Como já referido anteriormente, a utilização de batches bate significativamente a estratégia simples, conseguindo para um volume de 2 milhões de registos, por exemplo, uma passagem de mais de 21 horas de carregamento para menos de 6 horas (redução de mais de 7% do tempo total de carregamento).

11 t(min) x B B(1%) B(5%) B(1%) B(5K) B(1K) Fig. 4. Comportamento das alternativas da estratégia prepared statements, com uso de batches. No que diz respeito à estratégia de prepared statements, não foi novamente possível executar testes com 1%, 5% e 1% do volume total de dados, quando a cardinalidade de cada batch excedia os 1 mil registos. Seria necessário aumentar os 2GB de memória física da máquina de testes para os conseguir levar a cabo. Nesta estratégia, os lotes de 1 mil registos revelam-se sempre melhores que os lotes de 5 mil, apesar de as diferenças serem muito pequenas. Novamente, comparando com o carregamento sem batches, são conseguidos ganhos de aproximadamente 72% (redução de 14 horas para 4 horas), isto para um volume total de 2 milhões de registos. Mesmo para volumes de dados menores, o ganho médio conseguido através do uso de batches de 1 mil registos, é sempre superior a 7%. t(min) ,5 1,25 1,75,5, x C C(1%) C(5%) C(1%) C(5K) C(1K) Fig. 5. Comportamento das alternativas da estratégia de bulk loading, com uso de batches.

12 Nos testes realizados à estratégia de Bulk Loading, não se verificaram quaisquer problemas ao nível da memória física, uma vez que esta estratégia carrega directamente as páginas do disco para a tabela de factos, não havendo necessidade de colocar os registos em memória. Qualquer uma das alternativas com batches revelam um melhor desempenho relativamente ao bulk simples, sendo as diferenças entre cada uma delas relativamente pequenas. As estratégias de batches de dimensão variável apresentam-se como as melhores nos testes, com clarividência para o bulk loading com batches de 1%, verificando-se ainda um comportamento muito instável quando os lotes são constituídos por 1 mil registos ou menos. Note-se que, contrariamente ao carregamento simples, os carregamentos com uso de batches não revelam um comportamento linear, o que poderá demonstrar uma certa influência da máquina de testes, em particular do comportamento do disco. Regressando agora ao confronto entre as estratégias de carregamento, é importante comparar a utilização de batches para cada uma das estratégias. Ora, uma vez que não existem dados suficientes para a comparação do carregamento através de batches variáveis de 1%, 5% e 1% do total de registos, irão apenas ser analisados os carregamentos com lotes fixos, no caso, de 1 mil e 5 mil registos. t(min) A(5K) A(1K) B(5K) B(1K) C(5K) C(1K) Fig. 6. Comparação das estratégias de carregamento com batches de dimensão fixa. Como já havia sido denotado no carregamento simples, também o carregamento com recurso a lotes de registos tem um comportamento semelhante. Verifica-se uma clara diminuição no tempo de processamento com prepared statements, relativamente à estratégia convencional, e uma melhoria ainda mais notável quando é aplicado o Bulk Loading. Fornecendo valores mais concretos, o ganho obtido quando se utilizam prepared statements reside nos 3-33% a partir de um volume total de 4 milhões de registos. Por sua vez, a estratégia de Bulk Loading representa ganhos médios de 79% e 87% relativamente ao carregamento com prepared statements e convencional, respectivamente.

13 5.4 The best of the best Para finalizar, efectua-se agora uma comparação entre a melhor alternativa testada para cada uma das estratégias de carregamento de dados. Como foi possível verificar na subsecção anterior, as estratégias que revelaram um melhor desempenho foram a estratégia convencional com recurso a batches de tamanho fixo 5 mil registos - A(5K); a estratégia com prepared statements recorrendo também a batches, de cardinalidade fixa 1 mil registos - B(1K); e ainda a estratégia de bulk loading com batches de tamanho variável, correspondente a 1% do número total de registos - C(1%). t(min) A(5K) B(1K) C(1%) Fig. 7. Desempenho de cada uma das melhores alternativas testadas. Mesmo tendo por base de comparação a melhor implementação de cada alternativa, verifica-se uma esmagadora superioridade da estratégia de Bulk sobre as restantes. Concretizando, os ganhos obtidos por este tipo de carregamento rondam em média os 82 e 88 pontos percentuais, relativamente às estratégias B(1K) e A(5K), respectivamente. Esta diferença percentual corresponde, em tempo efectivo, e para um total de 4 milhões de registos, à passagem de mais de 11 horas de carregamento para 7 horas e meia (através do uso de Prepared Statements) ou 1 hora e 2 minutos no caso da utilização de bulk. Ainda assim, a estratégia B(1K) revela uma melhoria sobre a convencional, que varia entre 31 e 39% conforme o volume de dados testado. Por uma questão meramente indicativa, comparando a abordagem que revelou a pior performance com o carregamento de 2 milhões de registos através da melhor estratégia, verifica-se um ganho a rondar os 97%. Na primeira, o carregamento demoraria mais de 21 horas, enquanto na segunda bastariam uns meros 4 minutos para que todo o processo estivesse concluído. Estes resultados demonstram que o frequente desprezo demonstrado em relação à última fase do processo de povoamento dos sistemas de data warehousing, aquando da sua implementação, origina frequentemente uma grande deterioração do desempenho no carregamento dos dados para o data warehouse quando se verifica um grande aumento do volume de dados a inserir.

14 6 Conclusões e Trabalho Futuro Neste artigo, abordámos o problema do carregamento de elevados volumes de dados para as tabelas de facto de um data warehouse, tendo como fonte de dados ficheiros de texto. Apresentámos três tipos de estratégias para esse carregamento, bem como diversas formas de optimização das mesmas, com vista à redução do tempo levado a cabo por essa tarefa. Os testes experimentais demonstram que a estratégia de carregamento Bulk se revela notoriamente como a melhor para o caso testado, sendo a utilização de batches uma adição importante para a sua optimização. No entanto, não foi possível identificar o tamanho ideal de cada batch, devido a limitações de testes. Para os volumes de dados testados, não se verificaram pontos claros de degradação em qualquer uma das estratégias testadas, apesar de haver uma ligeira percepção de uma pioria na performance de algumas das estratégias, o que indica que estas poderão degenerar a partir de volumes de dados superiores aos testados. Num futuro próximo, pretende-se aplicar os testes a diferentes sistemas reais de povoamento, que utilizam estratégias com um maior nível de optimização, de forma a verificar se os resultados obtidos se mantêm válidos. Outra estratégia a comparar passa pela utilização do comando Import, presente no DB2, da IBM, que consiste basicamente numa optimização da estratégia convencional [5]. Pretendemos, adicionalmente, aprofundar os testes realizados, em especial para a determinação do tamanho ideal de cada lote de registos para a estratégia que implementa o Bulk Loading, de forma a criar um modelo de recomendação, em que, tomando como ponto de partida a estimativa do volume de dados para carregamento, seja possível indicar os parâmetros que permitam um desempenho óptimo. Referências 1. Amer-Yahia, S. and Cluet, S. 24. A declarative approach to optimize bulk loading into databases. ACM Trans. Database Syst., vol. 29, pp (24) 2. Bridge, W., Joshi, A., Keihl, M., Lahiri, T., Loaiza, J., MacNaughton, N.: The Oracle Universal Server Buffer Manager. In Proceedings of the 23rd International Conference on Very Large Data Bases (VLDB 97, Athens, Greece, Aug.). pp (1997) 3. Fenk, R., Kawakami, A., Markl, V., Bayer, R., and Osaki, S.: Bulk Loading a Data Warehouse Built Upon a UB-Tree. In Proceedings of the 2 international Symposium on Database Engineering & Applications, pp IDEAS. IEEE Computer Society, Washington (2). 4. Henderson, K.: The Guru's Guide to SQL Server Architecture and Internals. Addison Wesley, USA (23) 5. IBM, uw.admin.cmd.doc/doc/r834.html 6. Kimball, R., Caserta, J.: The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming and Delivering Data. John Wiley & Sons, Indianapolis (24) 7. Kimball, R., Reeves, L., Ross, M., Thornthwaite, W., Becker, B.: The data Warehouse Lifecycle Toolkit: Practical Techniques for Building Data Warehouse and Business Intelligence Systems, Second Edition. Wiley Publishing, Inc., Indianapolis (28).

15 8. Microsoft Developer Network, 9. Microsoft Developer Network, 1. Microsoft Developer Network, 11. Parsian, M.: JDBC Recipes: A Problem-Solution Approach. Apress, USA (25) 12. Raghavan, V. V Loading the Data Warehouse Across Various Parallel Architectures. In Proceedings of the 22th international Conference on Very Large Data Bases, Morgan Kaufmann, San Francisco (1996) 13. Rausch, N.A. and Wills, N.J.: "Super Size It!!! Maximize the Performance of Your ETL Processes." Proceedings of the SAS Global Forum 27 Conference, (28) 14. Shirazi, J.: Java Performance Tuning, 2nd Edition. O'Reilly & Associates, Inc., California (23) 15. Venugopal, V., Bhat, S.G., Fang, J.: Performance Driven Data Integration: an optimized approach. SAS Global Forum (27) 16. Wilkins, B.: Tips for improving INSERT performance in DB2 Universal Database, IBM (24)

Manual do Utilizador

Manual do Utilizador Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Electrotécnica e Computadores Software de Localização GSM para o modem Siemens MC35i Manual do Utilizador Índice

Leia mais

BACO BAse de Co-Ocorrências

BACO BAse de Co-Ocorrências BACO? BACO BAse de Co-Ocorrências Luís Sarmento O BACO é uma base de dados que guarda informação gerada a partir um processamento efectuado a um ou vários corpora. O objectivo: Permitir pesquisar rapidamente

Leia mais

SiDEI. Sistema de Avaliação Automática de Alunos. Gestão e Desenvolvimento de Aplicações Informáticas

SiDEI. Sistema de Avaliação Automática de Alunos. Gestão e Desenvolvimento de Aplicações Informáticas SiDEI Sistema de Avaliação Automática de Alunos Gestão e Desenvolvimento de Aplicações Informáticas Disciplina de Engenharia de Software Instituto Superior de Engenharia do Porto Alunos: André Serafim

Leia mais

Bases de Dados II Engª. Informática + Ensino Informática

Bases de Dados II Engª. Informática + Ensino Informática Introdução SQL SERVER hugomcp@di-ubi.pt, 2004 Arranque do MS SQLServer UNIVERSIDADE DA BEIRA INTERIOR Departamento de Informática Bases de Dados II Engª. Informática + Ensino Informática Pode-se usar o

Leia mais

ZS Rest. Manual Avançado. Instalação em Rede. v2011

ZS Rest. Manual Avançado. Instalação em Rede. v2011 Manual Avançado Instalação em Rede v2011 1 1. Índice 2. Introdução... 2 3. Hardware... 3 b) Servidor:... 3 c) Rede:... 3 d) Pontos de Venda... 4 4. SQL Server... 5 e) Configurar porta estática:... 5 5.

Leia mais

Software GEFISEME Aplicação destinada ao auxílio do serviço de Metrologia. Rua D. Afonso Henriques, 1726 4435-003 Rio Tinto www.worldsolutions.

Software GEFISEME Aplicação destinada ao auxílio do serviço de Metrologia. Rua D. Afonso Henriques, 1726 4435-003 Rio Tinto www.worldsolutions. Software GEFISEME Aplicação destinada ao auxílio do serviço de Metrologia Rua D. Afonso Henriques, 1726 4435-003 Rio Tinto www.worldsolutions.pt Conteúdo Introdução... 2 Gestão de acessos... 3 Ficha de

Leia mais

NOTIFICAÇÃO DE NEGÓCIO

NOTIFICAÇÃO DE NEGÓCIO NOTIFICAÇÃO DE NEGÓCIO O Microsoft Business Solutions for Supply Chain Management Navision Business Notification ajudao a gerir a sua empresa mais facilmente e eficazmente. Pode identificar qualquer problema

Leia mais

ServidorEscola Plataforma Web de apoio Administrativo

ServidorEscola Plataforma Web de apoio Administrativo ServidorEscola Plataforma Web de apoio Administrativo Introdução Co-habitamos uma sociedade de informação universal, aliados ao paradigma da evolução tecnológica que se verifica e se revela como um meio

Leia mais

Acronis Servidor de Licença. Manual do Utilizador

Acronis Servidor de Licença. Manual do Utilizador Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA

Leia mais

CAD Trabalho III. PThreads e OpenMP. Pedro Carvalho de Oliveira Rui André Ponte Costa

CAD Trabalho III. PThreads e OpenMP. Pedro Carvalho de Oliveira Rui André Ponte Costa Universidade de Coimbra Faculdade de Ciências e Tecnologia Departamento de Engenharia Informática CAD Trabalho III PThreads e OpenMP Pedro Carvalho de Oliveira Rui André Ponte Costa Maio 2008 Resumo Neste

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

TABELA 3.1 Requisitos do Windows Server 2008 Standard

TABELA 3.1 Requisitos do Windows Server 2008 Standard 3 3INSTALAÇÃO DE UM SERVIDOR 2008 Feita a apresentação das funcionalidades do Windows Server 2008, eis que chega a hora mais desejada: a da implementação do nosso servidor. No entanto não é de todo recomendável

Leia mais

Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade. Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up.

Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade. Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up. Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up.pt Índice Objectivos Matriz de data marts vs dimensões

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0 PLATAFORMA Versão 1.0 31 de Março de 2008 TABELA DE REVISÕES Versão Autores Descrição da Versão Aprovadores Data António Rocha Cristina Rodrigues André Ligeiro V0.1r Dinis Monteiro Versão inicial António

Leia mais

Módulo de Administração MANUAL DO UTILIZADOR

Módulo de Administração MANUAL DO UTILIZADOR MANUAL DO UTILIZADOR Versão 1.5 ÍNDICE 1. INTRODUÇÃO 2 2. REQUISITOS DO SISTEMA 3 3. INÍCIO DA UTILIZAÇÃO 4 4. IDENTIFICAÇÃO DO OPERADOR 5 4.1 MUDAR SENHA DE ACESSO 5 5. GESTÃO DE UTILIZADORES 6 5.1 PERMISSÕES

Leia mais

Requisitos do Sistema

Requisitos do Sistema PJ8D - 017 ProJuris 8 Desktop Requisitos do Sistema PJ8D - 017 P á g i n a 1 Sumario Sumario... 1 Capítulo I - Introdução... 2 1.1 - Objetivo... 2 1.2 - Quem deve ler esse documento... 2 Capítulo II -

Leia mais

Modelos de cobertura em redes WIFI

Modelos de cobertura em redes WIFI Departamento de Engenharia Electrotécnica Secção de Telecomunicações Licenciatura em Engenharia Electrotécnica e de Computadores Comunicação sem fios 2005/2006 Grupo: nº e Modelos de cobertura em redes

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação O Business Analytics for Microsoft Business Solutions Navision ajuda-o a ter maior controlo do seu negócio, tomar rapidamente melhores decisões e equipar os seus funcionários para que estes possam contribuir

Leia mais

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com Chord Tecnologias de Middleware 2006/2007 Fernando Martins - fmp.martins@gmail.com Tópicos Objectivo Motivação Peer-To-Peer Chord Descrição Geral Características Distintivas Comparação DNS Modelo do Sistema

Leia mais

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt

Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Desktop Virtual Paulo César Especialista de Soluções da ATM informática paulo.cesar@atminformatica.pt Tendo em conta que a Virtualização será um dos principais alvos de investimento para o ano 2009 (dados

Leia mais

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Análise de Desempenho de um SGBD para Aglomerado de Computadores Análise de Desempenho de um SGBD para Aglomerado de Computadores Diego Luís Kreutz, Gabriela Jacques da Silva, Hélio Antônio Miranda da Silva, João Carlos Damasceno Lima Curso de Ciência da Computação

Leia mais

Um dos dispositivos mais utilizados nos nossos dias são as memórias USB, vulgarmente conhecidas pelo nome Pen.

Um dos dispositivos mais utilizados nos nossos dias são as memórias USB, vulgarmente conhecidas pelo nome Pen. Akropole Catequista Como usar numa Pen USB Quando instala o Akropole Catequista, a partir do seu instalador, as configurações do seu computador não são alteradas. Por outro lado, o Akropole Catequista

Leia mais

Gestão de Configurações II

Gestão de Configurações II Gestão de Configurações II Bibliografia Livro: Software Configuration Management Patterns: Effective Teamwork, Practical Integration Gestão de Projecto 14 Padrões de Gestão Os padrões de gestão de configurações

Leia mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

Leia mais

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Nero ImageDrive Manual

Nero ImageDrive Manual Nero ImageDrive Manual Nero AG Informações sobre direitos de autor e marcas O manual do Nero ImageDrive e todo o respectivo conteúdo estão protegidos por direitos de autor e são propriedade da Nero AG.

Leia mais

Manual do GesFiliais

Manual do GesFiliais Manual do GesFiliais Introdução... 3 Arquitectura e Interligação dos elementos do sistema... 4 Configuração do GesPOS Back-Office... 7 Utilização do GesFiliais... 12 Outros modos de utilização do GesFiliais...

Leia mais

License Management. Instalação do agente de licença

License Management. Instalação do agente de licença License Management Instalação do agente de licença Apenas para a utilização interna CLA_InstallTOC.fm Índice Índice 0 1 Informações elementares.............................................. 1-1 1.1 Introdução..........................................................

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

4 Implementação e Resultados Experimentais

4 Implementação e Resultados Experimentais 4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,

Leia mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

Manual de Utilizador

Manual de Utilizador Instituto Politécnico de Setúbal Escola Superior de Tecnologia Engenharia Informática Industrial Sistemas Operativos 2006 Manual de Utilizador Docente: Professor António Corral Trabalho elaborado por:

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia Informática Ano letivo 2012/13 Unidade Curricular Bases de Dados II ECTS 6 Regime Obrigatório Ano 2º Semestre 1º sem Horas de trabalho globais Docente (s) José Carlos Fonseca Total 168

Leia mais

POSTOUCH. Manual Software

POSTOUCH. Manual Software POSTOUCH Manual Software Introdução Introdução POS TOUCH é uma solução direcionada a pequenos postos de venda, que tem necessidade de criação de muitos talões de uma forma linear e rápida. A solução implementa

Leia mais

Análise real de dados

Análise real de dados Análise real de dados Para tacógrafos analógicos e digitais www.siemensvdo.com 1 Maximize todas as potencialidades dos tacógrafos digitais Novas obrigações, novas opções de análise Para si e para a sua

Leia mais

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens Documentação, Informática e Desenvolvimento 1 DOCBASE ASSOCIAÇÔES MULTIMÉDIA 1. Conceitos gerais 2. Estrutura da pasta de associações 3. A área de documentos reservados 4. Associação de Imagens 5. Procedimentos

Leia mais

DESENVOLVIMENTO DE PLUG-INS KETTLE PARA GERAÇÃO DE MONDRIAN SCHEMA A PARTIR DE BASES RELACIONAIS, UTILIZANDO A METODOLOGIA AGILE ROLAP.

DESENVOLVIMENTO DE PLUG-INS KETTLE PARA GERAÇÃO DE MONDRIAN SCHEMA A PARTIR DE BASES RELACIONAIS, UTILIZANDO A METODOLOGIA AGILE ROLAP. DESENVOLVIMENTO DE PLUG-INS KETTLE PARA GERAÇÃO DE MONDRIAN SCHEMA A PARTIR DE BASES RELACIONAIS, UTILIZANDO A METODOLOGIA AGILE ROLAP. Eduardo Cristovo de Freitas Aguiar (PIBIC/CNPq), André Luís Andrade

Leia mais

manual instalação e configuração v13 1

manual instalação e configuração v13 1 manual instalação e configuração v13 1 Conteúdo Introdução... 3 Conteúdo do DVD:... 3 Instalação e configuração do ERP... 4 Instalação do ERP... 4 Configuração do ERP... 6 Como actualização de versão...

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo Departamento de Engenharia Informática 2012/2013 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

Replicação de servidores

Replicação de servidores Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação de servidores Replicação: que benefícios nos dá? 1) Melhor desempenho e escalabilidade Replicar serviços permite que algumas operações

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

Q-flow 2.2. Código de Manual: Qf22007POR Versão do Manual: 3.1 Última revisão: 21/10/2005 Aplica-se a: Q-flow 2.2. Sizing

Q-flow 2.2. Código de Manual: Qf22007POR Versão do Manual: 3.1 Última revisão: 21/10/2005 Aplica-se a: Q-flow 2.2. Sizing Q-flow 2.2 Código de Manual: Qf22007POR Versão do Manual: 3.1 Última revisão: 21/10/2005 Aplica-se a: Q-flow 2.2 Sizing Qf22007POR v3.1 Q-flow Sizing Urudata Software Rua Canelones 1370 Segundo Andar CP11200

Leia mais

CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2

CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2 CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2 ROMULO RUBENS CUNHA JUNIOR 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo aborda os tipos de contenções que podem ocorrer no Sistema Gerenciador de Banco de

Leia mais

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS Manual de Instalação Tempro Software StavTISS Sumário 1. INTRODUÇÃO... 2 2. REQUISITOS DO SISTEMA... 3 3. INSTALAÇÃO... 4 4.

Leia mais

Enunciado do Projecto

Enunciado do Projecto C O M P U T A Ç Ã O M Ó V E L 2 0 0 7 / 2 0 0 8 Enunciado do Projecto 17 de Março de 2008 1. Objectivos Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização

Leia mais

Relatório Técnico do projecto ARIADNE. Interface de utilizador do NewsSearch

Relatório Técnico do projecto ARIADNE. Interface de utilizador do NewsSearch Relatório Técnico do projecto ARIADNE Praxis XXI Interface de utilizador do NewsSearch Carlos Correia Norman Noronha Daniel Gomes Junho de 2000 Índice 1. INTRODUÇÃO...3 1.1 MOTIVAÇÃO...3 1.2 PROPOSTO...3

Leia mais

bit Tecnologia ao Serviço do Mundo Rural www.ruralbit.pt

bit Tecnologia ao Serviço do Mundo Rural www.ruralbit.pt bit Tecnologia ao Serviço do Mundo Rural www.ruralbit.pt :: Ruralbit :: http://www.ruralbit.pt :: Índice :: Ruralbit :: http://www.ruralbit.pt :: Pág. 1 Introdução O Pocket Genbeef Base é uma aplicação

Leia mais

Documentação sobre a Tecnologia RAID

Documentação sobre a Tecnologia RAID Documentação sobre a Tecnologia RAID Enquanto especialista no armazenamento de dados, a LaCie reconhece que quase todos os utilizadores de computadores irão necessitar de uma solução de cópia de segurança

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

foram previstas inicia-se um círculo vicioso em que é feito um pedido aos informáticos, esse pedido entra na «linha de montagem» das queries, e num

foram previstas inicia-se um círculo vicioso em que é feito um pedido aos informáticos, esse pedido entra na «linha de montagem» das queries, e num PREFÁCIO Actualmente estamos confrontados com um mundo fascinante em que todos os dias surgem novidades no universo das novas tecnologias da informação, mas em que velhos problemas no que concerne à falta

Leia mais

Cópias de Segurança no Akropole Backups

Cópias de Segurança no Akropole Backups Cópias de Segurança no Akropole Backups Cópias de Segurança - Backups As Cópias de Segurança são aquela coisa que todos sabemos que são necessárias mas que nunca nos preocupamos até ao dia em que são precisas.

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

MANUAL DE INSTALAÇÃO

MANUAL DE INSTALAÇÃO MANUAL DE INSTALAÇÃO V3.0.0 AVAplayer Índice Requisito Mínimos...2 Computador de emissão...2 Computadores de produção postos de trabalho...2 Instalação...3 Instalar o AVAplayer a partir do CD-ROM fornecido...3

Leia mais

Guia rápido do utilizador

Guia rápido do utilizador Guia rápido do utilizador Índice Relatório de roubo 3 Criar um novo relatório de roubo 4 Fornecer detalhes do relatório de roubo Secção 1. Especificar o computador 5 Fornecer detalhes do relatório de roubo

Leia mais

Quais são as edições do SQL Server 2008?

Quais são as edições do SQL Server 2008? Quais são as edições do SQL Server 2008? Edição Express Workgroup Standard Enterprise Developer Web Mobile Descrição Para clientes desconectados ou aplicativos autônomos Banco de dados para operações de

Leia mais

1. Introdução ao. Crystal Reports

1. Introdução ao. Crystal Reports 1. Introdução ao Crystal Reports Como é sabido e geralmente aceite por todos nós, vivemos um período onde a complexidade dos negócios é cada vez maior, tal como o prova a intensificação da concorrência,

Leia mais

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia Engenharia Informática Redes e Computadores 2006/2007 Levantamento e Inventariação de Rede Privada Rafael Esteves Alves Forno

Leia mais

Entrega de Folhas de Férias

Entrega de Folhas de Férias Entrega de Folhas de Férias Guia do Utilizador Versão 4.0 Agosto/ 2014 Índice 1. Introdução 2. Criar/ Validar Folhas de Férias 3. Acesso à funcionalidade 4. Inserir/ Consultar Folhas de Férias 5. Comprovativo

Leia mais

Manual de Instalação v7.60. PRIMAVERA Business Software Solutions (última atualização em 27.03.2014) (última actualização em 27.02.

Manual de Instalação v7.60. PRIMAVERA Business Software Solutions (última atualização em 27.03.2014) (última actualização em 27.02. Manual de Instalação v7.60 PRIMAVERA Business Software Solutions (última atualização em 27.03.2014) (última actualização em 27.02.2012) Índice Índice... 1 Introdução... 2 Instalação do Software... 3 Requisitos

Leia mais

Uma peça estratégica para o seu negócio

Uma peça estratégica para o seu negócio Uma peça estratégica para o seu negócio INFORMAÇÃO GERAL DA EMPRESA CASO DE SUCESSO EM IMPLEMENTAÇÃO BI PERGUNTAS E RESPOSTAS Fundada em 1997, Habber Tec é uma empresa especializada na oferta de soluções

Leia mais

Versão 1.0. GEP Gabinete de Estratégia e Planeamento. aneamento. Rua Castilho, Nº 24 Lisboa 1250-069 Lisboa Homepage : http://www.gep.mtss.gov.

Versão 1.0. GEP Gabinete de Estratégia e Planeamento. aneamento. Rua Castilho, Nº 24 Lisboa 1250-069 Lisboa Homepage : http://www.gep.mtss.gov. Versão 1.0 GEP Gabinete de Estratégia e Planeamento aneamento. Rua Castilho, Nº 24 Lisboa 1250-069 Lisboa Homepage : http://www.gep.mtss.gov.pt Índice Folha 2 ÍNDICE Folha 1 - Requisitos -------------------------------------------------------------

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Modelos de cobertura em redes WIFI

Modelos de cobertura em redes WIFI Comunicação sem fios Departamento de Engenharia Electrotécnica Secção de Telecomunicações Mestrado em Fisica 2005/2006 Grupo: nº e Modelos de cobertura em redes WIFI 1 Introdução Nos sistemas de comunicações

Leia mais

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1. Oficina da Internet

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1. Oficina da Internet COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina da Internet Utilização Educativa da Internet Guião de iniciação à consulta e pesquisa de informação na Web Índice Introdução... 2 Alguns conceitos básicos...2

Leia mais

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas Informática Aula 3 Conceitos Básicos. Informação e Sistemas de Informação Comunicação Empresarial 2º Ano Ano lectivo 2003-2004 Introdução aos Sistemas A Teoria dos Sistemas proporciona um meio poderoso

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

Objectivos Gerais da Aplicação 5 Requisitos Mínimos e Recomendados 5 Processo de Instalação 6

Objectivos Gerais da Aplicação 5 Requisitos Mínimos e Recomendados 5 Processo de Instalação 6 MANUAL DO UTILIZADOR A informação contida neste manual, pode ser alterada sem qualquer aviso prévio. A Estratega Software, apesar dos esforços constantes de actualização deste manual e do produto de software,

Leia mais

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas de Informação. Sistemas Operacionais 4º Período Sistemas de Informação Sistemas Operacionais 4º Período SISTEMA DE ARQUIVOS SUMÁRIO 7. SISTEMA DE ARQUIVOS: 7.1 Introdução; 7.2 s; 7.3 Diretórios; 7.4 Gerência de Espaço Livre em Disco; 7.5 Gerência de

Leia mais

INSTALAÇÃO DO SAGE 2008 NO WINDOWS XP

INSTALAÇÃO DO SAGE 2008 NO WINDOWS XP INSTALAÇÃO DO SAGE 2008 NO WINDOWS XP Inserir o cd de instalação do programa e executar a opção Next ERP Clicar em instalar Alguns instantes depois aparecerá a mensagem: o Sage Next utiliza o Microsoft

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

Timer e serviços do Timer

Timer e serviços do Timer Como é que se justifica a utilização de temporizadores em sistemas embebido e em tempo-real? 1. Nestes sistemas, tarefas do sistema e do utilizador fazem escalonamento e execução de actividades após decorrer

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores

Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores Variações dinâmicas do consumo de corrente em centros de dados e salas de servidores Por Jim Spitaels Aplicação técnica nº 43 Revisão 2 Sumário executivo Os requisitos de alimentação dos centros de dados

Leia mais

Extracção de Anúncios e Notificação de Utilizadores do Site do Emprego Científico da Fundação para a Ciência e a Tecnologia

Extracção de Anúncios e Notificação de Utilizadores do Site do Emprego Científico da Fundação para a Ciência e a Tecnologia Extracção de Conhecimento da Internet Mestrado em Inteligência Artificial e Computação Extracção de Anúncios e Notificação de Utilizadores do Site do Emprego Científico da Fundação para a Ciência e a Tecnologia

Leia mais

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático CAPÍTULO 4 Implementação do modelo num programa de cálculo automático Neste capítulo, será feita a demonstração da aplicação do modelo num programa de cálculo automático, desenvolvido em linguagem de programação

Leia mais

CONTROLO VISUAL DE UM TAPETE ROLANTE

CONTROLO VISUAL DE UM TAPETE ROLANTE CONTROLO VISUAL DE UM TAPETE ROLANTE José Fernandes; José Silva; Nuno Vieira; Paulo Sequeira Gonçalves Curso de Engenharia Industrial Escola Superior de Tecnologia de Castelo Branco Av. do Empresário,

Leia mais

Sistemas Operativos I

Sistemas Operativos I Gestão da Memória Luis Lino Ferreira / Maria João Viamonte Fevereiro de 2006 Gestão da Memória Gestão de memória? Porquê? Atribuição de instruções e dados à memória Endereços lógicos e físicos Overlays

Leia mais

Lumitester PD-20. Manual de uso. Índice. Software de controlo

Lumitester PD-20. Manual de uso. Índice. Software de controlo Índice Lumitester PD-20 Software de controlo Manual de uso Muito obrigado por comprar o aparelho Lumitester PD-20. Antes de pôr em operação este manual deve ser lido na sua totalidade para o uso seguro

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

O que é RAID? Tipos de RAID:

O que é RAID? Tipos de RAID: O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Representação Binária de Números

Representação Binária de Números Departamento de Informática Notas de estudo Alberto José Proença 01-Mar-04 Dep. Informática, Universidade do Minho Parte A: Sistemas de numeração e representação de inteiros A.1 Sistemas de numeração

Leia mais

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária)

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) http://curriculum.degois.pt Março de 2012 Versão 1.5 1 Introdução O objectivo deste guia é auxiliar o utilizador

Leia mais

Guia da Internet. Página 1

Guia da Internet. Página 1 Guia da Internet Utilização da Internet Introdução... 2 Alguns conceitos básicos... 2 Endereços (URL)... 2 Páginas Web... 3 Abrir o Internet Explorer... 3 O ecrã do Internet Explorer... 4 A Barra de Ferramentas

Leia mais

Organização Básica de Computadores. Memória. Memória. Memória. Memória. Memória Parte I. Computador eletrônico digital. Sistema composto por

Organização Básica de Computadores. Memória. Memória. Memória. Memória. Memória Parte I. Computador eletrônico digital. Sistema composto por Ciência da Computação Arq. e Org. de Computadores Parte I Organização Básica de Computadores Computador eletrônico digital Sistema composto por processador memória dispositivos de entrada e saída interligados.

Leia mais

Performance. Mike McBride Tradução: José Pires

Performance. Mike McBride Tradução: José Pires Mike McBride Tradução: José Pires 2 Conteúdo 1 Configuração da Performance 4 1.1 Instâncias do Konqueror.................................. 4 1.2 Pré-carregamento...................................... 4

Leia mais

Instalação do Sistema Operativo Windows XP

Instalação do Sistema Operativo Windows XP Curso Profissional - Técnico de Informática de Gestão 10ºB Prof. Pedro Lopes Ficha de Trabalho nº1 S i s t e m a s d e I n f o r m a ç ã o Instalação do Sistema Operativo Windows XP A instalação de um

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

ARQUIVO DIGITAL e Gestão de Documentos

ARQUIVO DIGITAL e Gestão de Documentos ARQUIVO DIGITAL e Gestão de Documentos TECNOLOGIA INOVAÇÃO SOFTWARE SERVIÇOS A MISTER DOC foi constituída com o objectivo de se tornar uma referência no mercado de fornecimento de soluções de gestão de

Leia mais