Uma Análise dos Novos Sistemas de Bancos de Dados Relacionais Escaláveis

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

Download "Uma Análise dos Novos Sistemas de Bancos de Dados Relacionais Escaláveis"

Transcrição

1 Uma Análise dos Novos Sistemas de Bancos de Dados Relacionais Escaláveis Pedro Henrique dos Santos Lemos Pedro Soares Figueiredo Projeto de Graduação apresentado ao Curso de Engenharia de Computação e Informação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Alexandre de Assis Bento Lima Rio de Janeiro Março de 2014

2 UMA ANÁLISE DOS NOVOS SISTEMAS DE BANCOS DE DADOS RELACIONAIS ESCALÁVEIS Pedro Henrique dos Santos Lemos Pedro Soares Figueiredo PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO DE ENGENHARIA DE COMPUTAÇÃO E INFORMAÇÃO DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO DE COMPUTAÇÃO E INFORMAÇÃO. Examinada por: Prof. Alexandre de Assis Bento Lima, D.Sc. Profa. Marta Lima de Queirós Mattoso, D.Sc. Prof. Ricardo Cordeiro de Farias, Ph.D. RIO DE JANEIRO, RJ BRASIL MARÇO de 2014

3 Pedro Figueiredo, Henrique Pedro dos Soares Santos Lemos Pedro Lemos, Soares Pedro Figueiredo Henrique dos Santos Uma Uma Análise Análise dos dos Novos Novos Sistemas de de Bancos de Dados Relacionais Escaláveis/Pedro Henrique dos Santos Lemos e Pedro Soares Figueiredo. Rio de Janeiro: UFRJ/ Escola Politécnica, VIII, XII, 58 p.: 71 il.; p.: 29,7 il.; 29,7 cm. cm. Orientador: Alexandre de de Assis Assis Bento Bento Lima Lima Projeto Projeto de Graduação de Graduação UFRJ/ UFRJ/Escola Politécnica/ Politécnica/ Curso de Engenharia Curso de Engenharia de Computação de Computação e Informação, e Informação, Referências Bibliográficas: pxx p Banco 1. Banco de de Dados Dados Modelo Relacional NoSQL 4. NewSQL. I. Universidade Lima, Alexandre Federal Assis do Rio Bento de Janeiro, II. Universidade Escola Politécnica, Federal do Rio Curso de Janeiro, de Engenharia Escola Politécnica, de Computação Curso de Informação. Engenharia de III. Computação Título. e Informação. III. Titulo. iii

4 AGRADECIMENTOS Por Pedro Lemos: Chegar em um momento como esse não é algo fácil. Foram 6 intensos anos, nos quais inúmeras dificuldades surgiram, muitas coisas foram deixadas de lado, para que esse momento chegasse, mas principalmente, muitas coisas foram conquistadas ao longo desses anos, que hoje me fazem ter a certeza que esse tempo não foi em vão, e sim muito proveitoso. Mas para enfrentar todos os obstáculos e mesmo assim sentir o prazer dessa conquista, foi necessário uma comunhão de forças, as quais agradeço aqui nesse momento. À minha família, principalmente meus pai, Artur e Wania, minhas irmãs, Larissa e Renata e minha namorada Anália, por todo o apoio e dado durante esse longo período. Não teria sido fácil, sem a ajuda de vocês, sem o suporte emocional necessário, para aguentar viradas de noites de estudos, estágios durante o fim de semana, viagens a trabalho e passar 1 ano morando longe de casa. Obrigado por todo o amor e carinho que vocês sempre me deram. Aos amigos de ECI, que fizeram cada dia de faculdade, ser um dia diferente. Sem vocês, esses anos não seriam os mesmos, e teriam passado muito mais devagar. Obrigado por me ajudar a levar a faculdade com a seriedade, mas também com a alegria necessária. À Fluxo e seus membros, por ter me feito aprender muito mais que Engenharia. Por me deixar conhecer esse imenso mundo que é o Empreendedorismo. Sem todos os EMPIs, PAME s, reuniões de fim de semana, sem ter conhecido todos vocês, essa faculdade não teria a menor graça. Obrigado por ser minha 2ª casa. Aos amigo feitos no Porto, obrigado pela grande experiência de ter morado fora de casa durante 1 ano. Vocês tornaram esse momento, mais incrível do que eu poderia imaginar. iv

5 AGRADECIMENTOS Por Pedro Figueiredo: Primeiramente, tenho que agradecer à meus pais, Sérgio e Mônica, pelas primeiras orientações que recebi na vida. O amor, o carinho, o apoio incondicional, a educação dada e os valores que me passaram fizeram com que tudo o que aconteceu até aqui fosse possível. Obrigado por me ensinarem a acreditar. À meus irmãos, Lucas e João Felipe, obrigado por serem os melhores irmãos possíveis. Aos queridos amigos da turma de 2008 da ECI, agradeço por terem tornado essa jornada prazerosa, mesmo nos momentos mais difíceis. As salas de estudo, virtuais e reais, serão lembradas. Todas as outras reuniões, mais ainda! Obrigado por terem se tornado amigos de verdade. Um agradecimento especial ao Pedro Lemos pela parceria inestimável na realização deste projeto. Aos amigos da época de colégio, vocês me ensinaram o significado real da palavra amizade. Essa foi uma lição incrível! Obrigado pelo apoio de sempre. Aos companheiros da Plannera, obrigado por terem feito parte da minha vida profissional. E obrigado por terem me ensinado a aprender a errar melhor., E a todos que de alguma forma contribuíram para este momento, agradeço. Por ambos: Ao professor Alexandre Assis, agradecemos pelas aulas que eventualmente levaram à escolha deste tema, pela orientação neste trabalho, pela dedicação em todas as revisões do texto. E aos demais professores, obrigado por todos os momentos igualmente inspiradores. v

6 Resumo do Projeto de Graduação apresentado à Escola Politécnica/ UFRJ como parte dos requisitos necessários para a obtenção do grau de Engenheiro de Computação e Informação. Uma Análise dos Novos Sistemas de Bancos de Dados Relacionais Escaláveis Pedro Henrique dos Santos Lemos Pedro Soares Figueiredo Março/2014 Orientador: Alexandre de Assis Bento Lima Curso: Engenharia de Computação e Informação Sistemas de Gerência de Bancos de Dados Relacionais (SGBDR) tradicionalmente são usados como parte da solução de aplicações de Processamento de Transações. Nos últimos anos, porém, surgiram novas aplicações, geralmente baseadas na Web: redes sociais, jogos multijogadores online, análise de dados em tempo real, entre outros. Aplicações bem sucedidas desses tipos são caracterizadas por um alto volume de interações por segundo e um tempo de resposta baixo, o que demanda requisitos de escalabilidade e desempenho melhorados dos SGBD. Sistemas NoSQL, uma classe de SGBD não-relacionais, surgiram para atender a esta demanda, fornecendo escalabilidade horizontal, em troca de uma consistência relaxada dos dados, chamada consistência tardia, e da ausência de uma linguagem de consulta de alto nível, como a SQL, o que dificulta sua adoção em larga escala. Assim, uma nova classe de SGBDR vem surgindo: os SGBD NewSQL, com suporte a SQL e transações ACID, que se diferenciam por novas estratégias de implementação, que incluem, entre outras, dados residentes em memória, escalabilidade horizontal em ambientes com arquitetura de memória distribuída, e por serem projetados para atender a tipos específicos de aplicações. Essa nova classe de SGBDR constitui o objeto de análise deste projeto. Para isso, suas motivações e suas principais características foram estudadas. Para fins ilustrativos, foram realizados testes de desempenho com um SGBD NewSQL através da aplicação de um conjunto de benchmarks, que simulam cargas de trabalho típicas de domínios de aplicações distintos. vi

7 Abstract of Undergraduate Project presented to POLI/UFRJ as a partial fulfillment of the requirements for the degree of Computer and Information Engineer. Analysis of the New Scalable Relational Database Systems Pedro Henrique dos Santos Lemos Pedro Soares Figueiredo March/2014 Advisor: Alexandre de Assis Bento Lima Major: Computer and Information Engineering Relational Database Management Systems (RDBMS) are traditionally used as a part of Transaction Processing applications. In recent years, however, new Web-based applications emerged: social networks, online multiplayer games, real-time data analytics, among others. Successful applications of that kind are characterized by a high volume of interactions per second and low response time, which demands improved performance and scalability from DBMS. NoSQL systems, a non-relational class of DBMS, emerged to fulfill this task, providing horizontal scalability, in exchange of relaxed data consistency (called eventually consistent systems) and the absence of a high-level query language, such as SQL, which makes their adoption harder. Thus, a new class of RDBMS arose: NewSQL, that supports both SQL and ACID-compliant transactions, and differentiates themselves from traditional RDBMS by presenting new strategy implementations that include in-memory data storage and horizontal scalability in shared nothing clusters. They are also designed according to specific application requirements. NewSQL systems are the object of analysis of this project. Motivations for their development and main features were studied. For illustrative purposes, performance evaluation of one NewSQL DBMS was done through the execution of a set of synthetic benchmarks, simulating a variety of distinguished application workloads. vii

8 Capítulo 1 - SUMÁRIO Introdução Tema Justificativa Objetivo Metodologia Organização do Texto... 3 Capítulo 2 - Fundamentação Teórica Estratégias tradicionais para implementação de SGBD Novo Ambiente Bancos de Dados Distribuídos NoSQL Motivação Principais Características Classificação Problemas Avaliação de Desempenho em Sistemas de Bancos de Dados Capítulo 3 - NewSQL NuoDB Visão Geral Arquitetura Estrutura em níveis Os Átomos Controle de Concorrência VoltDB Visão Geral Arquitetura MemSQL viii

9 3.3.1 Visão Geral Arquitetura Alocação de Tabelas Controle de Concorrência Execução de Consultas Propriedades ACID Google Spanner Visão Geral Arquitetura Capítulo 4 - Avaliação experimental OLTP-Bench TPC-C TATP YCSB Twitter Ambiente de Testes Procedimento Experimental Objetivo Metodologia Configuração dos SGBD Resultados Experimentais TATP Twitter YCSB TPC-C Capítulo 5 - Conclusão Limitações Trabalhos Futuros ix

10 Referências Bibliográficas Anexo A x

11 LISTA DE FIGURAS Figura 1 Um sistema de banco de dados distribuído. Adaptado de (ÖZSU, VALDURIEZ, 2010) Figura 2 - Arquitetura do NuoDB. Adaptado de 25 Figura 3 - Arquitetura do MemSQL. Adaptado de 32 Figura 4 - Execução de Consultas no MemSQL. Adaptado de 35 Figura 5 - Esquema do TPC-C Figura 6 - Esquema do TATP Figura 7 - Esquema do YCSB Figura 8 Esquema do Twitter Figura 9 - Resultados TATP - 2 Nós Figura 10 - Resultados TATP - 4 Nós Figura 11 - Resultados TATP Usuários Virtuais Figura 12 - Resultados Twitter - 2 Nós Figura 13 - Resultados Twitter - 4 Nós Figura 14 - Resultados Twitter Usuários Virtuais Figura 15 - Resultados YCSB - 2 Nós Figura 16 - Resultados YCSB - 4 Nós Figura 17 - Resultados YCSB Usuários Virtuais Figura 18 - Resultados TPCC - 2 Nós Figura 19 - Resultados TPCC - 4 Nós Figura 20 - Resultados TPCC Usuários Virtuais xi

12 LISTA DE SIGLAS ACID Atomicidade, Consistência, Isolamento e Durabilidade BASE Basically Available, Soft-state services with Eventual-Consistency JDBC Java Database Connectivity LDD Linguagem de Definição de Dados MV Máquina Virtual MVCC Multi Version Concurrency Control OLTP Processamento de Transações em Tempo Real (do inglês, Online Transaction Processing) SBD Sistemas de Bancos de Dados SBDD Sistemas de Bancos de Dados Distribuídos SBDR Sistemas de Bancos de Dados Relacionais SGBD Sistema de Gerência de Banco de Dados SM Gerenciador de Armazenamento (do inglês, Storage Manager) SQL Linguagem de Consulta Estruturada (do inglês, Structured Query Language) SSD Solid State Drives TE Motor de Transações (do inglês, Transaction Engine) TPC Transaction Processing Performance Council XML extended Markup Language YCSB Yahoo! Cloud Serving Benchmark xii

13 Capítulo 1 - Introdução 1.1 Tema Este projeto traz os resultados de um estudo sobre as novas tecnologias utilizadas para implementação de Sistemas de Gerência de Bancos de Dados Relacionais (SGBDR), conjuntamente denominadas NewSQL. 1.2 Justificativa SGBDR tradicionalmente são usados como parte da solução de aplicações com grande número de transações. Nos últimos anos, porém, surgiram uma variedade de novas aplicações, geralmente baseadas na Web: redes sociais online, jogos multijogadores, comércio eletrônico a nível global, mensageiros instantâneos, etc. Aplicações bem sucedidas desses tipos são caracterizadas por um alto volume de interações por segundo e, normalmente, espera-se que o tempo de resposta seja muito baixo, o que demanda requisitos de escalabilidade e desempenho melhorados dos SGBD (STONEBRAKER,2011). As estratégias de implementação dos SGBDR atuais (armazenamento baseado em disco, arquitetura centralizada, entre outros) são um empecilho para atender a esses requisitos. Uma abordagem do tipo dividir para conquistar para o problema da escalabilidade, como fragmentar os dados em uma arquitetura distribuída, por exemplo, tem um custo elevado de manutenção em um SGBDR. O aprimoramento de tecnologias de hardware, como processadores mais rápidos, memórias com mais capacidade (e que ficaram, ao mesmo tempo, mais baratas), e novas formas de armazenamento não-volátil, como os Solid State Drives (SSD), também devem ser consideradas. Bases de dados residentes unicamente em memória passam a ser uma opção, por exemplo. Por isso, surgiu o movimento NoSQL. Sistemas NoSQL visam atender a problemas específicos, através de modelos de dados distintos, como: orientados a 1

14 grafos (adequados a uma rede social, por exemplo), a documentos (adequados a sistemas web que utilizam estruturas tipo XML ou JSON, por exemplo) e armazenamento chave-valor (um exemplo seria uma espécie de cache). O problema é que esse tipo de sistema provê um maior desempenho em troca de relaxar a consistência, sendo tardiamente consistentes, e não possuem uma linguagem de consulta unificada, como o SQL, o que pode tornar complexo o acesso aos dados, podendo até inviabilizar a decisão de adoção desse tipo de tecnologia. Assim, pesquisadores como STONEBRAKER et al.(2007) sugerem soluções que mantenham o Modelo Relacional, as transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade) e a SQL, reduzindo custos de transição, mas que, ao mesmo tempo, tenham arquiteturas e estratégias de implementações projetadas para atender a necessidades específicas, pois assim evitam sobrecargas induzidas por recursos que existem em SGBDR tradicionais e, muitas vezes, são desnecessárias, pois estes tendem a ser generalistas ( uma aplicação para tudo ). A esse conjunto de novas soluções deu-se o nome NewSQL. 1.3 Objetivo O objetivo principal deste projeto é realizar um estudo sobre as novas tecnologias para SGBDR denominadas NewSQL, mostrando desde os motivos da sua concepção até os detalhes de funcionamento de algumas dessas ferramentas, passando pelas principais diferenças entre o NewSQL e os SGBDR tradicionais. Um outro objetivo é verificar, através de experimentos, o desempenho de alguns dos novos SGBDR. Para tanto, uma ferramenta (NuoDB) foi analisada com a utilização de quatro benchmarks com características bastante distintas. 1.4 Metodologia As seguintes etapas foram realizadas para a conclusão deste estudo: 2

15 I. Levantamento de material didático, a fim de realizar um estudo aprofundado sobre as tecnologias de bancos de dados NewSQL. II. Pesquisa exploratória de diversos conceitos de bancos de dados e do cenário atual, tentando entender o porquê da necessidade de novas tecnologias. III. Planejamento e organização de um ambiente de testes para realização de quatro benchmarks entre um sistema NewSQL e um SGBDR atual. IV. Escolha de ferramentas NewSQL para avaliação de desempenho. V. Avaliação das ferramentas selecionadas através da execução dos benchmarks escolhidos. VI. Análise dos resultados obtidos. 1.5 Organização do Texto Este projeto está organizado da seguinte forma: no Capítulo 2 são apresentadas as características dos SGBDR tradicionais e as demandas das novas aplicações, que não conseguem ser atendidas por esses sistemas de forma satisfatória. Além disso, são apresentados conceitos de bancos de dados distribuídos e uma breve descrição das tecnologias NoSQL, uma das primeiras alternativas aos SGBDR tradicionais. Também há uma breve introdução a métodos para avaliação de desempenho em SGBD, e quais características específicas podem ser medidas por eles. No Capítulo 3 é apresentado o conceito de NewSQL e algumas ferramentas desenvolvidas são analisadas. O Capítulo 4 descreve os experimentos realizados e seus resultados. O Capítulo 5 conclui o projeto. 3

16 Capítulo 2 - Fundamentação Teórica 2.1 Estratégias tradicionais para implementação de SGBD Os SGBD tradicionais, especialmente os que suportam aplicações que executam processamento de transações em linha (OLTP, do inglês On-line Transaction Processing ), possuem uma série padrão de recursos, tais como suporte ao modelo de dados Relacional (SGBDR), estruturas para armazenamento de dados em disco, controle de concorrência entre transações e recuperação de falhas através de arquivos de log (HARIZOPOULOS et al., 2008). Alguns destes recursos já faziam parte do System R (STONEBRAKER et al., 2007), SGBD Relacional lançado na década de 1970, quando as bases de dados eram muito maiores que a quantidade de memória principal disponível em um servidor de banco de dados e o custo de um computador apropriado para tais bases era altíssimo. Duas das principais características desses sistemas são a utilização da linguagem SQL para consultas (devido ao modelo Relacional) e a garantia das propriedades ACID em suas transações. A primeira possui vantagens como: promover a independência dos dados, ser uma linguagem de alto nível, declarativa, amplamente disseminada na comunidade (fazendo parte do currículo de praticamente todos os cursos ligados à Computação), proporcionar relativa facilidade de aprendizado e compreensão e ser uma linguagem independente de plataforma, sendo suportada por basicamente todos os SGBDR. As propriedades ACID garantem aos usuários a execução correta e consistente de suas transações. São transações atômicas, pois todas as suas operações são executadas com sucesso, ou, em caso de alguma falha, todas são desfeitas; consistentes, pois toda transação leva o banco de dados de um estado consistente a outro estado consistente, respeitando as restrições de integridade; isoladas, pois, caso ocorram transações concorrentes, uma transação não interfere no resultado da 4

17 outra, permitindo que o resultado da execução paralela das transações seja o mesmo obtido caso as mesmas tivessem sido executadas sequencialmente; e duráveis, pois, em caso de sucesso, as alterações causadas pela transação são persistidas mesmo em caso de falhas. Esse tipo de garantia é crucial para o bom funcionamento de sistemas OLTP como, por exemplo, sistemas bancários e de compras de passagens aéreas. Por isso, nestes sistemas, o benefício de garantir a consistência dos dados por muitas vezes acaba sendo superior à perda de desempenho induzida pela sobrecarga causada por alguns mecanismos de controle de concorrência. Devido, em grande parte, à estas características, os SGBDR ainda são amplamente utilizados. Esta ampla utilização, nos últimos 40 anos, levou seus desenvolvedores a desenvolvê-los como ferramentas que podem ser utilizadas por qualquer tipo de aplicação que necessite de persistência de dados ( one size fits all - (STONEBRAKER, CENTINTEMEL, 2005)). O cenário, no entanto, vem mudando desde a década de 2000, conforme mostra a próxima seção. 2.2 Novo Ambiente O principal mercado a ser atendido pelos SGBDR, na época em que foram criados, era o de aplicações transacionais OLTP, mais especificadamente o de processamento de dados de negócios (STONEBRAKER et al. 2007), como por exemplo sistemas para compra de passagens de avião. De forma diferente do cenário atual, este tipo de operação não era realizado diretamente pelo cliente através da Internet, já que a mesma ainda nem existia. Nos EUA, por exemplo, as transações eram realizadas por operadores profissionais especializados, contatados por telefone, que então manipulavam o banco de dados com sua aplicação cliente, através de um terminal, para fazer a reserva com operações simples. 5

18 Apesar de parecer que ter um sistema único para todas as aplicações possa ser fantástico, do ponto de vista financeiro e operacional, a perspectiva sobre os SGBDR vem mudando (STONEBRAKER et al., 2007). Nos últimos anos uma enorme quantidade de outros mercados surgiu, incluindo motores de busca na Web, redes sociais e o mercado de comunicação móvel, entre outras aplicações em tempo real, fazendo com que o cenário OLTP dos dias atuais seja claramente distinto: existem dispositivos, em escala global, constantemente conectados à Internet, como smartphones e tablets, que são potenciais geradores de transações. Considerando o exemplo da reserva de passagens de avião mencionado anteriormente, por exemplo: hoje esse objetivo pode ser alcançado enquanto se toma um café. Basta que se disponha de um dispositivo móvel conectado a Internet. Essa comodidade, associada a um mundo dinâmico em que as pessoas desejam a todo momento que suas solicitações sejam atendidas com rapidez, levanta duas demandas em relação aos SGBDR: maior vazão (em número de transações por unidade de tempo) e alta disponibilidade, normalmente alcançada na forma de replicação (STONEBRAKER, 2011). Além das mudanças nas aplicações que utilizam SGBD e no contexto informacional que estamos, podemos citar também uma grande mudança no cenário dos hardwares utilizados. Segundo STONEBRAKER et al. (2007) os processadores modernos são bem mais rápidos, e executam transações em microssegundos, os discos rígidos aumentaram significativamente de tamanho, e novas tecnologias de armazenamento não-volátil foram desenvolvidas, como os SSD (do inglês, Solid State Drive ), que possuem tempos de resposta bastante reduzidos. Além disso, o custo da memória principal diminuiu, e já é possível ter servidores com capacidade suficiente para tornar possível a implantação de bases de dados residentes unicamente em memória principal (STONEBRAKER, WEISBERG, 2013). Some-se a isso o fato de que aglomerados (do inglês clusters) de computadores, constituídos de dezenas ou até mesmo milhares de computadores comuns interconectados, ganharam grande 6

19 popularidade como solução para aumentar a capacidade de processamento disponível a baixo custo, e este cenário se torna ainda mais factível. Mas é claro que os SGBDRs atuais não são idênticos aos lançados inicialmente. Ao longo dos anos, diversas melhorias já foram implantadas como arquiteturas de memória compartilhada, índices baseados em mapas de bits, suporte para tipos de dados definidos pelo usuário entre outros (STONEBRAKER et al., 2007). Ainda assim, parte desse esforço de desenvolvimento introduziu uma série de sobrecargas em uma tentativa de tornar o sistema genérico o suficiente para atender a múltiplos casos de uso, quando soluções especializadas com foco em escalabilidade e distribuição de dados podem ser mais adequadas a algumas organizações. 2.3 Bancos de Dados Distribuídos Um dos principais objetivos de um SGBD é permitir independência dos dados armazenados em relação à aplicação que os consome, ou seja, retirar as lógicas de armazenamento, acesso e controle aos dados da própria aplicação e passar essas responsabilidades a um software especializado. A forma mais simples de se conseguir isso é instalando uma instância de um SGBD em um servidor, esteja ele localizado no próprio centro de dados (do inglês datacenter) da organização ou em uma Máquina Virtual (MV) de uma operadora de serviços de computação em nuvem. Esta solução pode, a princípio, ser mais simples de administrar, porém apresenta o mesmo problema inerente a outras aplicações que seguem uma arquitetura centralizada: há um ponto de falha único, o que pode levar à indisponibilidade do serviço. Além disso, empresas que utilizem um SBD centralizado para integrar seus dados podem ter filiais em todo o mundo. Isso levanta algumas questões interessantes: Como garantir uma maior disponibilidade desses dados? Nenhuma empresa gostaria que os dados de seus usuários (potencialmente milhões deles) não 7

20 estejam disponíveis por causa da falha de um computador, sob o risco de grandes prejuízos financeiros. Também é razoável assumir que se uma empresa deste porte guardar um histórico das transações comerciais de todos os seus usuários desde que o sistema entrou em funcionamento, por exemplo, possuirá dados da ordem de grandeza de alguns terabytes ou petabytes. Como um único servidor de banco de dados se sai ao lidar com bases de dados dessa magnitude (e, possivelmente, com muitas transações concorrentes)? Além disso, se uma hipotética empresa X tem filiais em São Paulo e Tóquio, por exemplo, será que os dados disponíveis a respeito da filial de São Paulo são relevantes para a equipe situada em Tóquio? Para resolver o primeiro problema, alguns SGBD, como o MySQL 1 ou o PostgreSQL 2, ao longo dos seus ciclos de desenvolvimento, introduziram mecanismos de replicação de dados. Um exemplo normalmente suportado é a replicação do tipo mestre-escravo, onde o computador configurado como mestre armazena em um arquivo de log todas as tuplas que foram atualizadas e depois propaga as modificações para o(s) computador(es) escravo(s). Assim, se o mestre falhar um escravo pode assumir sua função. Essa é uma solução que acarreta grande redundância de dados, se baseando em cópias de uma base de dados inteira. Se mestre e escravos forem executados por servidores localizados no mesmo espaço físico, ainda há um risco de uma catástrofe natural, por exemplo, tornar a operação do serviço indisponível. Se, por outro lado, estes servidores estiverem separados geograficamente, a latência da comunicação entre eles pela rede pode vir a se tornar um fator importante para a degradação do desempenho, que é diretamente proporcional à distância. 1 acessado pela primeira vez em 27/02/ acessado pela primeira vez em 27/02/2014 8

21 Com respeito à segunda questão, existe um limite físico para acomodar bases de dados muito grandes, a própria capacidade de armazenamento do servidor. Uma possível solução para esse problema seria migrar a base de dados para um servidor com maior capacidade de armazenamento, o que é conhecido como escalabilidade vertical (STONEBRAKER et al.,2007). Esta solução envolve a compra de equipamentos caros e cujo incremento de desempenho é limitado, pois chega um ponto em que não há como melhorá-lo através de novas atualizações de hardware. Além disso, implica em deixar o servidor inoperante durante o tempo em que a migração acontece, sendo este possivelmente o maior prejuízo. Uma alternativa à escalabilidade vertical é aumentar a capacidade de processamento de dados ao adicionar mais servidores a um aglomerado de computadores que, conjuntamente, possuem uma capacidade de processamento superior ao de um único servidor com muitos recursos. Aumentar o desempenho ao adicionar mais nós ao aglomerado é conhecido como escalabilidade horizontal. Estas são algumas das razões que motivaram a pesquisa e o desenvolvimento de sistemas de bancos de dados distribuídos. Antes de definir o que são sistemas de bancos de dados distribuídos, porém, deve-se definir o que são sistemas distribuídos em geral. Um sistema computacional distribuído pode ser definido como um número de elementos de processamento autônomos (não necessariamente homogêneos), interconectados por uma rede de computadores, que cooperam para realizar as tarefas que lhes foram atribuídas. Nessa definição, elementos de processamento são dispositivos capazes de executar um programa por conta própria (ÖZSU, VALDURIEZ, 2010). Nesse caso, podem ser distribuídos: a lógica de processamento, conforme a definição anterior implicitamente sugere; as funções de um computador, que podem ser delegadas a componentes de hardware ou software distintos; os próprios dados e também o controle da execução de um determinado programa, que pode ser realizado 9

22 por diversos computadores ao invés de um único (ÖZSU, VALDURIEZ, 2010). Do ponto de vista de sistemas de bancos de dados, todos esses modos de distribuição são importantes. Assim, ÖZSU e VALDURIEZ (2010) definem banco de dados distribuído como uma coleção de múltiplos bancos de dados, logicamente inter-relacionados e distribuídos por uma rede de computadores. Um Sistema de Gerência de Bancos de Dados Distribuídos (SGBDD) então é definido como o software que permite a gerência de bancos de dados distribuídos e torna a distribuição transparente para os usuários. O nome Sistema de Banco de Dados Distribuído (SBDD) também é utilizado como referência ao conjunto formado pelo banco de dados distribuído e seu SGBDD e aplicações associadas. É importante ressaltar que um SBDD não é uma coleção de arquivos que podem ser armazenados individualmente nos nós de uma rede de computadores. Em um SBDD, além de logicamente relacionados, deve haver estrutura comum entre esses arquivos, e o acesso deve ser feito por uma interface comum (ÖZSU, VALDURIEZ, 2010). A Figura 1 demonstra o que foi dito: Figura 1 Um sistema de banco de dados distribuído. Adaptado de (ÖZSU, VALDURIEZ, 2010). 10

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner Ronaldo S. Mello Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

NoSQL: Vantagens, Desvantagens e Compromissos. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

NoSQL: Vantagens, Desvantagens e Compromissos. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) NoSQL: Vantagens, Desvantagens e Compromissos Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Agenda Definição de NoSQL Atributos de qualidade e trocas Modelo de dados Escalabilidade Transações

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

E N AT O M O L I N A T O T H

E N AT O M O L I N A T O T H no:sql Not only SQL Renato Molina Toth ww.renatomolina.in R E N AT O M O L I N A T O T H O que é? O que é? Não é uma nova tecnologia, é uma nova abordagem Propõe um modelo alternativo de banco de dados

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados O modelo relacional Marta Mattoso Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relação aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento

Leia mais

CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE

CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇÃO ENGENHARIA DE SOFTWARE NoSQL Banco de Dados Não Relacional ALUNO: Heitor Oliveira Silva PROFESSOR ORIENTADOR:

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Engenharia de software 2011A. Trabalho sobre

Engenharia de software 2011A. Trabalho sobre Engenharia de software 2011A Trabalho sobre NOSQL Not only SQL NoSQL Not only SQL GRUPO - 9 Cléverton Heming Jardel Palagi Jonatam Gebing Marcos Wassem NOSQL O Termo NoSQL, foi utilizado pela primeira

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos Banco de Dados Distribuídos Emmanuel Filho¹, Maria Cristina C. Rodrigues¹ Nayguron Henrique de S. Barreto¹, Wilton de Serpa Monteiro¹ ¹ Tecnologia em Análise e Desenvolvimento de Sistemas do Instituto

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relacao aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Introdução aos Bancos de Dados Não-Relacionais Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Conteúdo Histórico de BDs não-relacionais na Web 4 Categorias de bancos NoSQL Exemplos de

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Abordagem NoSQL uma real alternativa

Abordagem NoSQL uma real alternativa 1 Abordagem NoSQL uma real alternativa Renato Molina Toth Universidade Federal de São Carlos Campus Sorocaba Sorocaba, São Paulo email: renatomolinat@gmail.com Abstract Nas grandes aplicações web, desktop

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I Prof. Hugo Souza Iniciaremos nossos estudos sobre os tópicos avançados sobre banco de dados recapitulando o histórico

Leia mais

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios Estudo de Caso O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios Introdução Este Estudo de Caso é sobre como uma corporação (IBM) encontrou uma maneira de extrair valor de negócios adicional

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte

Bancos de Dados Distribuídos. Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Bancos de Dados Distribuídos Filipe Gomes Pinto Guilherme Marquesini Reis Ribeiro Matheus Leônidas Silva Pedro Duarte Conceitos Sistema distribuído. Banco de dados distribuído (BDD). Coleção de multiplos

Leia mais

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

Leia mais

Uma Breve Introdução. Andréa Bordin

Uma Breve Introdução. Andréa Bordin Uma Breve Introdução Andréa Bordin O que significa? NoSQL é um termo genérico que define bancos de dados não-relacionais. A tecnologia NoSQL foi iniciada por companhias líderes da Internet - incluindo

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

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

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO Jader dos Santos Teles Cordeiro Orientador Prof. Paulo Guilhermeti PERSISTÊNCIA EM OBJETOS JAVA: UMA ANÁLISE

Leia mais

Conceitos básicos de Banco de Dados

Conceitos básicos de Banco de Dados Modelagem de Banco de Dados Conceitos básicos de Banco de Dados Professor: Anderson D. Moura Março, 2009 Banco de Dados Bancos de dados, (ou bases de dados), são conjuntos de dados com uma estrutura regular

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

Bancos de Dados Distribuídos

Bancos de Dados Distribuídos Bancos de Dados Distribuídos Fernanda Baião baiao@cos.ufrj.br Departamento de Informática Aplicada UNIRIO 2007.2 Bibliografia Utilizada Principal: Özsu, M.T. Valduriez, P. "Princípios de Sistemas de Banco

Leia mais

TRANSFORME SUA INFRAESTRUTURA DE BANCO DE DADOS

TRANSFORME SUA INFRAESTRUTURA DE BANCO DE DADOS TRANSFORME SUA INFRAESTRUTURA DE BANCO DE DADOS Bancos de dados como Oracle e SQL Server demandam latência consistentemente baixa e um desempenho excepcional de I/O para responder instantaneamente a consultas/transações

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

Arquitetura de Software e Atributos de Qualidade

Arquitetura de Software e Atributos de Qualidade Arquitetura de Software e Atributos de Qualidade Jair C Leite Requisitos e atributos de qualidade Requisitos Características, atributos, propriedades e restrições associadas ao software. Requisitos funcionais

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

PEER DATA MANAGEMENT SYSTEM

PEER DATA MANAGEMENT SYSTEM PEER DATA MANAGEMENT SYSTEM INTRODUÇÃO, INFRA-ESTRUTURA E MAPEAMENTO DE ESQUEMAS AGENDA Data Management System Peer Data Management System P2P Infra-estrutura Funcionamento do PDMS Mapeamento de Esquemas

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução Cluster Resumo Introdução Cluster Cluster Beowulf Curiosidades Conclução Introdução Sua empresa esta precisando fazer um grande processamento; As Nuvens existentes não são suficientes para sua empresa;

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Arquiteturas escaláveis utilizando ferramentas Shared Nothing. Victor Canô

Arquiteturas escaláveis utilizando ferramentas Shared Nothing. Victor Canô Arquiteturas escaláveis utilizando ferramentas Shared Nothing Victor Canô Victor Canô - Founder / CTO @ Cazamba - Founder @ Troz.io /victoracano Conteúdo O que esperamos de uma aplicação? Cloud, benefícios

Leia mais

Soluções Inteligentes para regulamentações e negócios em aplicações SAP

Soluções Inteligentes para regulamentações e negócios em aplicações SAP Soluções Inteligentes para regulamentações e negócios em aplicações SAP Uma nova visão no Gerenciamento da Aplicação INDICE 1. A Union IT... 3 2. A importância de gerenciar dinamicamente infra-estrutura,

Leia mais

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 13 de Junho de 2013

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Soluções Corporativas Microsoft SQL Server e SAP:

Soluções Corporativas Microsoft SQL Server e SAP: SAP INSIGHT Soluções Corporativas Microsoft SQL Server e SAP: UMA VANTAGEM COMPETITIVA Conteúdo Notas Executivas 1 Excelente Custo de Propriedade 2 Desempenho de Preço está Conduzindo Adoção de Mercado

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de 2012.

PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de 2012. PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE -, NO SEGMENTO RECURSOS TECNOLÓGICOS, O PADRÃO TECNOLÓGICO SISTEMAS DE GERENCIAMENTO

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. 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

Bancos de Dados Distribuídos

Bancos de Dados Distribuídos Bancos de Dados Distribuídos Visão geral de BDD Fernanda Baião baiao@cos.ufrj.br Departamento de Informática Aplicada UNIRIO 2006.2 Bibliografia Utilizada Conteúdo Özsu, M.T. Valduriez, P. "Principles

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 REPLICAÇÃO E ALTA DISPONIBILIDADE NO SQL SERVER 2012 Renata Azevedo Santos Carvalho 1 RESUMO Neste artigo serão relatadas as novidades que o SQL Server 2012 vem trazendo nesta sua nova versão no que se

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

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

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

Leia mais

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior Arquitetura de SGBD Prof. Antonio Almeida de Barros Junior Agenda Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos

Leia mais

Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização

Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização Virtualização Microsoft: Da Estação de Trabalho ao Data Center Estudo de Caso de Solução de Cliente Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização Visão Geral

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri

Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri Shermila Guerra Santa Cruz Orientador: Ricardo Rodrigues Ciferri O que é computação em nuvem (CN)? Vantagens e desvantagens da computação em nuvem Serviços da computação em nuvem SaaS, IasS, PasS e DbasS

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Por que? A WEB está substituindo o desktop Google Gmail, Google Docs, Amazon, Flickr, Facebook, Twitter, YouTube Mudança de Paradigma:

Por que? A WEB está substituindo o desktop Google Gmail, Google Docs, Amazon, Flickr, Facebook, Twitter, YouTube Mudança de Paradigma: Por que? A WEB está substituindo o desktop Google Gmail, Google Docs, Amazon, Flickr, Facebook, Twitter, YouTube Mudança de Paradigma: Amazon Web Services Windows Azure Platform Google App Engine Evolução

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

AN EVALUATION OF ALTERNATIVE ARCHITECTURE FOR TRANSACTION PROCESSING IN THE CLOUD (SIGMOD)

AN EVALUATION OF ALTERNATIVE ARCHITECTURE FOR TRANSACTION PROCESSING IN THE CLOUD (SIGMOD) AN EVALUATION OF ALTERNATIVE ARCHITECTURE FOR TRANSACTION PROCESSING IN THE CLOUD (SIGMOD) Donal Krossman, Tim Kraska and Simon Loesing João Lucas Chiquito Universidade Federal do Paraná Departamento de

Leia mais

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt INTRODUÇÃO E CONCEITOS BÁSICOS Prof. Ronaldo R. Goldschmidt Hierarquia Dado - Informação - Conhecimento: Dados são fatos com significado implícito. Podem ser armazenados. Dados Processamento Informação

Leia mais

O EMC XTREMCACHE ACELERA O ORACLE

O EMC XTREMCACHE ACELERA O ORACLE White paper O EMC XTREMCACHE ACELERA O ORACLE EMC XtremSF, EMC XtremCache, EMC VNX, EMC FAST Suite, Oracle Database 11g O XtremCache estende o flash ao servidor O FAST Suite automatiza a inserção do armazenamento

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Estudo Comparativo Entre Sistemas de Banco de Dados NoSQL e Relacional

Estudo Comparativo Entre Sistemas de Banco de Dados NoSQL e Relacional Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Estudo Comparativo Entre Sistemas de Banco de Dados NoSQL e Relacional Marcelo Nascimento Oliveira Proposta de

Leia mais

CONHECIMENTOS ESPECÍFICOS

CONHECIMENTOS ESPECÍFICOS CONHECIMENTOS ESPECÍFICOS Acerca dos conceitos básicos de gerenciamento de projetos e considerando o PMBOK, julgue os itens a seguir. 51 No gerenciamento de um projeto, deve-se utilizar não apenas as ferramentas

Leia mais

ParGRES: uma camada de processamento paralelo de consultas sobre o PostgreSQL

ParGRES: uma camada de processamento paralelo de consultas sobre o PostgreSQL ParGRES: uma camada de processamento paralelo de consultas sobre o PostgreSQL Marta Mattoso 1, Geraldo Zimbrão 1,3, Alexandre A. B. Lima 1, Fernanda Baião 1,2, Vanessa P. Braganholo 1, Albino A. Aveleda

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Integração de Dados na Web. Ana Carolina Salgado Bernadette Lóscio

Integração de Dados na Web. Ana Carolina Salgado Bernadette Lóscio Integração de Dados na Web Ana Carolina Salgado Bernadette Lóscio Conteúdo Introdução Integração de Informações Consultando a Web Introdução Motivação Web e BD Arquitetura na Web Introdução Evolução da

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

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

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

Leia mais

Universidade Utiliza Virtualização para Criar Data Center Com Melhor Custo-Benefício e Desempenho

Universidade Utiliza Virtualização para Criar Data Center Com Melhor Custo-Benefício e Desempenho Virtualização Microsoft: Data Center a Estação de Trabalho Estudo de Caso de Solução para Cliente Universidade Utiliza Virtualização para Criar Data Center Com Melhor Custo-Benefício e Desempenho Visão

Leia mais

Banco de Dados. 13 - Arquiteturas para SGBDs

Banco de Dados. 13 - Arquiteturas para SGBDs Banco de Dados 13 - Arquiteturas para SGBDs 1 Tópicos Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos SGBDs e a

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Gestão de Armazenamento

Gestão de Armazenamento Gestão de Armazenamento 1. Introdução As organizações estão se deparando com o desafio de gerenciar com eficiência uma quantidade extraordinária de dados comerciais gerados por aplicativos e transações

Leia mais