FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO LATO SENSU

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

Download "FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO LATO SENSU"

Transcrição

1 FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO LATO SENSU ESPECIALIZAÇÃO EM BANCO DE DADOS MELHORIAS NA PERFORMANCE DO POSTGRESQL BRUNO VIEIRA DE MENEZES ARACAJU SE 2013

2 2 BRUNO VIEIRA DE MENEZES MELHORIAS NA PERFORMANCE DO POSTGRESQL Artigo Científico apresentado ao Núcleo de Pósgraduação e Extensão da Faculdade de Administração e Negócios de Sergipe como exigência para obtenção do título de Especialista em Banco de Dados. Orientação: Clailson S. D. de Almeida ARACAJU SE 2013

3 3 COMO AUMENTAR A PERFORMANCE DO POSTGRESQL Bruno Vieira de Menezes 1 RESUMO O artigo fala de algumas dicas e configurações para uma melhor performance do banco de dados PostgresSQL. Dicas como melhor configuração do Hardware (memória RAM, Discos, entre outros) e alguns dos principais parâmetros de configuração do banco de dados que pode ajudar numa melhor performance desde que usados corretamente. Uma boa configuração para o PostgreSQL varia de acordo com a realidade em que o banco irá trabalhar, se será bastante requisitado ou não, se as consultas serão demoradas, entre outras situações. PALAVRAS CHAVE Postgresql; Banco de Dados; Hardware; Performance; Configuração. SUMMARY The article talks about some tips and settings for better performance from the database PostgresSQL. Tips for best hardware configuration (RAM, disks, etc.) and some key configuration parameters of the database which can help in better performance since used correctly. A good setting for PostgreSQL varies with the reality in which the bank will work, whether it is requested or not enough, if queries are time consuming, among other situations. KEY WORDS Postgresql; Database; Hardware; Performance; Configuration. 1 Formado em Sistemas para Internet, pela Faculdade de Administração e Negócios de Sergipe e Desenvolvedor de Sistemas Pleno atuando na Xprocess Tecnologia de Gestão Empresarial Aracaju/SE. bruno@brunovieira.eti.br

4 4 1. INTRODUÇÃO Atualmente, boa parte dos negócios estão informatizados, desde os Bancos aos pequenos estabelecimentos no comércio. Todos usam algum determinado sistema que armazena as informações que aparecem na tela do computador em um banco de dados. Quando fazemos alguma consulta do nosso saldo bancário, por exemplo, o sistema vai buscar essas informações dentro do banco de dados e a cada dia que passa, nós usuários exigimos mais agilidade no retorno da informação quando solicitada. Por conta disso existem configurações que são feitas para que o banco de dados trabalhe de uma forma melhor e trazendo as informações mais rápidas ao usuário final. Para essas informações chegarem cada vez mais rápidas, é necessário que o banco de dados tenha uma boa performance. Essa performance para o bando de dados não significa apenas trazer a informação o mais rápido possível, trata-se de dar um retorno de forma mais rápida exigindo o mínimo de esforço possível ao software e hardware. Abordaremos neste artigo o SGBD PostgreSQL. Serão comentadas algumas das possíveis configurações, desde o hardware ao software, para que tenha uma melhor performance. 2. CONFIGURAÇÕES DO POSTGRESQL PARA MELHORAR A PERFORMANCE Uma boa configuração para o PostgreSQL varia de acordo com a realidade em que o banco irá trabalhar, se será bastante requisitado ou não, se as consultas serão demoradas, entre outras situações. 2 2 As informações de configuração têm como base a tradução do livro "PostgreSQL 8.0 Performance Checklist" Publicado por Josh Berkus em 12/01/2005 (em feira por Fábio Telles Rodriguez e o Artigo Database Tuning: Configurando o Interbase e o PostgreSQL de Gregório Baggio Tramontina.

5 5 De acordo com o artigo publicado por Bruce Momjian, podemos dizer que existem duas principais formas para melhorar o desempenho de SGBDs: melhorando o Hardware (CPU, Memória RAM, Discos novos, rápidos e confiáveis) e otimizando as consultas realizadas (usando VACUUM, VACUUM ANALYZE, EXPLAIN, entre outros). Além dessas duas formas citadas por Bruce, existe uma terceira muito importante que é a correta configuração do SGBD. Não adianta ter um bom hardware se não souber configurar de forma correta o SGBD, pois dessa forma o SGBD usará os recursos disponíveis de melhor forma trazendo um resultado mais rápido. De acordo com Berkus, temos cinco princípios de hardware para configurar o servidor. 3 CINCO PRINCÍPIOS DE HARDWARE PARA CONFIGURAR O SERVIDOR 3.1 Discos > RAM > CPU Se você vai gastar dinheiro em um servidor PostgreSQL, gaste em arranjos de discos de alta performance e tenha processadores medianos e uma memória adequada. Se você tiver um pouco mais de dinheiro, adquira mais RAM. (BERKUS, 2005) PostgreSQL, assim como outros SGDBs que suportam ACID, utilizam E/S muito intensamente e normalmente usa mais a placa SCSI do que a CPU (existindo exceções). Isto se aplica independente de serem pequenos ou grandes servidores. O ideal é obter uma CPU com custo baixo se isso permitir você comprar uma placa RAID de alta performance ou vários discos. 3.2 Mais unidades de discos = Melhor Tendo múltiplos discos, o PostgreSQL e a maioria dos sistemas operacionais irão paralelizar as requisições de leitura e gravação no banco de dados. Isto faz uma enorme diferença em sistemas transacionais, e uma significativa melhoria em aplicações onde o banco de dados inteiro não cabe na RAM. Com os tamanhos mínimos de discos (72GB) você será tentado a utilizar apenas um disco ou um único par espelhado em RAID 1. (BERKUS, 2005) Berkus ainda diz que se for utilizado 4, 6 ou até 14 discos irá render um aumento no desempenho. O SCSI é ainda significativamente melhor em fluxo de dados em BD que um IDE ou mesmo um Serial ATA.

6 6 3.3 Separe o Log de Transações do Banco de Dados: Levando-se em consideração que já foi investido dinheiro com um bom tamanho num conjuntos de discos, existem várias opções ideais ao invés de jogar tudo em um unido RAID. De acordo com Berkus (2005), inicialmente deve ser colocado o log de transações (pg_xlog) no seu próprio discos (um arranjo ou um disco), o que causará uma diferença de cerca de 12% na performance de banco de dados que têm grande volume de gravações. Ele ainda completa dizendo que: Isto é especialmente vital em pequenos sistemas com discos SCSI ou IDE lentos: mesmo em um servidor com dois discos, você pode colocar o log de transações sobre o disco do sistema operacional e tirar algum benefício. 3.4 RAID 1+0/0+1 > RAID 5: O RAID 5 com 3 discos tem sido comum entre os vendedores de servidores econômicos, porém, essa configuração é a mais lenta de discos para o PostgreSQL. Com essa configuração é esperado, pelo menos, 50% a menos de velocidade nas consultas em ralação ao obtido com discos SCSI normais. Com um conjuntos de 2, 4 ou 6 discos, o ideal é focar no RAID 1 ou 1+0. Caso seja acima de 6 discos, o RAID 5 irá começar a ter uma performance aceitável e comparando com uma controladora individual, tende a ser bem melhor. Berkus ainda destaca um ponto como o mais importante: usar uma placa RAID barata pode ser um risco; é sempre melhor usar RAID por software do que um incorporado numa placa Adaptec que vem com seu servidor Evitar colocar no mesmo servidor o PostgreSQL e outras aplicações Outro grande erro que eu vejo em muitas organizações e colocar o PostgreSQL em um servidor com várias outras aplicações competindo pelos mesmos recursos. Berkus (2005)

7 7 Um dos piores caso é quando o PostgreSQL é coloca na mesma máquina com outros SGBDs, pois os bancos irão lutar pela banda de acesso ao disco e cachê de disco do SO, com isso ambos terão uma performance muito baixa. Caso seja garantido que haja memória RAM suficiente, o PostgreSQL poderá compartilhar a mesma máquina com aplicações que utilizam principalmente CPU e RAM intensamente, como o Apache. 4 MEMÓRIA CACHE COMPARTILHADA O PostgresSQL não altera diretamente as informações no disco, ele solicita que os dados sejam lidos da memória cache compartilhada, então o cliente PostgresSQL lê e escreve os bloco para finalmente escrever no disco. Quando é preciso acessar as tabelas no banco, primeiramente é procurado pelos blocos necessários no cachê, caso encontre o processo é dado continuidade, caso contrário é feito uma solicitação ao SO para que os blocos sejam carregados, assim as consultas podem se tornar mais lentas. Na configuração padrão do PostgreSQL, é alocado 1000 shared buffers, sendo que cada buffer usa 8KB, o que soma 8MB. Caso esse número seja aumentado, o cache terá mais informações, dessa forma diminuindo a necessidade de solicitações de acesso ao disco. Deve-se ter cuidado ao aumentar essa quantidade de memória, pois se exagerada pode acarretar o uso do swap, o que terá que haver acesso ao disco e tornará as consultas mais lentas. 5 QUAL PORÇÃO DA RAM E QUAL TAMANHO IDEAL DO CACHE DEVE SER RESERVADO? A porção da memória RAM deve ser a maior possível desde que não atrapalhe os outros programas. Pois caso seja necessário o SO utilizar o swap poderá causar lentidão. O tamanho ideal para o Cache (shared buffer) tem que ser suficiente para conseguir manipular tabelas que comumente sejam acessadas. Caso o Cache não tenha o tamanho suficiente, há a necessidade de usar o swap (onde as informação irão para o disco) fazendo com que tenha um desempenho inferior.

8 8 6 ALGUNS PARÂMETROS DE CONFIGURAÇÃO DO POSTGRESQL Os arquivos de parâmetros de configuração ficam em um arquivo chamado de postgresql.conf. Cada linha do arquivo especifica um parâmetro e cada parâmetro assume um valor inteiro, booleano, de ponto flutuante ou string. Para fazer alterações no valor de um parâmetro, pode-se simplesmente editar o arquivo ou passar na linha de comando para o servidor quando é iniciado. Abaixo TRAMONTINA, em seu artigo Database Tuning: Configurando o Interbase e o PostgreSQL, destaca alguns desses parâmetros. 6.1 shared buffers (MEM) Controla o número de buffers de memória compartilhada utilizados pelo servidor. Cada buffer possui 8192 bytes (8Kb), a não ser que um tamanho diferente tenha sido especificado em BLCKSZ durante a compilacão do servidor. Um valor mais alto nesse parâmetro pode significar maior desempenho, embora um valor muito grande possa trazer resultados inversos. 128MB é o valor default. 6.2 fsync (MEM) Um valor booleano que, quando verdadeiro, determina que o sistema deve realizar a chamada de sistema fsync() em vários pontos da execução das transações para garantir que os dados modificados sejam escritos no disco. Manter este parâmetro ligado causa uma degradação no desempenho, já que quando ele está desabilitado o sistema operacional pode tentar fazer o seu melhor em termos de buffer-ing, ordenação e retardo das escritas em disco. No entanto, desabilitá-lo deixa o sistema vulnerável a problemas de persistência nos dados, já que até operações de escrita do log em disco (que seguem o protocolo WAL) são deixadas a cargo do sistema operacional. A documentação do PostgreSQL recomenda que se você confia no seu sistema operacional, hardware e empresa de suporte (ou baterias de backup), considere desabilitar este parâmetro. 6.3 enable hasjoin, enable mergejoin, enable nestloop (PLN)

9 9 Habilita ou desabilita o uso de planos de consulta com junções feitas através de hash join, merge join e nested loops, respectivamente. 6.4 enable indexscan (PLN) quando possível. Liga ou desliga o uso, por parte do planejador, de index scans nas relações, 6.5 cpu tuple cost, cpu index tuple cost, cpu operator cost (PLN/CPU) Valores de ponto flutuante que especificam o custo de CPU assumido pelo planejador para processar, respectivamente, uma tupla de uma relação, uma entrada de índice em um index scan, e um operador na cláusula WHERE de uma consulta. Esse custo é dado por uma fração do custo de ler páginas seqüencialmente do disco. Os valores default são, em ordem, 0.01, 0.001, e geqo (PLN) O PostgreSQL também implementa um algoritmo genético para otimizar as consultas feitas no servidor. Este parâmetro é um valor booleano que habilita ou desabilita o uso de otimização genética. O valor default é ligado. 6.7 deadlock timeout (CCT) Tempo, em milissegundos, que uma transação espera por um lock antes de se fazer uma checagem de ocorrência de deadlocks. Em sistemas com grande carga de trabalho pode ser útil aumentar esse tempo, para diminuir o tempo gasto pelo PostgreSQL para realizar essa verificação e tomar menos recursos do sistema. Em um cenário ideal esse valor seria maior que o tempo médio de uma transação, para se aproveitar do fato de que os locks serão provavelmente liberados antes que se decida pela verificação. O valor default é 1s. 7. UTILIZANDO O VACUUM

10 10 Um grande número de inserções, atualizações e exclusões, podem ocasionar uma perda de performance no PostgreSQL. Para auxiliar o DBA na correção dessa perda de performance, existe o VACUUM. O VACUUM surgiu a partir da versão 6.5 utilizando o modelo MVCC (Multiversion Concurrency Control). Esse modelo tem como objetivo auxiliar na implementação do padrão ACID (atomicidade, consistência, isolamento e durabilidade). Em um ambiente onde vários usuários podem estar acessando os mesmos dados, o modelo MVCC garante a melhora de performance, porém esse modelo ocasiona o aumento do tamanho das tabelas de forma rápida. No PostgreSQL, se um registro é atualizado por um usuário, internamente ele não é atualizado. Esse registro é marcado como inútil para a base de dados e sua referência de índice é perdida sendo apontado para um novo registro que é criado. No exemplo abaixo, existe uma tabela de lista de clientes devedores, onde ocorre o uso do UPDATE quando Maria paga de sua dívida. Ao invés do registro ser alterado, ele é marcado para sua posterior remoção e é criado um novo registro com o novo valor da dívida de Maria. Fonte: imaster Data: 27/02/2013 UPDATE Clientes SET Debito = Debito 2500 WHERE cod = 2

11 11 Fonte: imaster Data: 27/02/2013 O mesmo ocorre numa situação de exclusão de registro, ele apenas fica marcado. Assim agora é mais fácil entender o porquê que as tabelas crescem tão rapidamente. O VACUUM surgiu como uma ferramenta para poder organizar esses registros. Ele faz uma varredura nas tabelas buscando os dados marcados como inúteis e os exclui, logo após, realoca os registros de forma que não fiquem espaços entre eles. A depender de como for executado, além de fazer essa varredura, ele também atualiza as estatísticas utilizadas pelo otimizador para determinar o modo mais eficaz de executar uma consulta. Abaixo um exemplo de uma tabela que foi utilizado o VACUUM:

12 12 Fonte: imaster Data: 27/02/2013 A sintaxe para utilização do VACUUM é a seguinte: VACUUM [FULL] [FREEZE] [VERBOSE] [tabela] VACUUM [FULL] [FREEZE] [VERBOSE] ANALYZE [tabela[(coluna[,...])]] Parâmetros: FULL Seleciona uma limpeza completa, que pode recuperar mais espaço, mas é muito mais demorada e bloqueia a tabela em modo exclusivo. FREEZE Seleciona um congelamento agressivo das tuplas. VERBOSE Produz um relatório detalhado da atividade de limpeza de cada tabela. ANALYZE Atualiza as estatísticas utilizadas pelo otimizador para determinar o modo mais eficiente de executar uma consulta. tabela O nome da tabela específica a ser limpa. O padrão é que sejam todas as tabelas do banco de dados corrente. coluna O nome da coluna específica a ser analisada. O padrão e também o recomendado é que sejam todas as colunas. 8. ALGUMAS BOAS PRÁTICAS AO ESCREVER AS CONSULTAS 8.1 Referências de coluna totalmente qualificada em join O SGBD não precisará procurar nas tabelas cada coluna utilizada nas colunas. Ao usar nomes para as tabelas, escrever as colunas com os respectivos nomes de tabelas, isso evitará do SGBD procurar em qual tabela estará a coluna. Escrita ruim:

13 13 SELECT p.name, pt.name, description, price FROM products p, product_types pt WHERE p.product_type_id = pt.product_type_id AND p.product_id = 1; Boa Escrita: SELECT p.name, pt.name, p.description, p.price FROM products p, product_types pt WHERE p.product_type_id = pt.product_type_id AND p.product_id = 1; 8.2 Usar Expressão Case em vez de várias consultas Quando possível enviar apenas uma consulta ao SGBD ao invés de várias. Escrita Ruim: SELECT count(*) FROM products WHERE price < 13; SELECT count(*) FROM products WHERE price BETWEEN 13 AND 15; SELECT count(*) FROM products WHERE price > 15; Boa Escrita: SELECT count( CASE WHEN price < 13 THEN 1 ELSE null ) as low, count(case WHEN price BETWEEN 13 AND 15 THEN 1 ELSE null END ) ) as med, count(case WHEN price > 15 THEN 1 ELSE null END ) ) as high, FROM products; 8.3 Utilizar UNION ALL em vez de UNION O UNION remove as linhas duplicadas, dessa forma há um esforço do SGBD. Se possível utilizar o UNION ALL quando tiver certeza que não existirá duplicação. Escrita Ruim: SELECT product_id, product_type_id, name FROM products UNION SELECT product_id, product_type_id, name FROM more_products Boa Escrita: SELECT product_id, product_type_id, name FROM products UNION ALL SELECT product_id, product_type_id, name FROM more_products

14 Utilizar Exists em vez de IN existência da linha. O IN verifica a existência de valores reais, já o Exists verifica apenas a Escrita Ruim: SELECT product_id, name FROM products WHERE product_id IN (SELECT product_id FROM purchases) Boa Escrita: SELECT product_id, name FROM products outer WHERE product_id EXISTS (SELECT 1 FROM purchases inner WHERE inner. product_id = outer.product_id )

15 15 9 CONSIDERAÇÕES FINAIS De acordo com o que foi apresentado em termos de configurações, verificamos que apenas uma configuração boa do hardware ou apenas uma boa configuração no postgresql.conf não resolve muita coisa. O ideal é que os dois sejam bem configurados e, assim, trabalhando juntos vão obter uma boa performance no retorno de informações, por exemplo. Percebemos também que não se deve utilizar uma configuração padrão para todos os ambientes possíveis com pouca, média, ou bastante requisições ao banco de dados. Para cada situação há uma forma de se configurar o banco com o intuito de fazer que o banco trabalhe na melhor performance possível.

16 16 REFERÊNCIAS BIBLIOGRÁFICAS MILANI, André. PostgreSQL - Guia do Programador. Edição 1. Nova Tec acessado em 18/12/ acessado em 18/12/ Desempenho_e_Otimiza%C3%A7%C3%B5es_do_PostgreSQL, acessado em 04/02/ acessado em 04/02/ acessado em 27/02/ _PostgreSQL, acessado em 27/02/2013

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Dicas de Ajuste (Tuning) de SQL Após o término do Capítulo: Mostrar algumas dicas de como refinar SQLs, de modo a obter

Leia mais

A instância Oracle é composta de :

A instância Oracle é composta de : Conceitos básicos da arquitetura do Oracle Uma instância Oracle consiste na System Global Area (SGA) e um conjunto de processos de segundo plano (background processes). Quando uma instância é iniciada,

Leia mais

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Prof. Paulo Ferreira Atividade para Sala de Aula: 25/11/2008 1. Introdução Índices Os índices

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

OTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior

OTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior OTIMIZAÇÃO DE CONSULTAS - MYSQL Prof. Antonio Almeida de Barros Junior Para a otimização de um SGBD precisamos identificar as consultas lentas que eventualmente são submetidas ao banco: Configurações do

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

Leia mais

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Laboratório de Bases de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011 Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log

Leia mais

Postgre SQL. Apresentação. Objetivo. Facilitador. Dados Principais. Ricardo Barbosa

Postgre SQL. Apresentação. Objetivo. Facilitador. Dados Principais. Ricardo Barbosa Postgre SQL Apresentação O PostgreSQL é atualmente o Sistema Gerenciador de Banco de Dados mais avançado do mundo, pois sua robustez e recursos disponibilizados fazem frente aos outros SGBDs proprietários

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de

Leia mais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

INSTITUTO FEDERAL CATARINENSE Campus Ibirama INSTITUTO FEDERAL CATARINENSE Campus Ibirama Arquitetura de Hardware Professor Eduardo Stahnke Arquiteturas Grande diversidade das arquiteturas de computadores Componentes básicos do computador Os Principais

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Banco de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma CPU Forma de execução

Leia mais

Reindexação Automática em SGBDs Relacionais

Reindexação Automática em SGBDs Relacionais Reindexação Automática em SGBDs Relacionais Eduardo Morelli emorelli@inf.puc-rio.br Ana Carolina Almeida abrito@inf.puc-rio.br José Maria Monteiro monteiro@inf.puc-rio.br Sérgio Lifschitz sergio@inf.puc-rio.br

Leia mais

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque Criando Transações Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SQL Tabelas Exemplo TbAutor TbAutor TbEditora CNPJ TbEditora CNPJ TbLivro ISBN Autor Editora TbLivro ISBN Autor Editora TbLoja CNPJ

Leia mais

BANCO DE DADOS 2 TRANSAÇÃO

BANCO DE DADOS 2 TRANSAÇÃO BANCO DE DADOS 2 TRANSAÇÃO Prof. Edson Thizon Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. O SGBD deve incorporar mecanismos de proteção

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais

Lista - RAID. c) Redundância d) Capacidade

Lista - RAID. c) Redundância d) Capacidade Lista - RAID 1. O principal objetivo do RAID é a a) Autenticidade b) Compactação c) Redundância d) Capacidade e) Qualidade 2. As soluções de RAID 1 necessitam de, no mínimo, dois discos, possuem bom desempenho

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar - Aula 1-1. ENTRADAS E SAIDAS Uma das principais funções dos sistemas operacionais é controlar os dispositivos de entrada e saída (E/S ou I/O). O Sistema Operacional (SO) deve ser capaz de enviar comando

Leia mais

5.1. Fluxo para geração do Roadmap

5.1. Fluxo para geração do Roadmap 46 5 VelvetH-DB Os Sistemas Gerenciadores de Banco de Dados (SGBDs), foram criados com o intuito de permitir o armazenamento e manipulação de grandes volumes de dados, fornecendo uma aplicação que garanta,

Leia mais

Processamento da Consulta. Processamento da Consulta

Processamento da Consulta. Processamento da Consulta Processamento da Consulta Equipe 05 Adriano Vasconcelos Denise Glaucia Jose Maria Marcigleicy Processamento da Consulta Refere-se ao conjunto de atividades envolvidas na extra de dados de um banco de dados.

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

Sumário. Introdução a Transações

Sumário. Introdução a Transações Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Configurações de performance no SQL Server José Antônio da Cunha CEFET-RN

Configurações de performance no SQL Server José Antônio da Cunha CEFET-RN Configurações de performance no SQL Server 2005 José Antônio da Cunha CEFET-RN Para obter o máximo de performance, DBAs configuram o SQL Server para atender às suas necessidades de negócio e muitas vezes

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

Dicas para melhorar a performance do sistema

Dicas para melhorar a performance do sistema Dicas para melhorar a performance do sistema A baixa performance do sistema pode ser ocasionada por diversos fatores, com por exemplo, pouca memória para iniciar o banco de dados, problemas de rede, baixa

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 7. Armazenamento Físico. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 7. Armazenamento Físico. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 7 Armazenamento Físico Professora: Fátima L. S. Nunes Introdução Até agora vimos os conceitos de BD e SGBD e o funcionamento geral da linguagem SQL. Mas, o que

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

SSC510 Arquitetura de Computadores. 8ª aula

SSC510 Arquitetura de Computadores. 8ª aula SSC510 Arquitetura de Computadores 8ª aula ARQUITETURAS MIMD COM MEMÓRIA COMPARTILHADA COERÊNCIA DE CACHE PROFA. SARITA MAZZINI BRUSCHI Memórias Cache Políticas de Atualização As memórias caches possuem

Leia mais

Designing Data Intensive Applications

Designing Data Intensive Applications Designing Data Intensive Applications Capítulo 1 Carmem Hara Aplicações Atuais Dados Processamento Problemas Volume Complexidade Velocidade de atualização Tecnologias SGBD: armazenamento Cache: resultados

Leia mais

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. NoSQL Apache Cassandra para DBAs Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. Apresentação Pessoal Ronaldo Martins: Há mais de 14 anos dedicado à tecnologias Oracle, passando pelas

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Recuperação de Falhas Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

Curso PostgreSQL - Treinamento PostgreSQL - Fundamental

Curso PostgreSQL - Treinamento PostgreSQL - Fundamental Curso PostgreSQL - Treinamento PostgreSQL - Fundamental Sobre PostgreSQL PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto.hoje,

Leia mais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3) Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Perguntas e respostas

Perguntas e respostas Autodesk Revit Autodesk Revit LT Perguntas e respostas Este documento fornece perguntas e respostas sobre como usar o software Autodesk Revit ou Autodesk Revit LT com o Boot Camp, parte do Mac OS X que

Leia mais

Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores

Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores Instituto de Matemática e Estatística - USP MAC0412 - Organização de Computadores EP1 Experimentos com o cache Tiago Andrade Togores - 6514230 30 de setembro de 2010 Sumário 1 Introdução 2 1.1 O que é

Leia mais

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition Capítulo 11: Implementação de Sistemas de Arquivos Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação

Leia mais

AUMENTO DE PERFORMANCE POR MEIO DA OTIMIZAÇÃO DE BANCO DE DADOS

AUMENTO DE PERFORMANCE POR MEIO DA OTIMIZAÇÃO DE BANCO DE DADOS AUMENTO DE PERFORMANCE POR MEIO DA OTIMIZAÇÃO DE BANCO DE DADOS Quezia Gonçalves Oliveira 1, Luiz Fernando Braga Lopes 1 1 Universidade Paranaense (UNIPAR) Paranavaí - PR - Brasil queziagonoli@yahoo.com.br,

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Prof. Mário A. Nascimento, Ph.D. mario@dcc.unicamp.br http://www.dcc.unicamp.br/~mario Material de autoria original de Raghu Ramakrishnan. 1 Bibliografia Ramakrishnan R., Database

Leia mais

consistent gets é o número de vezes que uma leitura consistente foi requisitada para um bloco do buffer cache.

consistent gets é o número de vezes que uma leitura consistente foi requisitada para um bloco do buffer cache. Ajustando o BUFFER CACHE, SHARED POOL e o LOG BUFFER BUFFER CACHE O buffer cache é utilizado para armazenar os blocos lidos a partir dos discos. Significa que um buffer cache pequeno irá fazer com que

Leia mais

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência de Dispositivos Subsistemas de E/S Device Driver Controlador de E/S

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações Bit, Caractere, Byte e Palavra Conceito de Arquivos e Registros Medidas de desempenho http://www.ic.uff.br/~debora/fac! 1 2

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações Bit, Caractere, Byte e Palavra Conceito de Arquivos e Registros Medidas de desempenho 2

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Manual de Migração do Banco de Dados Paradox para Firebird

Manual de Migração do Banco de Dados Paradox para Firebird Pagina 1 Titulo do Manual [Parâmetros Gerais] Elaboração [Ricardo Francisco Mizael] Versão 1.0 Data Elaboração 27/10/2011 Paginas 21 Data Revisão 22/11/2011 Pagina 2 Conteúdo do Manual Apresentação...3

Leia mais

Múltiplas Tabelas. Disciplina de Banco de Dados

Múltiplas Tabelas. Disciplina de Banco de Dados Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas relacionadas. Precisamos lembrar que para relacionar tabelas

Leia mais

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída Aula 19 Sistema de Entrada/Saída Sistema de E/S Por que estudar? Essenciais! Muitos tipos: - mouse - discos - impressora - scanner - rede - modem Cada fabricante complica de um jeito diferente. Tempos

Leia mais

Memória Cache. Aula 24

Memória Cache. Aula 24 Memória Cache Aula 24 Introdução Objetivo: oferecer o máximo de memória disponível na tecnologia mais barata, enquanto se fornece acesso na velocidade oferecida pela memória mais rápida Velocidade CPU

Leia mais

Sistemas de Arquivos

Sistemas de Arquivos Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Sistemas de Arquivos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 6 do livro do Tanenbaum

Leia mais

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK Ciência da Computação GBC043 Sistemas de Banco de Dados Orientações Transações - PostgreSQL Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Executar os comandos conforme

Leia mais

Linha de Sistemas Folhamatic

Linha de Sistemas Folhamatic Manual de instalação Linha de Sistemas Folhamatic Procedimento Manual Americana 2014 1 ÍNDICE DOWNLOAD DO INSTALADOR/MIGRADOR CONSIDERAÇÕES IMPORTANTES REQUISITOS MÍNIMOS REQUISITOS ESSENCIAIS ARQUIVOS

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

LINGUAGEM C: ALOCAÇÃO DINÂMICA

LINGUAGEM C: ALOCAÇÃO DINÂMICA LINGUAGEM C: ALOCAÇÃO DINÂMICA Prof. André Backes DEFINIÇÃO Sempre que escrevemos um programa, é preciso reservar espaço para as informações que serão processadas. Para isso utilizamos as variáveis Uma

Leia mais

Banco de dados na Web

Banco de dados na Web Banco de dados na Web 4º TSI Jonathan de Matos Conteúdo Conceitos fundamentais diferenças entre mysql e postgresql programas clientes: psql - pgadmin 3 - phppgadmin terminal interativo psql: comandos linguagem

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO Cristina Boeres Sistema de Computação! Conjunto de componentes integrados com o objetivo de manipular dados e gerar informações úteis.

Leia mais

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Infraestrutura de Hardware. Explorando a Hierarquia de Memória Infraestrutura de Hardware Explorando a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

Sistemas da Informação. Banco de Dados I. Edson Thizon

Sistemas da Informação. Banco de Dados I. Edson Thizon Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistema Operacional Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo

Leia mais

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória Infraestrutura de Hardware Explorando Desempenho com a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

Leia mais

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas Operacionais. Sistema de entrada e Saída Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada

Leia mais

PLATAFORMA SAP HANA Dez perguntas importantes para escolher bancos de dados em memória. Comece aqui

PLATAFORMA SAP HANA Dez perguntas importantes para escolher bancos de dados em memória. Comece aqui PLATAFORMA Dez perguntas importantes para escolher bancos de dados em memória Comece aqui PLATAFORMA Dez perguntas importantes para escolher bancos de dados em memória 1. Meus aplicativos podem ser acelerados

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 21ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Coerência de Cache Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Memórias Cache Políticas

Leia mais

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Interrupção e Exceção Sistemas Operacionais Interrupção e Exceção Interrupção e Exceção Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes

Leia mais

Sistemas Operacionais Aula 16 Memória Virtual

Sistemas Operacionais Aula 16 Memória Virtual Sistemas Operacionais Aula 16 Memória Virtual Ivan da Silva Sendin ivansendin@yahoo.com FACOM - Universidade Federal de Uberlândia Sistemas OperacionaisAula 16Memória Virtual p. 1 Memória Virtual - Definição

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

REQUISITOS DE INFRAESTRUTURA TECNOLÓGICA

REQUISITOS DE INFRAESTRUTURA TECNOLÓGICA REQUISITOS DE INFRAESTRUTURA TECNOLÓGICA Para que nossos sistemas funcionem corretamente, sugerimos algumas configurações mínimas de hardware e sistemas operacionais, visando a estabilidade e performance

Leia mais

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas Processamento de Processamento de Consultas Processamento de Consultas Passos na execução de consultas Consulta ao B.D. Análise e Tradução Expressão Algébrica Avaliação Plano de Execução Otimização Resultado

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

Capítulo 9: Sistemas de banco de dados

Capítulo 9: Sistemas de banco de dados Capítulo 9: Sistemas de banco de dados Ciência da computação: Uma visão abrangente 11a Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Database (Banco de Dados) Uma coleção de dados

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações entre processos Processos interagem para trocar dados de modo

Leia mais

DEADLOCKS IMPASSES. Vinícius Pádua

DEADLOCKS IMPASSES. Vinícius Pádua DEADLOCKS IMPASSES O que é um Deadlock? 2 O que é um Deadlock? Cenário Dois processos : Gravar CD com dados do scanner Processo A solicita o CD é autorizado Processo B solicita o scanner é autorizado Processo

Leia mais

Transcript name: 1. Introduction to DB2 Express-C

Transcript name: 1. Introduction to DB2 Express-C Transcript name: 1. Introduction to DB2 Express-C Transcript name: 1. Introduction to DB2 Express-C Welcome to the presentation Introduction to DB2 Express-C. In this presentation we answer 3 questions:

Leia mais

Professor Leonardo Larback

Professor Leonardo Larback Professor Leonardo Larback Engines MySQL Server possui um conceito chamado de Storage Engine ou mecanismos de armazenamento, ou ainda, tipos de tabela. Através da engine selecionada, o servidor sabe como

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Semestre - Sistemas de informação Prof. Emiliano S. Monteiro Classificação de computadores Grande porte: Supercomputadores e Mainframes Médio porte: Minicomputadores

Leia mais

Evandro Deliberal Aula 03

Evandro Deliberal     Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal http://www.deljoe.com.br/professor Aula 03 Agenda Estrutura de Banco de Dados e Infra Estrutura Infraestrutura X Estrutura

Leia mais

SQL-99: Esquema de BD EMPRESA

SQL-99: Esquema de BD EMPRESA SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada

Leia mais

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

Leia mais

Hardware - Processador

Hardware - Processador Hardware - Processador O processador (ou CPU) é uma das partes principais do hardware do computador e é responsável pelos cálculos, execução de tarefas e processamento de dados. A velocidade com que o

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em

Leia mais