SUMÁRIO... 6 ÍNDICE DE FIGURAS ÍNDICE DE TABELAS INTRODUÇÃO CAPÍTULO BANCO DE DADOS... 20

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

Download "SUMÁRIO... 6 ÍNDICE DE FIGURAS ÍNDICE DE TABELAS INTRODUÇÃO CAPÍTULO BANCO DE DADOS... 20"

Transcrição

1 SUMÁRIO SUMÁRIO... 6 ÍNDICE DE FIGURAS ÍNDICE DE TABELAS INTRODUÇÃO OBJETIVO RELEVÂNCIA LIMITES METODOLOGIA ESTRUTURA DA DISSERTAÇÃO CAPÍTULO BANCO DE DADOS OBJETIVOS DO BANCO DE DADOS CARACTERÍSTICAS DOS SISTEMAS DE BANCO DE DADOS Abstração de Dados Esquema Linguagens de definição de dados SISTEMA DE GERÊNCIA DE BANCO DE DADOS - SGBD Principais funções dos SGDBs Sistemas de arquivos versus sistema de banco de dados GERENCIAMENTO DE TRANSAÇÕES Propriedades das transações Processamento de consultas SERIALIZABILIDADE Escalas de execução Escalonador... 34

2 1.5.3 Escalonamentos seriais e serializáveis Escalonamento serial Escalonamentos serializáveis Serialização de conflitos CAPÍTULO ARQUITETURAS DE BANCO DE DADOS SISTEMAS CENTRALIZADOS Arquitetura de banco de dados para sistemas centralizados Sistema cliente-servidor Características do ambiente centralizado Arquitetura de banco de dados para sistemas cliente-servidor SISTEMAS DISTRIBUÍDOS Transações distribuídas Características do ambiente distribuído Transparência Replicação de dados Fragmentação de dados Replicação e fragmentação de dados Arquitetura de banco de dados distribuído Internet Gateways de banco de dados Problemas de acesso ao banco de dados Características stateless e stateful SISTEMA DE COMPUTAÇÃO MÓVEL Arquitetura Componentes do ambiente móvel Acesso a dados em ambiente móvel Comunicação assimétrica Transações móveis Modelos de Transações Móveis Extensão das propriedades ACID... 72

3 2.3.5 Características do ambiente de computação móvel Aplicabilidade da computação móvel Arquitetura de banco de dados móveis Extensão da arquitetura cliente-servidor SISTEMA ORIENTADO A OBJETO Estrutura objeto Banco de dados orientado a objetos BDOO Transações aninhadas Arquitetura de banco de dados orientado a objetos CAPÍTULO CONTROLE DE CONCORRÊNCIA BENEFÍCIOS E PROBLEMAS GERADOS PELA CONCORRÊNCIA Atualização perdida de dados Dependência de dados não-gravados A leitura que não pode ser repetida MECANISMOS PARA O CONTROLE DE CONCORRÊNCIA Mecanismos de controle de concorrência baseados em bloqueio Protocolo de bloqueio em duas fases 2PL Protocolo estrito de bloqueio em duas fases 2PL Estrito Deadlock Prevenção de deadlock Detecção de deadlock Detecção versus Resolução Mecanismos de controle de concorrência baseados em grafos Mecanismos de controle de concorrencia baseados em TO Protocolo de ordenação por timestamp Timestamp estrito Ordenação por multiversões de timestamp Mecanismos de validação Mecanismos de controle de concorrência aplicações avançadas Controle de concorrência multiversão com 2PL

4 Bloqueio Altruísta Validação Instantânea Controle de concorrência baseado na semântica CAPÍTULO MÉTODOS DE CONTROLE DE CONCORRÊNCIA EM DIFERENTES TECNOLOGIAS DE BANCO DE DADOS CONTROLE DE CONCORRÊNCIA PARA BANCO DE DADOS DISTRIBUÍDO Parâmetros para o c.c. em ambientes distribuídos Controle de concorrência baseado em bloqueio Bloqueio centralizado Bloqueio de cópia primária Bloqueio descentralizado Controle de concorrência baseado em TO Timestamp básico Timestamp conservador Controle de concorrência ECHO Controle de concorrência network-aided Controle de concorrência network-aided ordenação total Controle de concorrência network-aided previsibilidade Controle de concorrência DAGSO CONTROLE DE CONCORRÊNCIA EM DOIS NÍVEIS INTERNET CONTROLE DE CONCORRÊNCIA PARA BANCO DE DADOS MÓVEIS Novos conceitos Bloqueio otimista 2PL para transações móveis O2PL-MT Protocolo de gravação unilateral - UMC Técnica da Pré-serialização Técnica PS Grafo de Seriabilização Temporal - TSGT Protocolo TSGT Básico Protocolo TSGT estendido CONTROLE DE CONCORRÊNCIA PARA BANCO DE DADOS OO

5 4.5.1 Bloqueio explícito e bloqueio implícito Bloqueio da classe hierárquica Modos de bloqueio Tabela de comutatividade Controle de concorrência semântico [Jun e Gruenwald, 1996] Controle de concorrência semântico [Muth et al, 1993] ANÁLISE DO CC NAS DIFERENTES ARQUITETURAS Banco de dados distribuídos Banco de dados móveis Banco de dados orientado a objeto RESUMO DO TRABALHO REFERÊNCIAS BIBLIOGRÁFICAS

6 Índice de figuras FIGURA 1-1 COMPONENTES DE UM SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS 24 FIGURA 1-2 EXEMPLO DE EXECUÇÃO DE UMA TRANSAÇÃO FIGURA 1-3 ETAPAS PREPARATÓRIAS PARA O PROCESSAMENTO DE CONSULTAS FIGURA 1-4 ESCALONADOR FIGURA 2-1ARQUITETURA BÁSICA DE UM SISTEMA CENTRALIZADO FIGURA 2-2 ARQUITETURA BÁSICA DE UM SISTEMA CLIENTE-SERVIDOR FIGURA 2-3 RECURSOS DE FRONT-END E BACK-END FIGURA 2-4 ARQUITETURA DE REFERÊNCIA CLIENTE/SERVIDOR FIGURA 2-5 ARQUITETURAS CLIENTE-SERVIDOR FIGURA 2-6 ARQUITETURA DE REFERÊNCIA BANCO DE DADOS DISTRIBUÍDO FIGURA 2-7 ARQUITETURA MDBS COM GCS FIGURA 2-8 ARQUITETURA MDBS SEM GCS FIGURA 2-9 ARQUITETURA CLIENTE-SERVIDOR INTERNET FIGURA 2-10 ACESSO A BD POR SERVIDOR INTERNET FIGURA 2-11 ARQUITETURA STATELESS FIGURA 2-12 ARQUITETURA STATEFUL FIGURA 2-13 ARQUITETURA PARA SISTEMAS DE COMPUTAÇÃO MÓVEL FIGURA 2-14 TRANSAÇÃO CANGURU FIGURA 2-15 ARQUITETURA DE BANCO DE DADOS MÓVEIS FIGURA 2-16 FUNÇÕES DE CLIENTE-SERVIDOR "IGNORADAS" FIGURA ESCALA DE EXECUÇÃO DE UMA TRANSAÇÃO ANINHADA FIGURA 2-18 ARQUITETURA SERVIDORA DE OBJETOS FIGURA 2-19 ARQUITETURA SERVIDORA DE PÁGINAS FIGURA 3-1 FASE DE CRESCIMENTO E ENCOLHIMENTO DA TRANSAÇÃO FIGURA 3-2 GRAFO DE BANCO DE DADOS ESTRUTURADO EM ÁRVORE FIGURA 3-3 PADRÃO DE ACESSO DE TRÊS TRANSAÇÕES FIGURA 3-4 VALIDAÇÃO DE CONFLITOS FIGURA 3-5 CLASSES DE TRANSAÇÕES MULTINÍVEIS

7 FIGURA 4-1 ESTRUTURA DE COMUNICAÇÃO DO BLOQUEIO CENTRALIZADO FIGURA 4-2 ESTRUTURA DE COMUNICAÇÃO DO BLOQUEIO DISTRIBUÍDO FIGURA 4-3 GERAÇÃO DE REGISTRO DE HORA ÚNICO FIGURA 4-4 ARQUITETURA BÁSICA DO MÉTODO ECHO FIGURA 4-5 TROCA DE MENSAGENS ENTRE SITES BROADCASTER E REPRESENTATIVOS FIGURA 4-6 DIAGRAMA DE ESTADO DO DAGSO FIGURA 4-7 CONFIGURAÇÃO TÍPICA PARA UMC FIGURA 4-8 GERENTE DE TRANSAÇÃO GLOBAL FIGURA 4-9 COMPARAÇÃO DE EXECUÇÃO ENTRE IMPLEMENTAÇÕES DO BLOQUEIO IMPLÍCITO FIGURA 4-10 EXECUÇÃO DE TRANSAÇÃO NO ESQUEMA DE CONTROLE DE CONCORRÊNCIA BASEADO EM SEMÂNTICA

8 Índice de tabelas TABELA 1-1 ESCALONAMENTO ENVOLVENDO DUAS TRANSAÇÕES TABELA 1-2 EXECUÇÃO DE DUAS TRANSAÇÕES TABELA 1-3 ESCALONAMENTO SERIAL, T 1 PRECEDE T TABELA 1-4 ESCALONAMENTO SERIALIZÁVEL E NÃO SERIAL TABELA 1-5 ESCALONAMENTO NÃO SERIALIZÁVEL TABELA 1-6 ESCALONAMENTO COM OPERAÇÕES DE LEITURA E ESCRITA E TABELA EQUIVALENTE COM OS PARES DE INSTRUÇÕES ALTERADOS TABELA 1-7 ESCALONAMENTO SERIALIZÁVEL EQUIVALENTE AO DA TABELA TABELA 3-1 TRANSAÇÃO T 1 É PERDIDA NO MOMENTO T TABELA 3-2 TRANSAÇÃO T 1 DEPENDE DA ALTERAÇÃO NÃO GRAVADA POR T TABELA 3-3 TRANSAÇÃO T 2 ALTERA DADOS LIDOS POR T TABELA 3-4 MATRIZ DE COMPATIBILIDADE DE BLOQUEIOS TABELA 3-5 PROTOCOLO ESTRITO 2PL TABELA 3-6 PROTOCOLO 2PL COM EXECUÇÃO SERIAL TABELA 3-7 PROTOCOLO ESTRITO 2PL COM EXECUÇÃO INTERCALADA TABELA 3-8 ESCALA SERIABILIZADA PELO PROTOCOLO BASEADO EM GRAFO TABELA 3-9 TRANTAÇÃO T TABELA 3-10 TRANSAÇÃO T TABELA 3-11 ESCALA DE EXECUÇÃO TABELA 3-12 ESCALA DE EXECUÇÃO TABELA 4-1 ORDEM DE EXECUÇÃO TABELA 4-2 DIFERENÇAS NO GERENCIAMENTO DE DADOS TABELA 4-3 ESTRUTURA GLOBAL DE DADOS TABELA 4-4 ESTRUTURA DO SITE TABELA 4-5 COMPARATIVO DA EXECUÇÃO ENTRE BLOQUEIO EXPLÍCITO E BLOQUEIO IMPLÍCITO TABELA 4-6 COMPARATIVO DA EXECUÇÃO DOS MÉTODOS DE CONTROLE DE CONCORRÊNCIA EM BDOO

9 TABELA 4-7 RELAÇÃO DE COMUTATIVIDADE PARA UMA INSTÂNCIA TABELA 4-8 RELAÇÃO DE COMUTATIVIDADE ENTRE AS CLASSES

10 INTRODUÇÃO Os bancos de Dados evoluíram através de três gerações na história da informática. Durante a primeira geração, o processamento de dados era "centrado na tecnologia" e eles eram suficientes somente para armazenar quantidades relativamente pequenas de dados. O único meio de se chegar aos dados era lê-los, para processá-los e imprimi-los. Já nos anos 80, com o surgimento do computador pessoal, a computação "centrada no usuário" tornou-se a tendência. Isso levou aos modelos lógicos de dados independentes do armazenamento físico para permitir que os usuários tivessem acesso aos dados que desejassem. Atualmente nos encontramos rumando à terceira geração dessa evolução: o processamento de dados "centrado em rede". Embora tenhamos dado apenas alguns passos em direção a esse mundo, muitas operações já se encontram entrelaçadas com aquelas dos clientes e fornecedores. Portanto, esforços são necessários para que se atinja máxima disponibilidade tanto dos bancos de dados como da gerencia das aplicações. Os requisitos de desempenho da terceira geração demandam banco de dados que transcenda os limites do modelo de dados relacional. Os modelos de dados tradicionais, especialmente os relacionais, são relativamente fáceis de implementar. O problema surge quando tentamos enquadrar o mundo real dentro de padrões que as simplistas tecnologias relacionais não podem entender. Como resultado, temos observado uma tendência na direção das diferentes tecnologias de bancos de dados pós relacionais que forçam o desenvolvimento de novas técnicas de gerenciamento de dados. O crescimento dos ambientes multiusuários e a difusão rápida da internet são exemplos práticos disso. Os novos tipos de dados são mais exigentes quanto à manipulação do acesso concorrente às informações. As técnicas tradicionais da maneira que foram concebidas, não se aplicam a eles devido a vários fatores, ou do ambiente onde são manipulados ou do próprio dado. Esta pesquisa tem como objeto de estudo o controle de concorrência com ênfase nas suas características em diferentes arquiteturas de banco de dados. O controle de concorrência é um importante aspecto do gerenciamento dos dados em um banco de dados. Um Sistema de Gerência de Banco de Dados (SGBD) deve permitir que

11 16 diferentes usuários leiam e escrevam simultaneamente sobre o banco de dados. É tarefa do controle de concorrência assegurar que as transações, executando concorrentemente, mantenham a consistência do banco de dados. Levando se em consideração os elementos apresentados anteriormente, o trabalho proposto tem como finalidade à realização de um estudo dos principais aspectos dos métodos de controle de concorrência, como gerenciamento de transações, processamento de consultas e arquiteturas de banco de dados. Além dos aspectos relacionados ao controle de concorrência, o presente trabalho aborda um estudo sobre a atuação e evolução dos mecanismos de controle de concorrência para adequar-se aos requerimentos dos novos tipos de dados impostos pelas arquiteturas de banco de dados centralizado, distribuído, móvel e orientado ao objeto. Objetivo A principal preocupação de um especialista ao desenvolver o projeto de um algoritmo de controle de concorrência é garantir o correto processamento das transações que estão envolvidas em conflito. Independente da plataforma em que será aplicado, o mecanismo de controle de concorrência deve garantir de forma eficaz a consistência do banco de dados. Com o objetivo de organizar em um documento único e de fácil acesso, esta pesquisa apresenta uma síntese do ponto de vista de vários autores sobre os mecanismos utilizados para o controle de concorrência nas tecnologias de banco de dados mais relevantes no momento: banco de dados distribuídos, banco de dados móveis e banco de dados orientados a objetos. Dá ênfase às mudanças efetuadas nos mecanismos tradicionais identificando quais são as características dos mecanismos de controle de concorrência que necessitam de tratamento especial quando são submetidos a ambientes

12 17 diferentes dos tradicionais. Relevância O controle de concorrência é um problema que surge quando vários processos estão envolvidos em alguma parte do sistema. A maioria dos sistemas comerciais utiliza o mais popular dos mecanismos de controle de concorrência o 2PL (Mecanismo de Bloqueio em Duas Fases). O crescimento contínuo da demanda para transações mais complexas e de alto nível compromete o grau de concorrência em um banco de dados o que motivou o desenvolvimento de várias técnicas para o controle de concorrência. A utilização de uma ou mais técnicas no controle de concorrência deve ser considerada caso a caso. Cada problema como: prioridade de acesso, recursos, arquitetura ou tráfego na rede, deve ser analisado avaliando as necessidades de cada aplicação em seu ambiente. A técnica (ou técnicas) a ser utilizada depende da situação considerada. Esse trabalho contribui com um estudo realizado sobre os problemas e soluções existentes sob a visão de diferentes autores para diferentes ambientes. As alternativas propostas para lidar com os mecanismos de controle de concorrência são de importância vital para o mundo corporativo. A partir dos problemas e soluções relacionados pode-se determinar a utilização de um método para implantação em um novo banco de dados, ou ainda contribui para pesquisas buscando avaliar as características de um banco de dados já existente e definir alterações para adequá-lo a um melhor padrão de funcionamento.

13 18 Limites O trabalho apresentado limita-se a um estudo dissertativo apresentando algumas técnicas de controle de concorrência. Não aborda demonstração de protótipos ou algoritmos de implementação. Seu principal objetivo foi agrupar as metodologias de desenvolvimento de diferentes autores dos mecanismos de controle de concorrência. Reúne os principais mecanismos para os banco de dados centralizados, banco de dados distribuído, banco de dados móvel e banco de dados orientado a objeto. Metodologia Os dados para realização desse trabalho foram obtidos através de pesquisa bibliográfica, análise do conteúdo de artigos relatórios e publicações técnicas. Esse documento utiliza como fontes primárias de pesquisa [Ramakrishnam, 2000], [Bhargava, 1999], [Barghout and Kaiser, 1991], [Silberschatz et al, 1999], [Garcia-Molina et al, 2001] e documentos oficiais de congressos, workshops, artigos, relatórios técnicos, projetos e sites da internet.

14 19 Estrutura da dissertação Os dados levantados através das pesquisas e estudos efetuados possibilitaram organizar esse trabalho em cinco capítulos. No capítulo 1 descreve-se uma noção básica sobre banco de dados (BD) e sobre o gerenciamento de transações, devido a sua importância para compreensão do controle de concorrência. São estudados conceitos de banco de dados, características dos sistemas de gerencia de banco de dados (SGBD), gerência de transações, processamento de consultas e serializabilidade. No capítulo 2 como influenciam diretamente o desenvolvimento dos mecanismos de controle de concorrência analisam-se resumidamente as tecnologias de banco de dados: banco de dados centralizado, banco de dados distribuído, banco de dados móvel, e banco de dados orientado a objeto. No capítulo 3 apresenta-se o controle de concorrência e os mecanismos tradicionais utilizado para o gerenciamento do acesso concorrente. Todos processos que buscam a sincronização do acesso concorrente estão basicamente divididos em três categorias: bloqueio, timestamp e validação. O capítulo aborda também alguns mecanismos desenvolvidos para aplicações avançadas de banco de dados. O capítulo 4 apresenta os métodos evoluídos e adaptados sobre os mecanismos tradicionais de controle de concorrência para as tecnologias de banco de dados estudadas. O capítulo 5 apresenta um resumo do trabalho, traz uma análise de todo material apresentado e mostra as principais características e exigências das arquiteturas junto com as extensões e adaptações propostas sobre os mecanismos básicos.

15 CAPÍTULO 1 1 Banco de Dados Um banco de dados (BD) é uma coleção de informações. Essa coleção geralmente é organizada e apresentada para servir a uma finalidade específica. Geralmente as informações de um banco de dados são integradas e compartilhadas. Estes dois aspectos representam a maior vantagem dos sistemas de banco de dados. Por ser integrado, o banco de dados pode ser imaginado como uma unificação de diversos arquivos de dados que, de outra forma, seriam distintos, eliminando-se total ou parcialmente quaisquer redundâncias entre os mesmos. Por ser compartilhado parcelas isoladas de dados podem ser utilizadas por diversos usuários num banco de dados, no sentido de que todos possam ter acesso à mesma fonte e usá-las com finalidades diferentes [Date, 1990]. 1.1 Objetivos do banco de dados Gerenciar grande quantidade de informação. Um sistema de banco de dados pode armazenar simplesmente dados referentes a uma agenda de amigos, como também pode armazenar as informações relativas a uma usina nuclear. Evitar redundância de dados e inconsistência. Redundância é manter a mesma informação em lugares diferentes. Um dos problemas da redundância é que podemos atualizar um determinado dado de um

16 21 arquivo e esta atualização não ser feita em todo o sistema, este problema é chamado de inconsistência. Segurança aos dados. Nem todos os usuários de banco de dados estão autorizados ao acesso a todos os dados. Imagine, se numa empresa todos funcionários tivessem acesso à folha de pagamento. Garantir a integridade. É fazer com que os valores dos dados atribuídos e armazenados em um banco de dados satisfaça certas restrições para manutenção da consistência e coerência. 1.2 Características dos sistemas de banco de dados Dado. É o valor do campo quando é armazenado no banco de dados. Por exemplo o valor do campo "nome do cliente" para quem está fazendo a entrada de dados. Conteúdo do campo. É o valor do campo armazenado no banco de dados. Por exemplo o valor do campo "nome do cliente" sem ser, momentaneamente, utilizado, armazenado na base de dados. Informação. É o valor que o campo representa para as atividades da empresa. Por exemplo uma resposta a uma consulta: qual os nomes dos clientes localizados no Paraná? Modelos de banco de dados. Representa a estrutura física interna de recuperação e armazenamento dos dados no qual o SGBD foi projetado.

17 Abstração de Dados O sistema de banco de dados esconde alguns detalhes de como os dados são armazenados ou mantidos, esse processo é conhecido como abstração de dados. Esse conceito é importante devido à preocupação com a eficiência de um banco de dados que leva a concepção de estruturas de dados complexas para a representação dos dados. [Garcia-Molina, 2001] Existem basicamente trás níveis de abstração: Nível Físico, Nível Conceitual e Nível Visão: Nível Físico. É o nível mais baixo de abstração, no qual se descreve como os dados são realmente armazenados. Neste Nível estruturas complexas, de baixo nível, são descritas em detalhes. Nível Conceitual. Também chamado de Nível Lógico, é considerado o nível secundário de abstração, onde se descreve quais dados são realmente armazenados no banco de dados e quais os relacionamentos entre eles. Nível Visão. o mais alto nível de abstração, onde é somente exposta a parte do banco de dados que um determinado usuário necessita. O sistema pode proporcionar diversas visões para um mesmo banco de dados Esquema Esquema é a estrutura de um banco de dados. Existem diversos esquemas referentes aos níveis de abstração. No nível mais baixo há o esquema físico; no nível intermediário, o esquema lógico; e no nível mais alto, os subesquemas.

18 Linguagens de definição de dados Um esquema de dados é especificado por um conjunto de definições expressas por uma linguagem especial chamada linguagem de definição de dados (data-definition language - DDL). O resultado da compilação dos parâmetros DDLs é armazenado em um conjunto de tabelas que constituem um arquivo especial chamado dicionário de dados ou diretório de dados. A estrutura de memória e o método de acesso usado pelo banco de dados são especificados por um conjunto de definições em um tipo especial de DDL chamado linguagem de definição e armazenamento de dados (data storage and definition language). O resultado da compilação dessas definições é um conjunto de instruções para especificar os detalhes de implementação dos esquemas do banco de dados. 1.3 Sistema de gerência de banco de dados - SGBD É um software de gerência cujo objetivo é prover o acesso às informações de forma uniformizada. Segundo [Date, 1990], o sistema de gerência de banco de dados (SGBD) é o software que manipula todos os acessos ao banco de dados. Na figura 1.1, vemos um esboço de um SGBD completo. Retângulos simples representam componentes do sistema, retângulos tracejados representam estruturas de dados na memória. As linhas contínuas indicam fluxo de controle e de dados, enquanto as linhas tracejadas indicam somente fluxo de dados [Garcia-Molina et al, 2001].

19 24 Consultas, atualizações Usuário/Aplicativo Comandos de transações Administrador de Banco de Dados Comandos de DDL Plano de consulta Compilador de consultas metadados, estatísticas Gerenciador de transações compilador metadados Mecanismo de execução Registro log e recuperação controle de concorrência Solicitações de índices, arquivos e registros Gerenc índices/ arquivos/registros páginas de log Tabela de Bloqueio Comandos de páginas Páginas de leitura/ gravação Gerenciador buffer Gerenciador de armazenamento dados,metadados,í ndices Buffers Armazenamento Fonte: MOLINA-GARCIA, Hector; ULLMAN, Jeffrey D.; WINDOM, Jennifer. Implementação de Sisstemas de Banco de Dados. Tradução de Vandenberg D. de Souza, Rio de Janeiro: Campus, Figura 1-1 Componentes de um sistema de gerenciamento de banco de dados

20 Principais funções dos SGDBs Os SGBDs se caracterizam principalmente pelo modelo de banco de dados [Melo et al, 1997]. Um SGBD disponibiliza funções voltadas para assegurar: Definição e manipulação de dados. Estas funções são fornecidas pelas linguagens do SGBD. A Linguagem de definição de dados (LDD) é usada para definir o esquema do banco de dados. O SGBD possui um compilador de LDD que processa os comandos de descrição das estruturas do esquema e os armazena em um dicionário de dados. A linguagem de manipulação de dados (LMD) é usada para realizar consultas e atualizações no banco de dados. Manipulação de dados. Um SGBD deve prover facilidades para carregar o banco de dados ou parte dele, a partir de arquivos de dados ou comandos armazenados e, inversamente, descarregá-los em arquivos. Similarmente, a cópia de segurança do conteúdo do banco de dados deve ser possível. Deve ainda garantir que as falhas durante o processamento de transações não sejam propagadas aos objetos persistentes. Um mecanismo de recuperação é provido pelo SGBD para isso. Persistência. É a capacidade dos objetos do banco de dados persistirem ao longo de diferentes execuções de programas de aplicação. Objetos persistentes são armazenados em arquivos do sistema operacional, fora dos programas que os utilizam e sobrevivem às falhas das transações e mesmo a algumas falhas de sistemas. Segurança. Um SGBD deve prover mecanismos de segurança de acesso para consulta ou atualização dos objetos persistentes. Em geral, estes mecanismos são implementados por meio de concessão/revogação de privilégios de acesso a usuários individuais ou grupos de usuários. Integridade. Um banco de dados deve estar sempre num estado consistente, satisfazendo permanentemente algumas condições de consistência, chamadas

21 26 de restrições de integridade. O SGBD tem a incumbência de garantir a integridade do banco de dados na passagem de um estado para outro, que ocorre ao final de cada transação. Controle de Concorrência. Deve ser transparente ao usuário a execução de transações concorrentes, deve-se passar a impressão de que estão sendo executadas isoladamente quando, na maioria dos sistemas, haverá na verdade muitas transações sendo executadas ao mesmo tempo. Portanto o escalonador (gerenciador do controle de concorrência) deve assegurar que as ações individuais de várias transações serão executadas em total ordem e que o efeito final será igual ao que haveria se as transações fossem executadas de fato uma de cada vez. Desempenho. Cabe ao SGBD garantir aos usuários índices satisfatórios de desempenho, como tempo de resposta em consultas e volume de transações processadas Sistemas de arquivos versus sistema de banco de dados [Ramakrishman e Gehrke, 2000] Algumas características dos sistemas de banco de dados os diferenciam dos sistemas de arquivos tradicionais: A separação entre programas e dados; O suporte para múltiplas visões de usuário; O compartilhamento de dados e processamento multi-usuário de transações; O armazenamento, no banco de dados, da sua própria descrição ou esquema.

22 27 Para entender porque o uso de um sistema de banco de dados é importante, analise o exemplo a seguir: uma empresa com uma grande coleção de dados interligados (empregados, departamentos, produtos, vendas). Esses dados são acessados concorrentemente por diferentes funcionários. Também é necessário, por questões de segurança do banco de dados, restringir o acesso a determinadas informações para determinados usuários. Tentar gerenciar esses problemas a partir de um sistema de arquivos independentes, em máquinas independentes é praticamente impossível. Primeiramente, provavelmente não teríamos espaço suficiente de memória principal para manter todos os dados. Seríamos obrigados a armazenar dados em uma unidade de armazenamento, como um disco ou uma fita e carregar partes relevantes na memória principal para o processamento quando necessário. Teríamos que programar alguns métodos de identificação para todos os itens de dados. Teríamos ainda que escrever programas especiais para responder a cada consulta de usuários. Precisaríamos proteger os dados de alterações inconsistentes enviadas por diferentes usuários que acessam os dados concorrentemente. Esses programas deveriam considerar o acesso concorrente à memória, o que aumentaria sua complexidade. Precisaríamos garantir que os dados sejam restaurados quando ocorrer falha do sistema. Sistema operacional provê somente mecanismos de segurança, isto não é suficientemente flexível para aplicar políticas de segurança para o acesso concorrente. Assim, o uso de um SGBD para gerenciar dados traz vantagens como: Independência de dados; Eficiente acesso aos dados; Segurança e integridade dos dados; Administração de dados; Recuperação e acesso concorrente; e Redução do tempo do desenvolvimento das aplicações.

23 Gerenciamento de transações As operações executadas por um programa acessando um banco de dados são agrupadas em seqüências chamadas transações. A interação dos usuários com o banco de dados é feita através das transações [Barghout and Kaiser, 1991]. Uma transação possui propriedades bem definidas que são garantidas pelos gerenciadores de banco de dados. O gerenciador de transações aceita comando de transações de um aplicativo que irá informar ao gerenciador de transações quando as transações começam e quando terminam. O processador de transações executa as seguintes tarefas. 1. Registro de log: Para assegurar durabilidade, toda mudança no banco de dados é registrada separadamente em disco. O gerenciador de log segue uma dentre várias normas projetadas para assegurar que, independentemente de quando ocorre uma falha, um gerenciador de recuperação pode examinar o log de mudanças e restabelecer o banco de dados a algum estado consistente. 2. Controle de concorrência: Os principais problemas relacionados com o gerenciamento de transações são gerados pela execução concorrente de transações que possuem acessos conflitantes a um mesmo item de dado e pelo acesso a dados dispersos por diferentes e independentes locais. As transações são gerenciadas pelos SGBD para evitar que ocorram anomalias (inconsistência de dados) durante ou após o seu processamento. No caso de transações executadas concorrentemente há a necessidade da utilização de mecanismos de controle para evitar a violação da integridade dos dados manipulados. Serão vistos com maiores detalhes no decorrer desse trabalho. transação. A figura 1.2 descreve um exemplo simples da seqüência de execução de uma

24 29 1. Transação 2. Transação Programa Início da transação Grava Início da transação Aborta Figura 1-1 Exemplo de execução de uma transação Propriedades das transações A integridade das transações exige que satisfaça certas características tradicionalmente agrupadas em quatro propriedades conhecidas como ACID: Atomicidade, Consistência, Isolamento e Durabilidade [Ferreira e Finger, 2000]. Atomicidade. Essa propriedade não permite efeitos parciais na execução de uma transação. Ou todas suas operações são realizadas ou então nenhuma é. Transações podem não se completar basicamente por três razões: 1) a transação pode ser abortada ou finalizada sem sucesso pelo SGBD porque alguma anomalia apareceu durante sua execução. Se uma transação é abortada pelo SGBD por razões internas, ela automaticamente é reiniciada. 2) o sistema pode falhar, por exemplo, queda de energia durante a sua execução. 3) a transação pode encontrar uma situação inesperada, por exemplo, não conseguir acesso a disco e decida abordar. Se considerarmos que o usuário pensa que as transações existentes são atômicas, uma transação interrompida durante sua execução pode deixar o banco de dados em um estado inconsciente, assim um SGBD procura um modo de remover os efeitos das transações parciais, assegurando a atomicidade da transação. [Ramakrishnan e Gehrke, 2000]. Consistência. Essa propriedade garante que um banco de dados permaneça consistente após a execução de uma transação. Como critério de consistência pode ser

25 30 definida uma operação de usuário onde sua execução deve partir de um estado consistente e finalizar em novo estado consistente [Melo et al, 1997]. Isolamento. A execução de uma transação não pode ser afetada pela execução concorrente de outras. [Ferreira e Finger, 2000]. Transações são isoladas ou protegidas dos efeitos das ações concorrentes de outras transações. A propriedade isolamento garante que ações de diferentes transações podem ser intercaladas, mas o efeito externo será a execução de uma depois da outra em alguma ordem serial. Durabilidade. Significa que os resultados de uma transação, caso ela seja concluída com sucesso, devem ser persistentes, mesmo que ocorram falhas nos meios de armazenamento utilizados. [Melo et al, 1997]. Os efeitos de uma transação confirmada não podem ser desfeitos, só podem ser alterados por outra transação subseqüente confirmada e gravada Processamento de consultas Consulta é a ação de extrair dados de um banco de dados. Elas podem ser formuladas diretamente pelos usuários finais, através de uma linguagem de alto nível suportada pelo banco de dados, ou podem estar contidas em aplicações desenvolvidas por programadores [Silberschatz et al, 1999]. Independentemente da origem da consulta, sua composição é feita parcial ou integralmente por comandos de manipulação de dados expressos na linguagem de um SGBD. O processamento de um comando de consulta acontece em várias etapas que podem ser agrupadas em dois passos: 1. Primeiro uma validação sintática é executada. Um componente do SGBD verifica se o comando foi escrito corretamente, formando uma frase válida na linguagem de manipulação de dados definida. Assim a primeira ação do sistema no processamento de uma consulta é traduzi-la

26 31 na sua forma interna. Não basta, então, uma frase ser considerada estruturalmente correta é preciso que os nomes utilizados sejam de objetos descritos no esquema do banco de dados referenciado e que possuam os tipos compatíveis com as regras para a construção do comando recebido. 2. Depois, o comando validado é traduzido para uma linguagem baseada em Álgebra, a partir das informações existentes no esquema do banco de dados. Essa linguagem é então otimizada. O processo de otimização consiste na definição de uma estratégia de execução que resulte no melhor desempenho possível [Melo et al 1997]. Validação Sintática Consulta Catálogo do sistema Trad para comandos mais simples Consulta Válida Consulta em comandos simples Otimização Plano otimizado de execução da consulta Fonte: MELO, Rubens N..; SILVA, Sidney Dias da, TANAKA, Asteiro K.Banco de Dados em Aplicações Cliente-Servidor. Rio de Janeiro: Infobook, 1997 Figura 1-1 Etapas preparatórias para o processamento de consultas Nos modelos de rede e hierárquico a otimização da consulta é geralmente responsabilidade do programador. Na figura 1.3 é possível identificar as etapas utilizadas pelo processador de consultas durante a conversão de uma consulta simples para sua forma interna chamada

27 32 plano de consulta ou consulta válida. O compilador de consultas possui três subcomponentes: Analisador de consultas. Que constrói a estrutura árvore partindo da forma textual da consulta. Pré-processador de consultas. Responsável pelas verificações semânticas sobre a consulta e por algumas transformações de árvores que converte a árvore de análise em árvore de operadores algébricos que representa o plano de consulta inicial. Otimizador de consultas. Que transforma o plano de consulta inicial na melhor seqüência disponível de operações sobre o banco de dados. Em seguida, o mecanismo de execução executa cada etapa do plano de consulta escolhido. O processador de consultas interage com a maioria dos outros componentes do SGBD [Garcia-Molina et al, 2001]. 1.5 Serializabilidade A ordem em que as etapas individuais de transações diferentes ocorrem precisa ser controlada. A função de gerenciar essas etapas é dada ao componente do SGBD chamado escalonador. O fundamento da serializabilidade é tratar de maneira mais rigorosa os elementos necessários para a eficiente construção e detecção de escalonamentos. [Ferreira e Finger, 2000]. Estendendo o conceito de escalonamentos consistentes temos que a serializabilidade consiste da possibilidade de se estabelecer uma execução serilializável que equivalha à execução serial das transações encapsuladas por ela. Ela é o requisito abstrato para assegurar que transações executadas concorrentemente preservem a correção do estado do banco de dados.

28 Escalas de execução Uma transação é composta por várias operações que podem ser de escrita ou de leitura. Para denota-las considera-se que um objeto O está sempre lendo dentro de um objeto também chamado O, assim uma transação T lendo um objeto O corresponde ao símbolo RT(O). Similarmente, podemos denotar operações de escritas como WT(O) [Silbersthatz et al 1999]. Em uma operação de leitura ou de escrita, a operação final de uma transação ou é gravada (commit) se completada com sucesso ou é abortada (abort). AT denota a operação de aborto de uma transação T e CT denota que uma transação T foi gravada. Uma escala de execução (schedule) é uma lista de operações (leituras, escritas, abortos ou gravações) de um grupo de transações. A ordem de duas operações de uma transação T mostrada na escala pode ser a mesma ordem em que aparecem na transação T. A escala de execução da tabela 1.1 mostra uma ordem de execução para as operações das transações T 1 e T 2. Uma escala de execução descreve as ações das transações como são vistas pelo SGBD. T 1 T 2 RT(A) WT(A) RT(C) WT(C) RT(B) WT(B) Fonte: RAMAKRISHNAN, Raghu; GENRKE, Johannes. Database Management Systems. MacGraw-Hill, Second Edition. Tabela 1-1 Escalonamento envolvendo duas transações

29 34 A propriedade de atomicidade é aplicada sobre as escalas serializáveis garantindo que as operações abortadas existentes sejam desfeitas mantendo consistência idêntica a da execução da mesma escala de forma completa e serial. Estendendo essa definição para uma escala de execução serializável se obtém a definição: um escalonamento serializável definido sobre um grupo de transações G é uma escala de execução de consistência idêntica à uma escala de execução serial completa sobre o grupo de transações gravadas em G [Ramakrishnan e Gehrke, 2000]. Escalonamento completo. Uma escala de execução completa é aquela que para cada transação possui abortos e gravações. Escalonamento serial. Uma escala de execução serial é aquela que tem suas transações executadas uma a uma do início ao fim. Escalonamento consistente. A definição mais formal para uma escala de execução consistente diz que: ela é consistente se todas as transações compreendidas nela são executadas serialmente (T i, T i+1,..., T n ). Isto é para todo i = 1 até n -1 a transação T i seja executada completamente antes da transação T i+1 começar [Barghout e Kaiser, 1991]. Uma escala de execução representa uma seqüência de execução atual ou potencial, pois a ordem de execução de duas ações de uma transação deve ser a mesma apresentada na transação Escalonador O escalonador é o responsável pelo gerenciamento da concorrência. É o elemento do SGBD que tem como função receber e organizar as operações das transações. Para isso ele utiliza os critérios e fundamento da teoria da serializabilidade.

30 35 Seu funcionamento básico é receber as solicitações de leitura ou gravação das transações e as executar em buffers ou as manter em estado de espera até que possa ser executada (utilizando técnicas de controle de concorrência) [Garcia-Molina et. al, 2001]. Gerenciador de Transações Escalonador Solicitações de leitura e gravação Buffers Leituras e gravações Fonte: GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WINDOM, Jennifer. Implementação de Sestemas de Banco de Dados. Tradução de Vanderberg D. de Souza. Rio de Janeiro: Campus, Figura 1-1 Escalonador Escalonamentos seriais e serializáveis Um escalonamento é uma seqüência ordenada das operações importantes executadas por uma ou mais transações. Ele deve conter todas as operações ordenadas de um conjunto de transações e não deve possuir operações conflitantes entre transações concorrentes. Por exemplo, considere as duas transações e o efeito sobre o banco de dados quando suas ações são executadas em certa ordem. As ações das transações T 1 e T 2 são mostradas na tabela 1.3, t e s são variáveis locais de T 1 e T 2, respectivamente.

31 36 T 1 T 2 RT(A, t) RT(A,s) t:=t+100 S :=s*2 WT(A, t) WT(A, s) RT(B, t) RT(B, s) t:=t+100 S :=s*2 WT(B, t) WT(B, s) Fonte: GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WINDON, Jeniffer. Implementação de Sistemas de Banco de Dados. Tradução de Vandenberg D. de Souza. Rio de Janeiro: Campus, Tabela 1-1 Execução de duas transações Suponha que o único critério de consistência sobre o banco de dados é que A = B. Como T 1 acrescenta 100 a A e a B e T 2 multiplica A e B por 2. Cada transação se executada isoladamente preservará a consistência como mostra a tabela 1.4 T 1 T 2 A B RT(A, t) t:=t+100 WT(A, t) 125 RT(B, t) t:=t+100 WT(B, t) 125 RT(A,s) S :=s*2 WT(A, s) 250 RT(B, s) S :=s*2 WT(B, s) 250 Fonte: GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WINDON, Jeniffer. Implementação de Sistemas de Banco de Dados. Tradução de Vandenberg D. de Souza. Rio de Janeiro: Campus, Tabela 1-2 Escalonamento serial, T 1 precede T 2

32 Escalonamento serial Um escalonamento é dito serial se para cada par de transações, T i e T j, todas as operações de T precedem todas as operações de T j ou vice-versa [Ferreira e Finger, 2000]. Para as transações da tabela 1.3 existem dois escalonamentos seriais possíveis, um em que T 1 precede T 2 e outro onde T 2 executa antes de T 1. Escalonamentos seriais não permitem nenhuma concorrência entre as operações de transações distintas. A execução de uma transação bloqueia a execução de todas as outras. Entretanto são utilizados como parâmetro para determinação da correção dos escalonamentos. Estendendo o conceito de escalonamento serial é correto afirmar que um escalonamento é consistente somente se for equivalente a um escalonamento serial Escalonamentos serializáveis Existem ainda escalonamentos não seriais mas que preservam a consistência: T 1 T 2 A B RT(A, t) t:=t+100 WT(A, t) 125 RT(A,s) S :=s*2 WT(A, s) 250

33 38 RT(B, t) t:=t+100 WT(B, t) 125 RT(B, s) S :=s*2 WT(B, s) 250 Fonte: GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WINDON, Jeniffer. Implementação de Sistemas de Banco de Dados. Tradução de Vandenberg D. de Souza. Rio de Janeiro: Campus, Tabela 1-1 Escalonamento serializável e não serial No escalonamento da tabela 1.4, T 2 atua sobre A depois de T 1, mas antes de T 1 atuar sobre B. Entretanto o efeito das duas transações escalonadas é idêntico ao do escalonamento serial T 1 T 2. Esse escalonamento garante que tanto A quanto B ficarão com o valor 2 (c+100) e desse modo a consistência não só das transações, mas do banco de dados é preservada a partir de qualquer estado consistente. O escalonamento da tabela 1.5 não é serial e também não é serializável. Ele toma o estado consistente A = B = 25 e deixa o banco de dados em um estado inconsistente, onde A = 250 e B = 150. T 1 T 2 A B RT(A, t) t:=t+100 WT(A, t) 125 RT(A,s) S :=s*2 WT(A, s) 250 RT(B, s) S :=s*2 WT(B, s) 50 RT(B, t)

34 39 t:=t+100 WT(B, t) 150 Fonte: GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WINDON, Jeniffer. Implementação de Sistemas de Banco de Dados. Tradução de Vandenberg D. de Souza. Rio de Janeiro: Campus, Tabela 1-2 Escalonamento não serializável Serialização de conflitos O escalonamento é imposto através dos mecanismos de controle de concorrência e a consistência do banco de dados depende da sua efetiva participação. Os conflitos surgem quando duas transações solicitam uma operação sobre o mesmo item de dados a técnica de serialização desse conflito garante a concorrência e a consistência do banco de dados [Silberschatz et al, 1999]. Por exemplo, em um escalonamento com duas operações sucessivas A e B pertencentes às transações T 1 e T 2, respectivamente, quando as operações referem-se a objetos diferentes suas execuções em qualquer ordem não afetam os resultados. Mas quando A e B se referem ao mesmo objeto então a ordem de execução é importante. Denotando instruções de leitura (RT) e de escrita (WT) sobre um objeto O, é possível listar as principais compatibilidades entre elas durante uma execução: 1) A = RT(O) B = RT(O). Não conflitam mesmo que A e B desejem operar sobre o mesmo objeto. A ordem de execução não é importante 2) A = RT(O), B = WT(O). Não conflitam desde que A e B referenciem se a objetos diferentes. Quando solicitam operações sobre o mesmo objeto elas conflitam porque sua ordem não pode ser alterada pelo SGBD. 3) A = WT(O), B = RT(O). A ordem A e B importa por razões semelhantes às do caso anterior.

35 40 4) A = WT(O), B = WT(O). Como ambas as instruções são de operações de escrita, a ordem não afeta as transações. O resultado obtido será relevante somente para a próxima operação de leitura, pois o valor armazenado é o resultado da última operação de escrita e a ordem de execução afeta diretamente esse valor. A alteração da ordem de execução de um par de transações pode interferir no resultado de pelo menos uma delas, essa ordem só poderá ser trocada se pelo menos uma dessas operações for uma operação de escrita [Garcia-Molina et al, 2001]. T 1 T 2 T 1 T 2 RT(A) WT(A) RT(B) WT(B) RT(A) WT(A) RT(B) WT(B) RT(A) WT(A) RT(B) WT(B) RT(A) WT(A) RT(B) WT(B) Fonte: SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistemas de Banco de Dados. São Paulo: Makron Books do Brasil Editora Ltda, Terceira Edição Tabela 1-1 Escalonamento com operações de leitura e escrita e tabela equivalente com os pares de instruções alterados A instrução WT(A) de T 1 entra em conflito com a operação RT(A) de T 2. A operação WT(A) de T 2 não está em conflito com a operação RT(B) de T 1 porque elas trabalham com objetos diferentes. Sejam A e B operações consecutivas de um escalonamento S. Se A e B são operações de transações diferentes e não entram em conflito, então é possível trocar a ordem de execução de A e B para produzir uma nova escala de execução S. Espera-se que S seja equivalente a S, já que todas as operações aparecem na mesma ordem em

36 41 ambas às escalas de execução, com exceção de A e B, cuja ordem não importa. Continuando as trocas de operações não-conflitantes o resultado final é uma escala de execução serial: Trocar a operação RT(B) de T 1 por RT(A) de T 2. Trocar a operação WT(B) de T 1 por WT(A) de T 2. Trocar a operação WT(B) de T 1 por RT(A) de T 2. T 1 T 2 RT(A) WT(A) RT(B) WT(B) RT(A) WT(A) RT(B) WT(B) Tabela 1-2 Escalonamento serializável equivalente ao da tabela 1-7

37 CAPÍTULO 2 2 Arquiteturas de banco de dados A arquitetura de um sistema de banco de dados segundo [Silberschatz et al, 1999] é fortemente influenciada pelo sistema básico computacional sobre o qual o sistema de banco de dados é executado. Assim no desenvolvimento ou na escolha de um mecanismo de controle de concorrência ambos, a arquitetura física e a arquitetura do banco de dados, devem ser considerados a fim de buscar o equilíbrio entre a confiabilidade do sistema e a performance de execução. Como exemplo dessa influência, em um ambiente de rede de computadores permite que algumas tarefas sejam executadas no servidor e outras no cliente o que caracteriza os sistemas de banco de dados cliente-servidor. A distribuição de dados permite que eles residam onde são gerados ou mais utilizados e, ainda assim, estejam acessíveis para outros sites. Esses departamentos distribuídos podem ser representados por unidades móveis ou um cliente na Internet. Para tratar esse tipo de dados o sistema de banco de dados distribuídos tem evoluído. Novas aplicações proporcionadas por vários aspectos da evolução do hardware, forçam uma nova abordagem até então não suficientemente trabalhada nos modelos tradicionais motivando o desenvolvimento de novas tecnologias para tratamento de informações como CAD, CASE, hipertexto, multimídia, trazendo o desenvolvimento de bancos de dados orientados ao objeto. Nesse capítulo serão abordadas as principais características de cada arquitetura.

38 Sistemas Centralizados Sistemas centralizados são aqueles executados sobre um único sistema computacional que não interagem com outros sistemas. Um sistema computacional genérico consiste em uma ou algumas unidades de processamento (CPU) que são conectadas por meio de um barramento (bus) comum que proporciona acesso à memória compartilhada (figura 2.1). As CPUs têm memórias cache locais que armazenam cópias de partes da memória principal para acesso rápido aos dados [Silberschatz et al, 1999]. Disco Disco Impressora Unidade de fta Controlador de disco Controlador de impressora Controlador de unidade de fita CPU Sistema de barramento Controlador de memória Memória Fonte: SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistemas de Banco de Dados. São Paulo: Makron Books do Brasil Editora Ltda, Terceira edição Figura 2-1Arquitetura básica de um sistema centralizado

39 Arquitetura de banco de dados para sistemas centralizados Sistema de banco de dados em ambientes centralizados pode ser projetado para ser monousuário, como os utilizados em computadores pessoais e normalmente não oferecem os recursos comuns aos bancos de dados multiusuário. Por exemplo, não é necessário o controle de concorrência, quando somente um usuário pode produzir atualizações Sistema cliente-servidor Como resultado do avanço tecnológico terminais de sistemas centralizados foram substituídos por estações de trabalho possibilitando assim a arquitetura de sistemas Cliente-Servidor. Nessa arquitetura os servidores agem como provedores de recursos para as entidades clientes. Servidor Rede Estação Cliente Estação Cliente Estação Cliente Estação Cliente Figura 2-1 Arquitetura básica de um sistema cliente-servidor

40 Características do ambiente centralizado Por se tratar de uma arquitetura resultante da evolução dos antigos sistemas de arquivos os sistemas cliente-servidor partem do princípio do armazenamento e gerenciamento único. Suas principais características podem ser relacionadas como: Servidor é responsável por todo processamento, distribuição e armazenamento dos dados Conexão persistente com largura de banda suficiente para processar todas as interações entre cliente e servidor. Topologia persistente Arquitetura de banco de dados para sistemas cliente-servidor No banco de dados em ambiente cliente-servidor, o processamento, manipulação e acesso aos dados são executados pelo servidor, ficando a estação cliente apenas com o processamento das aplicações. As funcionalidades de um banco de dados nesse ambiente podem ser superficialmente divididas em duas categorias front-end e back-end (figura 2.3) [Silberschatz et al, 1999].

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

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

DDL). O resultado da compilação dos parâmetros DDLs é

DDL). O resultado da compilação dos parâmetros DDLs é Banco Dados Aula 2 Linguagens de Banco de Dados e Tipos de Usuários 1. Linguagens de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

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

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD) Ciência da Computação GBC043 Sistemas de Banco de Dados Introdução Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019 Motivação Necessidade de armazenar grandes

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

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Banco de Dados Controle de Concorrência e Recuperação de Transação Última atualização: 20 de janeiro de 2006 Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Tópicos Modelo Transacional Clássico

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

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

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

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

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

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. Controle de Concorrência: Garantia de que múltiplas transações ativadas

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações ) Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. ) Controle de Concorrência: Garantia de que múltiplas transações

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC) Banco de Dados - Conceitos Baseado no material da Profa. Vania Bogorny (UFSC) 1 Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel compra de passagens

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

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

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

Processamento de Transações

Processamento de Transações Arquitetura de Banco de Dados Processamento de Transações Carolina Nogueira Marcelo Eduardo Cardoso Rodrigo Dlugokenski Vítor De Araújo Bancos de dados Single-users versus Multiusers classificação baseada

Leia mais

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação Conteúdo Introdução ao gerenciamento de transações Aluno: Danusa Ribeiro drbc@cin.ufpe.br Professoras: Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias Lóscio - bfl@cin.ufpe.br Centro de Informática

Leia mais

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich Introdução a B anco de Dados INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich 1 Introdução Sistema de banco de dados Projetados para gerenciar grandes quantidades de informação Proporcionar

Leia mais

Gerenciamento de Transações em Banco de Dados

Gerenciamento de Transações em Banco de Dados Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS PROCESSAMENTO DE TRANSAÇÕES FELIPE G. TORRES INTRODUÇÃO AO PROCESSAMENTO DE TRANSAÇÕES Transação pode ser conceituada como unidades lógicas de processamento de banco

Leia mais

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão UNIDADE 1 Visão Geral Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 Visão geral: Banco de dados 1.2 Dados versus informação 1.3 Classificando os bancos de dados 1.4 Sistemas

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI Conceitos Básicos Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução Dados

Leia mais

Banco de Dados e Aplicações em Negócios: Introdução.

Banco de Dados e Aplicações em Negócios: Introdução. Banco de Dados e Aplicações em Negócios: Introdução evandro@usp.br Motivação Extenso uso de Banco de Dados (BD) no cotidiano Bancos, serviços, comércio em geral (comércio eletrônico) Web e seus serviços

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

Banco de Dados 08/08/2010

Banco de Dados 08/08/2010 Disciplina: Engenharia de Software / rof.: Raquel Silveira LANO DE AVALIAÇÕES Banco de Dados 1ª A: 30 de agosto 2ª A: 04 de outubro 3ª A: 29 de novembro NAF: 02 de dezembro Referência bibliográfica: SILBERSCHATZ,

Leia mais

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju Banco de Dados Professor: Marcelo Machado Cunha IFS Campus Aracaju Definição Banco de Dados Conjunto de dados interrelacionados que objetivam atender as necessidades de um conjunto de usuários. Inglês:

Leia mais

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini Banco de Dados Introdução Profa. Flávia Cristina Bernardini * Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado Motivação Operações

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Sistema Gestor de Bancos de Dados (SGBD)

Sistema Gestor de Bancos de Dados (SGBD) Sistema Gestor de Bancos de Dados (SGBD) Conceitos Gerais Prof. Guilherme Tomaschewski Netto guilherme.netto@gmail.com Roteiro! Contextualização! Apresentação, um pouco de história Legendas! Nesta apresentação

Leia mais

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de : Recuperação; Concorrência.

Leia mais

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Definição de Banco de Dados De uma forma genérica, um banco de dados é definido como uma coleção de dados relacionados. Os dados são

Leia mais

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos Banco de Dados SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1 Prof. Leonardo Vasconcelos - O que é um banco de dados (BD)? Um Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados,

Leia mais

1. Conceitos de Bancos de Dados

1. Conceitos de Bancos de Dados Bancos de Dados 1. Conceitos de Bancos de Dados 1 Bancos de Dados na Vida Cotidiana BD e sistemas de informação baseados em BD são cada vez mais essenciais para a vida moderna Quase todas as nossas atividades

Leia mais

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto Matéria: Sistema Computacional - SC Prof.: Esp.: Patrícia Dias da Silva Peixoto SISTEMA OPERACIONAL E TIPOS DE SISTEMAS OPERACIONAIS O QUE É UM SISTEMA OPERACIONAL (S.O.). Por mais complexo que possa parecer,

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Palguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Sistema de Banco de Dados UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Resumo da Unidade Banco de dados BD SGBD Objetivo Visão Geral Abstração Modelo de Dados Entidade Relaciomento(ER)

Leia mais

Top. Esp em Banco de Dados

Top. Esp em Banco de Dados Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos Roteiro Introdução Caracterização de BDD

Leia mais

Sistemas de Bancos de Dados Distribuídos

Sistemas de Bancos de Dados Distribuídos Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos Roteiro Introdução Caracterização de BDD

Leia mais

Sistemas de Bancos de Dados Distribuídos

Sistemas de Bancos de Dados Distribuídos Sistema de Arquivos Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos 4 Roteiro Sistema de

Leia mais

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência. Roteiro Noções de Controle de Concorrência Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Posicionamento

Leia mais

Banco de Dados I Parte I: Introdução

Banco de Dados I Parte I: Introdução Banco de Dados I Parte I: Introdução Prof. Gregorio Perez ( gregorio@uninove.br ) Colaboração: Roteiro Dados e Informação profa. Ana Leda prof. André Luis Santos prof. José Prata Formas de Armazenamento

Leia mais

Conceitos de Sistemas de Banco de Dados INE 5323

Conceitos de Sistemas de Banco de Dados INE 5323 Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação

Leia mais

2. Conceitos e Arquiteturas de um SGBD

2. Conceitos e Arquiteturas de um SGBD Instituto de Ciências Exatas e Tecnológicas Campus Assis Curso: Ciência da Computação Disciplina: Banco de Dados Prof(a): Alexandre Serezani Título: Apostila 2 APOSTILA 2 2. Conceitos e Arquiteturas de

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

6.1 Resumo das Características do Modelo Proposto

6.1 Resumo das Características do Modelo Proposto 6 Comparação entre s de Execução de Transação em Ambiente de Computação Móvel Este capítulo tem por objetivo apresentar um estudo comparativo entre os mais significativos modelos de execução de transação

Leia mais

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional Banco de Dados Banco de Dados II Conceitos Básicos Coleção logicamente coerente de dados relacionados com algum significado inerente; Exemplos de bancos de dados: Agenda de endereços (papel ou computador)

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento Roteiro Noções de Recuperação de Falhas Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Visão Geral Referências: Sistemas Operacionais Modernos. Andrew S. Tanenbaum. Editora Pearson. 3ª ed. 2010. Seção: 1.1

Leia mais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva  UFU/FACOM/BCC GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta,

Leia mais

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Disciplina: Banco de Dados Prof: Márcio Palheta, Esp

Leia mais

Banco de Dados I. Sejam bem-vindos! Prof. Fred Lucena. 1

Banco de Dados I. Sejam bem-vindos! Prof. Fred Lucena. 1 Banco de Dados I Sejam bem-vindos! 1 Bibliografia Básica COUGO, Paulo. Modelagem conceitual e projeto de banco de dados. 3.ed. Rio de Janeiro: F & W Publications, 1997. 284p. HEUSER, Carlos Alberto. Projeto

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI ARQUITETURA DE SISTEMAS OPERACIONAIS VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI INTRODUÇÃO Programas computacionais (ou software) constituem o elo entre

Leia mais

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. 2

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados?

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados? Aula - 01 Introdução Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados? Controle automático de estoques. Introdução Aplicações

Leia mais

Introdução a Sistemas Operacionais. Adão de Melo Neto

Introdução a Sistemas Operacionais. Adão de Melo Neto Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como

Leia mais

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados Prof. Anderson Henriques Introdução A quantidade de informação relevante para a tomada de decisões nas organizações é muito

Leia mais

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

Livro texto: Capítulo 1

Livro texto: Capítulo 1 Livro texto: Capítulo 1 Bancos de dados (BD) No decorrer do dia, a maioria de nós se depara com atividades que envolvem alguma interação com os BD s banco reservas em um hotel compra de passagens aéreas

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Aula 16. Tópicos Especiais II Banco de Dados. Prof. Dr. Dilermando Piva Jr.

Aula 16. Tópicos Especiais II Banco de Dados. Prof. Dr. Dilermando Piva Jr. 16 Aula 16 Tópicos Especiais II Banco de Dados Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Sistemas de Arquivos O computador tem facilitado bastante a vida dos seres

Leia mais

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr Banco de Dados Perspectiva Histórica dos Bancos de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Histórico Antes dos computadores, as informações eram

Leia mais

Formação de DBAs SQL Server 2008

Formação de DBAs SQL Server 2008 Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por

Leia mais

Alcides Pamplona

Alcides Pamplona Alcides Pamplona alcides.pamplona@gmail.com Objetivos Gerais Capacitar o aluno a compreender os paradigmas dos Bancos de Dados Distribuídos, visando sua aplicação na análise e projeto de bancos de dados

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

Introdução à Banco de Dados

Introdução à Banco de Dados Introdução à Banco de Dados Disciplina de Sistemas de Banco de Dados Prof. Marcos Antonio Schreiner /08/2015 Banco de dados Definição Coleção de dados relacionados. Fatos conhecidos que podem ser armazenados.

Leia mais

MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados Prof. Daniela Barreiro Claro Agenda SGBD Visão Geral Componentes Vantagens Arquitetura de um SGBD FORMAS - UFBA 2 de X SGBD Um Sistema

Leia mais

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas Processamento de Consultas em Bancos de Dados Distribuídos Visão geral do processamento de consultas IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Técnicas de Recuperação em Banco de Dados

Técnicas de Recuperação em Banco de Dados Técnicas de Recuperação em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 14 Recuperação em Banco de Dados 2 Falhas podem ocorrer em qualquer Sistema Catastroficas e não-catastroficas SGBD deve garantir

Leia mais

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E Sistema de Banco de Dados, 5/E Capítulo 1: Introdução Finalidade dos sistemas de banco de dados Visão dos dados Linguagens de banco de dados Bancos de dados relacionais Projeto de banco de dados Bancos

Leia mais

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I UFSC-CTC-INE Curso de Ciências da Computação INE 5423 Banco de Dados I 2011/1 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014 Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;

Leia mais

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I UFSC-CTC-INE Curso de Ciencias da Computação INE 5423 Banco de Dados I 2010/2 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)

Leia mais

Banco de Dados Fundamentos Básicos. Hélder Antero Amaral Nunes

Banco de Dados Fundamentos Básicos. Hélder Antero Amaral Nunes Banco de Dados Fundamentos Básicos Hélder Antero Amaral Nunes Banco de dados Definição É um conjunto de dados relativos a um determinado ambiente, estejam eles armazenados ou não em um computador, que

Leia mais