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)

A compreensão do mecanismo de transações é essencial, sempre que a

A compreensão do mecanismo de transações é essencial, sempre que a Transações A compreensão do mecanismo de transações é essencial, sempre que a base de dados d servir várias clientes simultaneamente. Em SQL é possível definir explicitamente os limites de uma transação.

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

Bases de Dados Distribuídas

Bases de Dados Distribuídas Introdução Devido ao ambiente de grande competitividade em que as organizações de hoje têm que actuar, estas são forçadas a distribuir-se geograficamente, procurando as condições locais mais favoráveis

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

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

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

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

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

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

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

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

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

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

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

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

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

Arquitecturas de Sistemas de Base de Dados

Arquitecturas de Sistemas de Base de Dados Arquitecturas de Sistemas de Base de Dados Sistemas Centralizados Sistemas Cliente-Servidor Sistemas Paralelos Sistemas Distribuídos Sistemas Centralizados Correm sobre um único computador e não interagem

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

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

Data Warehousing e OLAP

Data Warehousing e OLAP Data Warehousing e OLAP Jornadas de Engenharia Informática Instituto Politécnico da Guarda Henrique Madeira Departamento de Engenharia Informática Faculdade de Ciências e Tecnologia Universidade de Coimbra

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

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

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

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

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

A SOLUÇÃO MAIS DETALHADA E EFICIENTE PARA DOCUMENTAÇÃO TOTAL DA INFORMAÇÃO DA EMPRESA E ANÁLISE DE IMPACTO NA INSTALAÇÃO EM AMBIENTE OS/390 OU zos

A SOLUÇÃO MAIS DETALHADA E EFICIENTE PARA DOCUMENTAÇÃO TOTAL DA INFORMAÇÃO DA EMPRESA E ANÁLISE DE IMPACTO NA INSTALAÇÃO EM AMBIENTE OS/390 OU zos A SOLUÇÃO MAIS DETALHADA E EFICIENTE PARA DOCUMENTAÇÃO TOTAL DA INFORMAÇÃO DA EMPRESA E ANÁLISE DE IMPACTO NA INSTALAÇÃO EM AMBIENTE OS/390 OU zos O DOCET é uma solução que integra toda a informação obtida

Leia mais

Considerações sobre o Disaster Recovery

Considerações sobre o Disaster Recovery Considerações sobre o Disaster Recovery I M P O R T A N T E O backup completo para Disaster Recovery não dispensa o uso de outros tipos de trabalhos de backup para garantir a integridadedo sistema. No

Leia mais

Módulo de Estatísticas MANUAL DO UTILIZADOR

Módulo de Estatísticas MANUAL DO UTILIZADOR MANUAL DO UTILIZADOR Versão 1.4 ÍNDICE 1. INTRODUÇÃO 2 2. REQUISITOS DO SISTEMA 3 3. CONTROLOS GERAIS DO WINDOWS 4 3.1 ESTRUTURA HIERÁRQUICA 4 3.2 CONTROLO DE DATA 5 4. INÍCIO DA UTILIZAÇÃO 8 5. IDENTIFICAÇÃO

Leia mais

Ficha de Caracterização do Trabalho

Ficha de Caracterização do Trabalho Ficha de Caracterização do Trabalho Título: RAID : aumento do paralelismo e segurança no armazenamento de dados Resumo: Apresentam-se, através de uma linguagem objectiva, os sistemas de armazenamento RAID,

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

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

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

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 de Hardware - Humanus

Requisitos de Hardware - Humanus 1 Requisitos Mínimos Hardware: 1.1 Client Servidor Processador Intel Xeon X3430 2.4GHz ou superior Disco Rígido de 500 GB ou superior Intel Pentium G6950 2.80GHz ou superior Memória de 2GB ou superior

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

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

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Novembro de 2004

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Novembro de 2004 FICHEIROS COM EXEMPLOS Envie um e-mail* para software@centroatlantico.pt para conhecer os endereços de Internet de onde poderá fazer o download dos ficheiros com os exemplos deste livro. Reservados todos

Leia mais

Tarefa Orientada 20 Cursores

Tarefa Orientada 20 Cursores Tarefa Orientada 20 Cursores Objectivos: Declarar cursores Utilizar cursores Utilizar funções do sistema para trabalhar com cursores Actualizar dados através de cursores Um cursor é um objecto da base

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

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

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

ILM e as Arquitecturas Empresariais por Pedro Sousa

ILM e as Arquitecturas Empresariais por Pedro Sousa ILM e as Arquitecturas Empresariais por Pedro Sousa Neste artigo clarifica-se os objectivos do ILM (Information Life Cycle Management) e mostra-se como estes estão dependentes da realização e manutenção

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

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

Nota introdutória. PME em Números 1 IAPMEI ICEP

Nota introdutória. PME em Números 1 IAPMEI ICEP PME em Números PME em Números 1 Nota introdutória De acordo com o disposto na definição europeia 1, são classificadas como PME as empresas com menos de 250 trabalhadores cujo volume de negócios anual não

Leia mais

CPU Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

CPU Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto Fundamentos de Arquitetura de Computadores Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 4. i. Introdução ii. O Trabalho de um Processador iii. Barramentos iv. Clock Interno e Externo v. Bits do Processador

Leia mais

Master Data Management. Resumo

Master Data Management. Resumo Master Data Management Luis Torres 1, Helena Galhardas 2, João Damásio 3. 1) Instituto Superior Técnico, Lisboa, Portugal luis.torres@tagus.ist.utl.pt 2) Instituto Superior Técnico, Lisboa, Portugal helena.galhardas@tagus.ist.utl.pt

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

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

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

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

Business Intelligence Framework

Business Intelligence Framework Business Intelligence Framework José Peixoto and Júlio Lopes Departamento de Informática Universidade do Minho Abstract. Este artigo apresenta os elementos que constituem a Framework desenvolvida, bem

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

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

Ficha da Unidade Curricular (UC)

Ficha da Unidade Curricular (UC) Impressão em: 03-01-2013 16:09:44 Ficha da Unidade Curricular (UC) 1. Identificação Unidade Orgânica : Escola Superior de Tecnologia e Gestão Curso : [IS] Informática para a Saúde Tipo de Curso : UC/Módulo

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

Leia mais

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento CPU - Significado CPU Central Processing Unit Unidade Central de Processamento CPU - Função Na CPU são executadas as instruções Instrução: comando que define integralmente uma operação a ser executada

Leia mais

OCL: Object Constraint Language

OCL: Object Constraint Language OCL: Amílcar Domingos Rodrigues Santy Fernandes, Girson César Silva Monteiro, Rui Sá Guerra, Simão Castro Faculdade de Engenharia da Universidade Do Porto, Rua Dr. Roberto Frias, s/n 4200-465 Porto, Portugal

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

Encontro de Utilizadores Esri 2013. ArcGIS for Server 10.2 Administração Orador: João Ferreira Esri Portugal

Encontro de Utilizadores Esri 2013. ArcGIS for Server 10.2 Administração Orador: João Ferreira Esri Portugal Encontro de Utilizadores Esri 2013 ArcGIS for Server 10.2 Administração Orador: João Ferreira Esri Portugal ArcGIS Server Administração e Configuração João Ferreira Agenda Arquitectura Instalação do ArcGIS

Leia mais

Service Appliance IVETIME. Disponibilidade de serviço instantânea! Plug and Play. Segurança. Tolerância a falhas. Manutenção zero. Elevada Performance

Service Appliance IVETIME. Disponibilidade de serviço instantânea! Plug and Play. Segurança. Tolerância a falhas. Manutenção zero. Elevada Performance IVETIME Service Appliance Disponibilidade de serviço instantânea! Aumentar a produtividade Transformar o serviço a Clientes Proteger o capital intelectual Plug and Play Segurança Tolerância a falhas Manutençã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

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

UNIVERSIDADE CATÓLICA PORTUGUESA Centro Regional das Beiras Pólo de Viseu Instituto Universitário de Desenvolvimento e Promoção Social

UNIVERSIDADE CATÓLICA PORTUGUESA Centro Regional das Beiras Pólo de Viseu Instituto Universitário de Desenvolvimento e Promoção Social UNIVERSIDADE CATÓLICA PORTUGUESA Centro Regional das Beiras Pólo de Viseu Instituto Universitário de Desenvolvimento e Promoção Social DISCIPLINA Controlo Informático da Gestão LICENCIATURA Informática

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

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

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

Expandindo um banco de dados SQL de ICM

Expandindo um banco de dados SQL de ICM Expandindo um banco de dados SQL de ICM Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Fundamentos Expanda o espaço com uso do ICMDBA Quando usar o gerenciador de empreendimento

Leia mais

Informação legal... 4 Frequently Asked Questions (FAQ)... 6 Quickstart Tutorial... 9

Informação legal... 4 Frequently Asked Questions (FAQ)... 6 Quickstart Tutorial... 9 Índice Introdução ao ELMS e ao MSDNAA... 3 Informação legal... 4 Frequently Asked Questions (FAQ)... 6 Quickstart Tutorial... 9 O presente documento destina se a auxiliar todos os alunos que sejam beneficiários

Leia mais

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD Soluções de Acessibilidade VLibras - Desktop Manual de Instalação da Ferramenta Microsoft Windows R Núcleo de Pesquisa e Extensão / LAViD 2015 INTRODUÇÃO Objetivo Este manual contém introdução e informações

Leia mais

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo Iniciar o Data Adapter Configuration Wizard Toolbox Data Duplo clique em OleDbDataAdapter Botão next na caixa de diálogo Se carregar em Cancel, o wizard é cancelado e podemos depois definir as propriedades

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

- A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de Data Warehouses.

- A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de Data Warehouses. - A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de. - O que é uma Data Warehouse? - Colecção de bases de dados orientadas por assunto

Leia mais

TABELA 2.1 Requisitos do Windows Server 2012 Standard

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

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma

Leia mais

Manual de Instalação e Configuração do Sistema Cali LAB View

Manual de Instalação e Configuração do Sistema Cali LAB View Manual de Instalação e Configuração do Sistema Cali LAB View www.cali.com.br - Manual de Instalação e Configuração do Sistema Cali LAB View - Página 1 de 29 Índice INSTALAÇÃO E CONFIGURAÇÃO (FIREBIRD E

Leia mais

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

Manual de Instalação v7.60. PRIMAVERA Business Software Solutions (última atualização em 23.01.2014) (última actualização em 27.02. Manual de Instalação v7.60 PRIMAVERA Business Software Solutions (última atualização em 23.01.2014) (última actualização em 27.02.2012) Índice Índice... 1 Introdução... 2 Posso continuar a utilizar a versão

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

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

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

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

VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS. Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência

VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS. Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência VIRTUALIZAÇÃO EM SERVIDORES DE BANCO DE DADOS Igor Lucas Coelho Santos 1 Iremar Nunes de Lima 2 Resumo: A estratégia de virtualização de servidores de banco de dados é uma tendência recente em Tecnologia

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Aspectos genéricos - Base de Dados

Aspectos genéricos - Base de Dados Aspectos genéricos - Base de Dados 1) Ficheiros de dados, registos e campos 2) Base de Dados Flat_File (de uma tabela) 2.1) Especificação e exemplo 2.2) Limitações das bases de dados baseadas em uma só

Leia mais

Tecnologias de alimentação alternativas para centros de dados e salas de servidores

Tecnologias de alimentação alternativas para centros de dados e salas de servidores Tecnologias de alimentação alternativas para centros de dados e salas de servidores Aplicação técnica nº 64 Revisão 1 Sumário Executivo As células de e as micro-turbinas são novas tecnologias alternativas

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

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

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização Internet Update de PaintManager TM Manual de instalação e utilização do programa de actualização ÍNDICE O que é o programa Internet Update? 3 Como se instala e executa o programa? 3 Aceder ao programa

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

Performance Tuning. O que é, por onde começar e o que fazer? Fábio Prado. www.fabioprado.net

Performance Tuning. O que é, por onde começar e o que fazer? Fábio Prado. www.fabioprado.net Performance Tuning O que é, por onde começar e o que fazer? Fábio Prado Visão geral Nesta apresentação veremos: O que é Tuning? Objetivos do tuning Problemas mais comuns Onde e por que tunar? Atividades

Leia mais

Manual de Utilização

Manual de Utilização Apresentação 1 1 Apresentação Manual de Utilização Revisão 2007.1 Bem vindo ao programa de Gestão de Bancos AstorBan da Astormatica. Onde encontrar a informação? Problemas & Soluções Como instalar e configurar

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

Uma Arquitetura de Gestão de Dados em Ambiente Data Warehouse

Uma Arquitetura de Gestão de Dados em Ambiente Data Warehouse Uma Arquitetura de Gestão de Dados em Ambiente Data Warehouse Alcione Benacchio (UFPR) E mail: alcione@inf.ufpr.br Maria Salete Marcon Gomes Vaz (UEPG, UFPR) E mail: salete@uepg.br Resumo: O ambiente de

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

Engenharia de Software. Ficha T. Prática nº 2

Engenharia de Software. Ficha T. Prática nº 2 Engenharia de Software Ficha T. Prática nº 2 Objectivo: Análise do software como produto e como processo Caso de Estudo - Sistema de Controlo Orçamental O problema e as suas peculiaridades O principal

Leia mais

Manual de instalação do NVIDIA RAID

Manual de instalação do NVIDIA RAID Manual de instalação do NVIDIA RAID 1. Manual de instalação do NVIDIA BIOS RAID... 2 1.1 Introdução ao RAID... 2 1.2 Precauções a ter com as configurações do RAID... 3 1.3 Criar o disposição de um disco...

Leia mais

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04 Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra. Adobe Reader 6 Colecção: Software obrigatório

Leia mais

A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES. José M. Viegas (Março 2000)

A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES. José M. Viegas (Março 2000) A UTILIZAÇÃO DE MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES José M. Viegas (Março 2000) I - A NECESSIDADE DO RECURSO AOS MODELOS MATEMÁTICOS PARA A ESTIMAÇÃO DA PROCURA DE TRANSPORTES

Leia mais

TECNOLOGIA DE INFORMAÇÃO : HARDWARE

TECNOLOGIA DE INFORMAÇÃO : HARDWARE MINISTÉRIO DA EDUCAÇÃO SECRETÁRIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO CAMPUS CATU TECNOLOGIA DE INFORMAÇÃO : HARDWARE Profª. Eneida Alves Rios A consideração

Leia mais