CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS

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

Download "CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS"

Transcrição

1 CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS Tiago Vanderlinde, Osmar Oliveira Braz Junior Universidade do Estado de Santa Catarina - UDESC Resumo Este trabalho apresenta a definição de um checklist que auxilia a escolha da arquitetura de banco de dados para uma determinada aplicação. Através deste checklist é possível determinar três arquiteturas de banco de dados diferentes: modelo relacional, NoSQL ou persistência poliglota, que utiliza o modelo relacional e NoSQL. A escolha de uma destas arquiteturas é feita através de alguns critérios, e para isso, são elencados as características de cada aplicação e posteriormente confrontados com estes critérios. Desta forma, é possível determinar qual é a arquitetura mais indicada para cada aplicação. Palavras-chave: Checklist. Arquitetura. Banco de Dados Abstract This work presents the definition of a checklist that assists the choice of database architecture for a given application. Through this checklist is to identify three architectures from different databases: relational model, NoSQL or polyglot persistence, which uses the relational model and NoSQL. The choice of these architectures is done by certain criteria, and so are the characteristics listed for each application and then confronted with these criteria. This way, you can determine which is the most suitable architecture for each application. Keywords: Checklist. Architecture. Database. 1. Introdução Atualmente está cada vez mais comum o surgimento de aplicações que possuem uma grande quantidade de dados. O Google, por exemplo, precisa lidar com grandes quantidades de dados diariamente. Estima-se que, no ano de 2009, cerca de 20 petabytes de informação era processado diariamente pela Google (HLIP apud ISSA, 2011). Outro caso onde o processamento de dados é elevado é no Ebay, a empresa americana de comércio eletrônico, possui um Data Warehouse de 5 petabytes, que é utilizado para armazenar dados sobre seus clientes, produtos e as transações realizadas em sua plataforma (TERADATA apud ISSA, 2011). Em casos como estes, existiu uma grande necessidade de construir sistemas distribuídos, devido essa grande massa de dados. Entretanto também existe uma grande dificuldade em manter sistemas deste porte utilizando uma arquitetura de banco de dados baseada no modelo relacional. Nestes exemplos as aplicações tiveram problemas com a utilização de bancos de dados relacionais e tiveram que mudar para outro modelo de persistência. Desta forma, começou a surgir outros tipos de bancos de dados denominados NoSQL (ISSA, 2010). O termo NoSQL foi utilizado pela primeira vez em 1998, por Carlo Strozzi, para identificar bancos de dados de código aberto que não possuíam interface SQL (NVRSDQEF apud ISSA, 2010). A partir deste momento começou a surgir um movimento para que os bancos de dados NoSQL fossem difundidos e utilizados no desenvolvimento de aplicações. Atualmente, este movimento vem crescendo bastante no ambiente de desenvolvimento de software, e a adoção e difusão de tecnologias NoSQL vem se tornando algo cada vez mais comum. Uma parte desta adoção vem sendo utilizada em locais onde os bancos de dados tradicionais ainda são fortemente dominantes como, por exemplo, instituições financeiras,

2 agências governamentais, e comércio de produtos de varejo. Isto pode ser explicado pelo fato que existe uma demanda muito grande para soluções que tenham alta flexibilidade, escalabilidade, performance, e suporte a diferentes modelos de dados complexos (VIEIRA et al, 2012). Entretanto, grande parte dos bancos de dados NoSQL que são considerados não relacionais foram desenvolvidos com a ideia de que, por melhor que um banco de dados seja, ele não servirá para todos os casos. Assim, dependendo da demanda exigida, os bancos de dados NoSQL podem ser uma alternativa eficiente ao modelo relacional. (LEITE, 2010). Outra arquitetura que vem ganhando espaço é a persistência poliglota (Polyglot Persistence). Nestes casos, uma aplicação pode ter mais de um banco de dados. Assim, a informação da aplicação fica particionada e acaba sendo armazenada em bancos de dados que utilizam tecnologias diferentes. Desta forma, podem-se tratar os problemas individualmente e utilizar o banco dados mais adequando para cada tipo de problema (FOWLER, 2011). Um problema com a utilização da persistência poliglota é a complexidade da aplicação, que acaba aumentando. Assim, acaba-se tornando necessária a quebra do código fonte em componentes separados que interagem entre si. Apesar de este modelo ter um custo de desenvolvimento maior, ele tem suas vantagens. Afinal enquanto os bancos de dados relacionais são usados de forma inadequada, este modelo acaba proporcionando maior flexibilidade na definição da arquitetura de banco de dados e auxiliando uma parte significativa do desempenho da aplicação (FOWLER, 2011). Conforme Leite (2010) e Fowler (2011), bancos de dados NoSQL foram desenvolvidos para atender situações específicas. Assim, começa a surgir alguns questionamentos: Quando utilizar banco de dados relacionais e quando utilizar banco de dados NoSQL? Quando é devemos utilizar os dois? Essas são as principais dúvidas que este trabalho pretende explorar. Para tanto, serão apresentados critérios para avaliação de aplicações, e posteriormente confrontados com as características de cada aplicação. Estes critérios vão auxiliar a tomada de decisão, escolhendo o modelo de persistência mais adequado para cada aplicação. Mesmo definindo a escolha de um banco de dados NoSQL ainda pode existir dúvidas de qual o tipo de banco de dados utilizar. Afinal, existem vários tipos de banco de dados NoSQL, por exemplo: orientado a documento, chave-valor, colunar, grafos. Diante disso, este trabalho vai apresentar conceitos de banco de dados NoSQL, critérios para avaliação do modelo de persistência a ser adotado nas aplicações e ainda aplicação prática destes critérios em um estudo de caso. 2. Objetivos Desenvolver um modelo que auxilie a tomada de decisão na definição da arquitetura da aplicação, escolhendo uma destas arquiteturas de banco de dados: modelo relacional, NoSQL ou persistência poliglota. Criar um checklist que contenha critérios de avaliação, para que seja possível auxiliar na definição da melhor arquitetura de banco de dados para cada aplicação. Efetuar a aplicação deste checklist em um estudo de caso, para verificar se o resultado obtido é aderente à aplicação. 3. Metodologia Para a realização deste projeto é fundamental a utilização de metodologia de pesquisa com a descrição dos procedimentos a serem utilizados. Neste tópico encontram-se as metodologias utilizadas neste projeto.

3 Um método de pesquisa utilizada nesse trabalho é a pesquisa bibliográfica. Para Severino (2007), este tipo de pesquisa constitui em informações extraídas a partir de um material já elaborado, composto principalmente de livros, artigos científicos e demais trabalhos. A principal vantagem deste tipo de pesquisa é que se pode pesquisar uma gama de assuntos bem maior do que pesquisar diretamente. Assim, a elaboração da fundamentação teórica deste trabalho terá como base principal bibliografias e artigos. No caso das definições dos critérios de avaliação das aplicações também serão utilizados como base bibliografias e artigos. Nestes casos, será necessário efetuar uma compilação das técnicas que foram utilizadas para a escolha de cada tipo de banco de dados, ou seja, os critérios que os autores utilizaram para definir arquitetura de um banco de dados servirão de base para a definição dos critérios que estarão no checklist desenvolvido neste trabalho. Com o checklist de avaliação definido, será efetuado um teste de conceito, ou seja, será utilizado este modelo para avaliação de um estudo de caso e verificar se resultado é coerente. 4. Justificativa Uma aplicação pode ter várias características, e somente uma arquitetura de banco de dados pode não atender a todas. Com o surgimento dos bancos de dados NoSQL e as suas várias frentes acabou aumentando bastante as possibilidades de atender essas situações específicas. O intuito deste trabalho é auxiliar esta tomada de decisão, apresentando critérios que irão categorizar cada uma das arquiteturas de banco de dados. Desta forma, ao final será possível utilizar o checklist desenvolvido neste trabalho para determinar qual é o modelo de dados mais indicado para cada aplicação. 5. Trabalhos correlatos Existem algumas publicações que já falam sobre NoSQL, teorema de CAP e efetuam uma análise comparativa entre os SGBDs relacionais e bancos de dados NoSQL. Um destes trabalhos chama-se Análise Comparativa do Teorema de CAP Entre Banco de Dados NoSQL e Banco de Dados Relacionais e foi desenvolvido por Gleidson Sobreira Leite. Este trabalho tem como foco apresentar um comparativo entre os bancos de dados NoSQL e relacional, baseado no teorema de CAP. Além disso, este trabalho apresenta uma análise mais especifica comparando características as características do teorema de CAP entre banco de dados PostgreSQL e CouchDB. Outro trabalho correlato é a Bancos de Dados NoSQL x SGBDs Relacionais: Análise Comparativa e foi desenvolvido por Ricardo W. Brito. Assim como o anterior este trabalho tem como foco apresentar um comparativo entre os bancos de dados NoSQL e relacional, baseado no teorema de CAP. Entretanto neste comparativo é apresentado de maneira mais específica como cada banco (SGBD relacional e NoSQL) reage no momento de testar as características do teorema CAP. Os dois trabalhos citados acima apresentam um comparativo entre SGBD relacional e NoSQL. Entretanto nenhum deles apresenta de maneira explícita em que momento deve-se utilizar um modelo ou outro. Outro fato é que os dois autores apresentam um comparativo e em nenhum momento sugerem um modelo híbrido, utilizando os dois modelos dentro de uma mesma aplicação. Desta forma, este trabalho pretende apresentar de maneira mais concreta como definir um modelo de persistência de dados para a aplicação. Considerando ainda a possibilidade de utilizar mais de um tipo de arquitetura de banco de dados em uma mesma aplicação.

4 6. Fundamentação teórica O resultado do checklist elaborado neste trabalho é a escolha entre três arquiteturas de bancos de dados diferentes: modelo relacional, NoSQL ou persistência poliglota. Desta forma, são apresentados conceitos de cada uma destas arquiteturas Modelo relacional O modelo relacional é hoje o principal modelo de dados utilizado em aplicações comerciais de processamento de dados. Ele conquistou este destaque devido sua simplicidade, pois, comparado aos modelos anteriores, ele facilita o trabalho no momento de desenvolver aplicações (SILBERSCHATZ, 2006). Segundo Silberschatz (2006), um banco de dados relacional consiste em um conjunto de tabelas, sendo que, cada uma tem um nome atribuído. Enquanto que uma linha de uma tabela representa uma relação entre um conjunto de valores, ou seja, uma tabela é um conjunto de entidades e uma linha é uma entidade. O modelo relacional tem como base a teoria dos conjuntos e álgebra relacional, e foi resultado de um estudo teórico realizado por Codd, que era investigador da IBM. Este modelo foi publicado em 1970, entretanto só foi implementado nos anos 80 e revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados (TAKAI, 2005). Para Takai (2005), a estrutura fundamental do modelo relacional é a relação entre tabelas. Uma relação é constituída por um ou mais atributos de uma tabela. Este modelo implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações NoSQL O NoSQL é um termo genérico usado para se referir a qualquer armazenamento de dados que não segue o modelo relacional especificamente, assim, estes bancos não utilizam o SQL como linguagem de consulta. Este termo normalmente é usado para se referir aos bancos de dados que tentam solucionar os problemas de como: escalabilidade e disponibilidade (VAISH, 2013). O objetivo dos bancos de dados NoSQL é de propor soluções alternativas ao uso do modelo relacional, tendo como um dos principais motivos à estrutura pouco flexível utilizada nos bancos de dados relacionais. Vários projetistas de bancos de dados de grandes organizações passaram a desenvolver novas maneiras de desenvolvimento onde seria possível flexibilizar certas estruturas e regras existentes nos bancos de dados relacionais. Desta forma, em 1998 surgiu o termo NoSQL (Not only SQL) a partir de uma solução de banco de dados que não disponibilizava uma interface SQL, e, posteriormente esse termo passou a representar soluções caracterizadas como uma alternativa ao já bastante utilizado e consolidado modelo relacional (BRITO apud LEITE, 2010). Uma das principais vantagens dos bancos de dados NoSQL sobre os bancos de dados relacionais é a questão do escalonamento. Basicamente pelo fato de que estes bancos foram criados para esse fim, enquanto os SGBDs relacionais possuem uma estruturação menos flexível e menos adaptada para cenários em que o escalonamento faz-se necessário (BRITO, 2013). Bancos de dados NoSQL são subdivididos pelo seu núcleo, ou seja, a maneira com que cada um lida com as informações que armazena. Brito apud Leite (2010) categoriza-os da seguinte forma:

5 Chave-valor; Orientados a documentos; Orientados a colunas; Baseados em grafos; A seguir é apresentado cada uma destas categorias Chave-Valor Dentre os modelos do NoSQL, os bancos de dados chave-valor são considerados os mais simples. Esta categoria é estruturada basicamente por um conjunto de chave-valor, ou seja, um HashMap na linguagem de programação Java. Desta forma, este modelo oferece uma grande eficiência no momento da busca dos dados (TIWARI, 2011). Leavitt apud Issa (2011), apresenta a implementação deste modelo na Amazon, utilizando o banco de dados SimpleDB. Este banco prove funções de indexação de informação e buscas na web 2.0. E ainda uma interface simples para persistência e acesso as dados. Figura 1 Tabela chave-valor (TERMEHCHY apud ISSA, 2011) A figura 1 apresenta um exemplo de tabela chave-valor. As chaves deste modelo são únicas e cada chave aponta para um conjunto de valores. Entretanto as consultas destes valores só podem ser efetuadas pela chave, ou seja, não é possível efetuar a busca de um registro utilizando um de seus valores (VAISH, 2013) Orientados a documentos Bancos de dados orientados a documentos tratam-se de modelos que organizam os dados em coleções. Sendo que estas coleções podem conter um conjunto diversificado de documentos. Isto significa que em uma coleção, os valores dos registros não são delimitados por colunas, dando mais liberdade que os modelos relacionais (TIWARI, 2011). A maioria dos bancos de dados deste modelo utiliza o XML, JSON, BSON ou YAML como maneira de acesso aos dados. Normalmente utilizando o protocolo HTTP com RESTful ou o protocolo Apache Thrift para que as linguagens de programação consigam acessar os dados (VAISH, 2013).

6 Figura 2 Exemplo de documento (VAISH, 2013) A figura 2 apresenta o exemplo de um documento. Neste caso, é apresentado um documento com informações de locais de trabalho. Assim temos o código e o nome do local e após informações sobre o seu endereço. Este modelo pode proporcionar uma alta flexibilidade, pois cada documento pode ter uma estrutura totalmente diferente (VAISH, 2013) Orientados a colunas Os bancos de dados orientados a coluna armazenam os dados em colunas em vez de linhas, como é o caso do modelo relacional. No modelo relacional os dados são apresentados em tabelas bidimensionais compreendendo de linhas e colunas, sendo que, este modelo recupera e processa os dados uma linha de cada vez. Enquanto que o modelo orientado a coluna armazena os dados em forma de colunas (VAISH, 2013). No modelo orientado a colunas, o valor de cada coluna (atributo) é armazenado em sequência, aumentando a performance da leitura de uma única coluna. Com este modelo de armazenamento, o banco de dados carrega em memória apenas os valores das colunas que serão utilizadas, evitando preencher a memória com dados que não serão utilizados (ISSA, 2011). Figura 3 Diferença entre dados no modelo relacional e orientado a colunas (Adaptado de VAISH, 2013)

7 A figura 3 apresenta um exemplo de organização dos dados no modelo relacional e no modelo orientado a colunas. Neste exemplo pode-se perceber que os dados são armazenados em colunas e não em linhas como é no modelo relacional Baseados em grafos Bancos de dados baseados em grafos representam uma categoria especial de bancos de dados do NoSQL, onde as relações são representadas na forma de grafos. Neste modelo, pode haver várias ligações entre os dois nós em um grafo, representando as múltiplas relações que os dois nós compartilham. As relações representadas podem incluir as relações sociais entre as pessoas, ligações de transporte entre lugares, ou topologias de rede entre sistemas conectados (VAISH, 2013). Figura 4 Exemplo de grafo (VAISH, 2013) A figura 4 apresenta um exemplo de grafo. Neste modelo os relacionamentos dos nós são organizados em uma estrutura arbitrária, permitindo um grafo se assemelhar a uma lista, uma árvore, um mapa ou uma entidade composta. Bancos de dados baseados em grafos são bastantes novos no mercado, com apenas algumas soluções comprovadas: Neo4j e FlockDB (utilizado pelo Twitter) (VAISH, 2013) Persistência Poliglota (Poliglot Persistence) A persistência poliglota ou Poliglot Persistence representa uma aplicação que pode ter mais de um banco de dados. Desta forma, durante o seu desenvolvimento foi utilizada mais de uma tecnologia para a persistência dos dados da aplicação. Com isso, podem-se tratar problemas individualmente e utilizar o banco dados mais adequando para cada tipo de situação (FOWLER, 2011). Neste caso a arquitetura de banco de dados pode ficar mais complexa, pois, em uma mesma aplicação podem-se encontrar os vários modelos de bancos de dados NoSQL juntamente com um modelo relacional. Assim, torna-se necessária a quebra do código fonte em componentes separados que interagem entre si. Apesar destes custos este modelo acaba tornando-se viável, pois quando os bancos de dados relacionais são usados de forma inadequada, eles acabam consumindo uma parte significativa do desempenho da aplicação (FOWLER, 2011).

8 Figura 5 Exemplo do modelo híbrido (MCMURTRY et al., 2013) A figura 5 apresenta um exemplo de utilização deste modelo. Neste exemplo é utilizada uma técnica de implementação comum, onde é disponibilizado um serviço de web como uma fachada. O serviço web fornece uma interface que expõe as operações de negócios e as converte em operações que se comunicar com o banco de dados apropriado (MCMURTRY et al, 2013). 7. Checklist Neste tópico será abordada a definição do checklist que auxiliará na tomada de decisão no momento da escolha da arquitetura de banco de dados de uma aplicação. O modelo definido neste tópico apresenta como saída uma das arquiteturas apresentada anteriormente: modelo relacional, NoSQL (chave-valor, orientado a colunas, orientado a documentos, baseado em grafos) ou persistência poliglota. Para tanto, este checklist terá critérios que serão definidos com base em algumas referências bibliográficas. Assim, o primeiro critério que será levado em consideração é o teorema de CAP. Eric Brewer desenvolveu o teorema de CAP (Consistency, Availability e Partition Tolerance), onde ele afirma que é impossível uma aplicação com banco de dados distribuído garantir, de forma simultânea, consistência, disponibilidade e tolerância a partições. Segundo esse teorema, um sistema distribuído pode garantir apenas duas dessas três características simultaneamente (BRITO, 2013). Este conceito surgiu devido às aplicações estarem cada vez maiores, e, com suas bases de dados crescendo exponencialmente, começou a surgir à necessidade de escalar o banco de dados. Entretanto escalar um banco de dados relacional pode ser bastante custoso e/ou complexo. Diversas alternativas ao modelo relacional surgiram para suprir as restrições relativas à complexidade ao realizar a distribuição de dados, das quais a que mais ganhou destaque foi o paradigma NoSQL (Not only SQL) (LEITE, 2010). Segundo Redmond et al (2012), o teorema de CAP prova que somente é possível criar um sistema com banco de dados distribuído consistente e tolerante a partições ou um sistema que está disponível e tolerante a partições ou então um sistema que consistente e disponível. Desta

9 forma, não é possível criar uma aplicação que é consistente, tolerante a partições e disponível (Vide figura 6). Figura 6 Teorema de CAP (Adaptado de VAISH, 2013) Veira et al (2012), apresenta o significado de cada uma destas características do teorema de CAP: Consistência: objetivo é permitir que transações distribuídas em vários nós, que agem com a semântica de tudo-ou-nada. Quando existir réplicas, elas devem estar sempre em um estado consistente; Disponibilidade: objetivo é manter o sistema sempre disponível, e em caso de falha o sistema deve continuar funcionando com alguma réplica dos recursos indisponíveis; Tolerância a partições: objetivo é manter o sistema operando mesmo no caso de falhas de rede, para isso é dividido o processamento dos nós em grupos que não se comunicam. Desta forma, o teorema de CAP é pertinente quando decidir utilizar um banco de dados distribuído. Baseado neste teorema será identificado os primeiros critérios que irão compor o checklist. Sendo o primeiro, identificar se a aplicação necessita de um ambiente distribuído. Caso exista esta necessidade, é necessário que o questionar quais as características desejadas para esta aplicação: Consistência e tolerância a partições; Disponível e tolerância a partições; ou Consistência e disponível. Conforme apresentado na figura 6, nos casos onde a exigência ocorre para que a aplicação esteja disponível e tenha tolerância a partições o indicado são os bancos de dados NoSQL. Nos casos onde a aplicação exige consistência e tolerância a partições é o mais indicado também são os bancos de dados NoSQL. Enquanto que nos casos onde a consistência e a disponibilidade é o mais importante para a aplicação, o mais indicado são os bancos de dados relacionais. Para os casos de consistência e tolerância a partições e disponível e tolerância a partições é indicado o uso de um banco de dados NoSQL. Entretanto não é definida qual a categoria mais indicada (orientado a documentos, orientado a colunas, baseado em grafos ou chave-valor).

10 Assim, será necessário analisar mais alguns critérios para definir qual a arquitetura de banco de dados mais indicada. Fowler et al (2012), apresenta um exemplo que auxilia a diferenciar qual a arquitetura de bancos de dados é a mais indicada baseada no tipo da aplicação. Figura 7 Banco de dados indicado para cada tipo de aplicação (Adaptado de FOLWER et al, 2012) A figura 7 apresenta qual o modelo de persistência mais indicada para cada tipo de aplicação segundo Fowler et al (2012). Segundo ele, o modelo chave-valor é indicado para os casos onde se deseja ter um acesso rápido na escrita e leitura dos dados. Entretanto não existe a necessidade dos dados serem duráveis ou existir a integridade dos dados. Esta ideia também é apresentada por Finley (2010), pois, segundo ele, quando a latência é importante, é difícil efetuar uma busca ou escrita de dados mais rápida que banco de dados chave-valor. Um ponto negativo deste banco de dados é a necessidade de uma quantidade de memória primária maior, por oferecer o recurso de cache de dados. Para Fowler et al (2012), os bancos de dados relacionais são mais indicados para aplicações que precisam lidar com transações, ou em casos onde a modelagem tabular se encaixa perfeitamente na arquitetura da aplicação. Fowler el al (2012) destaca ainda, que as aplicações que necessitam de muitos relatórios também é indicado o uso de bancos de dados relacionais. O principal motivo destacado por ele é a facilidade de integração que as ferramentas de criação de relatórios possuem com a linguagem SQL. Os bancos de dados orientados a documentos são indicados nos casos onde existe uma grande quantidade de leitura e escrita de dados (FOWLER et al, 2012). Além disso, este tipo de banco de dados é indicado para aplicações onde pode existir uma mudança constante na estrutura dos dados, por exemplo: número de variáveis do objeto, coleções de objetos agrupados. Assim, este tipo de banco de dados pode lidar com mudanças de esquema ao longo do tempo (FINLEY, 2010). Fowler et al (2012), indica o uso de bancos de dados orientados a coluna nos casos onde é necessário efetuar análises em grande escala sobre um grande aglomerado de dados. Este tipo de banco de dados também é indicado em casos onde existe uma grande necessidade de escrita de dados. Bancos de dados baseados em grafos são indicados para os casos onde existe a estrutura de dados da aplicação representa um grafo, por exemplo: relacionamentos entre pessoas, locais, etc. (FOWLER et al, 2012). Considerando as características de cada banco de dados é possível elencar critérios e baseado neles é possível definir um checklist que pode auxiliar na escolha da arquitetura de banco de dados, vide quadro 1.

11 Critério Relacional Documental Chave/Valor Colunar Grafo Necessita de ambiente x x x x distribuído Deve ser tolerante a x x x x partições Integridade dos dados é x x obrigatória Relatórios gerenciais são x importantes Estrutura de dados é em x forma tabular Atributos podem variar x x x x constantemente Utilizo algoritmo baseado x no relacionamento entre minhas entidades Persistência dos dados x x x x sempre deve ser garantida Persistência dos dados não x é vital Necessito de alto x desempenho na escrita e leitura de dados Relacionamentos entre as x x x entidades são muito complexos Integridade referencial é x necessária Redundância de dados é um x problema Memória primária é x x x x problema A maioria das pesquisas é x x x x feita pelo atributo A maioria das pesquisas é x feita pelo identificador Quadro 1 Checklist para auxilio na escolha da arquitetura de banco de dados (Autor, 2014) A primeira coluna do checklist apresentado no quadro 1 representa um critério. As demais colunas representam arquitetura de banco de dados, relacional e os tipos de bancos de dados NoSQL. Os registros marcados com x representam que aquele tipo de banco de dados atende aquele critério. Por exemplo: O critério Integridade dos dados é obrigatória é atendido pelos bancos de dados relacionais e orientados a documentos. Para utilizar o checklist apresentado no quadro 1 basta verificar se o critério apresentado na primeira coluna é relevante para a aplicação. Feito isso, é preciso verificar qual ou quais arquiteturas se encaixam neste critério. Ao final é preciso verificar quais foram as arquiteturas indicadas pelo checklist, para os casos onde for mais de uma arquitetura significa que o modelo mais indicado é o híbrido. Existem critérios neste modelo que são atendidos por mais de uma arquitetura. Desta forma, é preciso ter atenção para não adicionar arquiteturas de banco de dados

12 desnecessariamente, pois cada quanto maior o número de arquiteturas maior é o nível de complexidade da aplicação. No tópico a seguir é apresentada a utilização deste checklist em alguns estudos de casos. 8. Aplicação do checklist Neste tópico será apresentada a arquitetura de banco de dados encontrada por outro autor para uma determinada aplicação. O intuito é aplicar este o checklist apresentado no tópico anterior neste mesmo estudo de caso, após será comparada a arquitetura apresentada no estudo de caso com a arquitetura de banco de dados que o checklist sugerir. O estudo de caso abordado será uma solução apresentada por Nance et al (2013), onde é definida a arquitetura de banco de dados para um e-commerce em sistema distribuído. Segundo Nance et al (2013), uma aplicação e-commerce tem uma grande quantidade de dados temporários que não pertencem a estrutura de um banco de dados relacional. Por exemplo, carrinho de compras, sessão com os dados do usuário, etc. Além disso, os comentários dos clientes e os seus relacionamentos nas redes sociais tendem a ter uma melhor aderência em bancos de dados NoSQL. Assim, numa plataforma e-commerce os dados do carrinho de compras precisam ser escritos e lidos no banco de dados rapidamente, mas não é necessário garantir que estes dados sejam persistidos antes da finalização da compra. Os dados pertinentes aos produtos, categorias, preços, etc. possuem uma estrutura tabular. Enquanto que, os históricos dos pedidos não se enquadram nesta categoria. Já as sugestões de clientes, avaliações de produtos ou recomendações possuem uma estrutura baseada em grafos (NANCE et al, 2013). Para solucionar este problema Nance et al (2013) apresenta uma arquitetura poliglota, sendo que, a aplicação teria quatro tipos de bancos de dados diferentes (vide figura 8). Figura 8 Arquitetura de banco de banco de dados para e-commerce (NANCE et al, 2013) Conforme apresentado na figura 8, cada parte da aplicação possui um banco de dados diferente, tornando uma aplicação com persistência poliglota. Baseado nas informações apresentadas por Nance et al (2013), é possível aplicar estes dados no checklist criado anteriormente. A seguir são apresentados os critérios do checklist se enquadram nesta aplicação e-commerce: Necessita de ambiente distribuído Estrutura de dados é em forma tabular Atributos podem variar constantemente

13 Persistência dos dados sempre deve ser garantida Persistência dos dados não é vital Utilizo algoritmo baseado no relacionamento entre minhas entidades Necessito de alto desempenho na escrita e leitura de dados Pode-se perceber que alguns dos critérios são divergentes, por exemplo: Persistência dos dados sempre deve ser garantida e Persistência dos dados não é vital. Isto ocorreu, pois a aplicação tem estruturas de dados diferentes que devem ser analisadas de perspectivas diferentes. No caso do carrinho de compras a persistência não precisa ser garantida, enquanto que nos casos demais casos sempre é necessário garantir a persistência dos dados. Os critérios relacionados a hardware não foram considerados devido não estarem especificados do trabalho de Nance et al (2013). Avaliando os critérios que se enquadram para esta aplicação pode-se perceber que a arquitetura sugerida pelo checklist é a persistência poliglota, sendo que os tipos de banco de dados indicados são: modelo relacional, chave-valor, grafo e documental. Assim, a arquitetura de banco de dados sugerida acaba ficando parecida com a proposta por Nance et al (2013). 9. Considerações finais Atualmente, está cada vez mais comum a necessidade de lidar com uma grande quantidade de dados e mesmo assim garantir um bom desempenho para a aplicação. A definição da arquitetura de banco de dados está totalmente atrelada a este problema. Para auxiliar na solução deste problema este trabalho propôs a criação de um checklist que auxilia na definição da arquitetura de banco de dados. Para determinar os critérios elencados para fazer parte do checklist foram consideradas as características principais de cada tipo de banco de dados. Entretanto algumas situações podem apresentar a necessidade de critérios mais específicos e que não foram catalogados neste checklist podendo ocasionar divergências entre a arquitetura recomendada e a arquitetura ideal para a aplicação. A aplicação do checklist em um estudo de caso mostrou que os critérios elencados para este estudo de caso foram aderentes. A utilização deste checklist pode se tornar um pouco confusa, pois uma mesma aplicação pode ter características totalmente divergentes. No momento de efetuar a avaliação de uma aplicação pode ser necessário considerar apenas uma parte da aplicação. A utilização deste checklist acaba tornando-se desnecessária para os casos onde a pessoa já possui o conhecimento e experiência em várias arquiteturas de banco de dados. Entretanto pode ser utilizada por pessoas que ainda não possuem um conhecimento mais avançado nas várias arquiteturas de banco de dados existentes. Portanto, todos os objetivos propostos neste trabalho foram atendidos, pois foi criado um checklist que auxilia na definição da arquitetura de banco de dados, que posteriormente foi aplicado em um estudo de caso. Referências BRITO, Ricardo W. Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa. Disponível em: < Bancos%20de%20Dados%20NoSQL.pdf>, Acessado em: 03/06/2013.

14 FINLEY, K. What the heck are you actually using NoSQL for?. Disponível em:< Acessado em: 15/11/2013. FOWLER, Martin. Polyglot Persistence. Disponível em: < >, Acessado em: 03/06/2013. FOWLER, Martin et al. The future is: Polyglot Persistence. Disponível em: < Acessado em: 15/11/2013. ISSA, Felipe G. S. Estudo comparativo entre banco de dados relacionais e banco de dados NoSQL na utilização por aplicações de business intelligence. Disponível em: < Gradua%C3%A7%C3%A3o-Felipe-G.-S.-Issa.pdf>, Acessado em: 03/06/2013. LEITE, Gleidson. S. Análise Comparativa do Teorema de CAP Entre Banco de Dados NoSQL e Banco de Dados Relacionais. Disponível em: <http://www.ffb.edu.br/sites/default/files/tcc gleidson-sobreira-leite.pdf >, Acessado em: 03/06/2013. MCMURTRY, Douglas et al. Data Access for Highly-Scalable Solutions: Using SQL, NoSQL and Polyglot Percistence. Disponível em: < >, Acessado em: 15/11/2013. NANCE C. et al. NoSQL vs RDBMS Why there is room for both. Disponível em: < Acessado em 20/11/2013. REDMOND, Eric et al. Seven Databases in Seven Weeks. p1..0. Texas: Pragmatic Programmers, p. SEVERINO, Antonio Joaquim. Metodologia do trabalho científico. 23 ed. São Paulo: Cortez, SILBERSCHATZ, Abraham. Sistema de banco de dados. 5. ed. Rio de Janeiro: Elsevier, p. TAKAI, O. K. Introdução a banco de dados. Disponível em: < Acessado em: 11/10/2013. TIWARI, Shashank. Professional NoSQL. Indianapolis: John Wiley & Sons, p. VAISH, Gaurav. Getting Started with NoSQL. Birmingham: Packt Publishing, p. VIEIRA, M. R et al. Bancos de Dados NoSQL: Conceitos, Ferramentas, Linguagens e Estudos de Casos no Contexto de Big Data. Disponível em: < >, Acessado em: 03/06/2013.

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

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

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

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

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

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

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

Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa*

Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa* Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa* Ricardo W. Brito, Faculdade Farias Brito e Universidade de Fortaleza, ricardow@ffb.edu.br Resumo O Modelo Relacional tem sido amplamente utilizado

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

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

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

NoSQL: UMA RELAÇÃO, NÃO RELACIONAL *

NoSQL: UMA RELAÇÃO, NÃO RELACIONAL * NoSQL: UMA RELAÇÃO, NÃO RELACIONAL * Fabio Machado de Oliveira Universidade Estadual do Norte Fluminense Saymon Pires da Silva Centro Universitário São Camilo/ES Carlos Henrique Medeiros de Souza Universidade

Leia mais

Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais

Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais FACULDADE FARIAS BRITO CIÊNCIA DA COMPUTAÇÃO Gleidson Sobreira Leite Análise Comparativa do Teorema CAP Entre Bancos de Dados NoSQL e Bancos de Dados Relacionais Fortaleza, 2010 Gleidson Sobreira Leite

Leia mais

Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados

Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados Utilização da Classe de Banco de Dados NOSQL como Solução para Manipulação de Diversas Estruturas de Dados Ricardo Cardoso de Almeida 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação

Leia mais

TECNOLOGIA NoSQL: A SOLUÇÃO PARA LIDAR COM O CRESCENTE VOLUME DE DADOS

TECNOLOGIA NoSQL: A SOLUÇÃO PARA LIDAR COM O CRESCENTE VOLUME DE DADOS TECNOLOGIA NoSQL: A SOLUÇÃO PARA LIDAR COM O CRESCENTE VOLUME DE DADOS MARCOS HENRIQUE IZIDIO MONTEIRO marcoshenrique.monteiro@gmail.com UFF- Universidade Federal Fluminense RESUMO Dados a evolução tecnológica

Leia mais

Pramod J. Sadalage Martin Fowler

Pramod J. Sadalage Martin Fowler Pramod J. Sadalage Martin Fowler Novatec Authorized translation from the English language edition, entitled NOSQL DISTILLED: A BRIEF GUIDE TO THE EMERGING WORLD OF POLYGLOT PERSISTENCE, 1st Edition, 0321826620

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

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

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

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

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

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

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

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

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

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

Laboratório de Banco de Dados

Laboratório de Banco de Dados Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Banco de Dados Prof. Clóvis Júnior Laboratório de Banco de Dados Conteúdo Administração de Usuários de Papéis; Linguagens

Leia mais

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF 2 Conceitos Básicos Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

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

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

Leia mais

Plano de Ensino. Apresentação da Unidade Curricular

Plano de Ensino. Apresentação da Unidade Curricular Plano de Ensino Plano de Ensino Apresentação da Unidade Curricular o Funcionamento, arquitetura e conceitos fundamentais dos bancos de dados relacionais e objeto relacionais. Utilização de linguagem DDL

Leia mais

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL Autores: Nicolas Ignácio RYBERG 1,2 ;; Angelo Augusto FROZZA 3 Identificação autores: 1 Bolsista PIBIC-EM/CNPq;; 2 Aluno do curso Técnico em Informática

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

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota

Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota Fábio Roberto Oliveira, Luis Mariano del Val Cura Faculdade Campo Limpo Paulista (FACCAMP)

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

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

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

Bancos de dados NOSQL (Not Only SQL)

Bancos de dados NOSQL (Not Only SQL) Bancos de dados NOSQL (Not Only SQL) Qual banco de dados utilizado pelo Facebook e Twitter???? E pelo Google? Quando você digita pindamonhangaba no Google, e ele traz: "Aproximadamente 7.220.000 resultados

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

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

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

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

Banco de Dados I. 1. Conceitos de Banco de Dados

Banco de Dados I. 1. Conceitos de Banco de Dados Banco de Dados I 1. Conceitos de Banco de Dados 1.1. Características de um Banco de Dados. 1.2. Vantagens na utilização de um BD. 1.3. Quando usar e não usar um Banco de Dados. 1.4. Modelos, Esquemas e

Leia mais

DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS PARA BIG DATA

DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS PARA BIG DATA CENTRO UNIVERSITÁRIO UNIVATES CURSO DE SISTEMAS DE INFORMAÇÃO DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS PARA BIG DATA Bruno Edgar Fuhr Lajeado, novembro de 2014. Bruno Edgar

Leia mais

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com Banco de Dados, Integração e Qualidade de Dados Ceça Moraes cecafac@gmail.com Sobre a professora CeçaMoraes Doutora em Computação (UFPE) Áreas de atuação Desenvolvimento de Software e Banco de Dados Experiência

Leia mais

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir

Leia mais

UNIVERSIDADE FEDERAL DA PARAÍBA

UNIVERSIDADE FEDERAL DA PARAÍBA UNIVERSIDADE FEDERAL DA PARAÍBA CENTRO DE CIÊNCIAS APLICADAS A EDUCAÇÃO DEPARTAMENTO DE CIÊNCIAS EXATAS BACHARELADO EM SISTEMAS DE INFORMAÇÃO Avaliação de Desempenho entre Bancos de Dados Relacionais e

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

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

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) Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Introdução Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre de 2011 Motivação

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 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

DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS DISPONÍVEIS EM REDES SOCIAIS

DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS DISPONÍVEIS EM REDES SOCIAIS DESENVOLVIMENTO DE UMA FERRAMENTA DE COLETA E ARMAZENAMENTO DE DADOS DISPONÍVEIS EM REDES SOCIAIS Bruno Edgar Führ, Evandro Franzen 1 Resumo: O crescimento da internet na última década fez dela a maior

Leia mais

Treinamento PostgreSQL - Aula 01

Treinamento PostgreSQL - Aula 01 Treinamento PostgreSQL - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 27 de Maio de 2013 Eduardo Ferreira dos Santos

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

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

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

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

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Cassandra - Particionamento de Dados Sistemas Distribuídos Douglas Macedo Hugo Lourenço Sumário Introdução Conceito Anel Multíplos Data center Fatores envolvidos Arquitetura do Sistema Módulo de Particionamento

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA Pró-Reitoria Acadêmica Setor de Pesquisa

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA Pró-Reitoria Acadêmica Setor de Pesquisa FORMULÁRIO PARA INSCRIÇÃO DE PROJETO DE INICIAÇÃO CIENTÍFICA. Coordenação/Colegiado ao(s) qual(is) será vinculado: Curso (s) : Bacharelado em Sistemas de Informação Nome do projeto: PARA ONDE VÃO OS DADOS?

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora?

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora? Neo4j Aprendendo conceitos por trás do Neo4j Universidade Federal do Paraná - UFPR Programa de Pós-Graduação em Informática - PPGInf Oficina de Banco de Dados - CI829 Profa: Dra. Carmem Hara Aluno: Walmir

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

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

Banco de Dados I Ementa:

Banco de Dados I Ementa: Banco de Dados I Ementa: Banco de Dados Sistema Gerenciador de Banco de Dados Usuários de um Banco de Dados Etapas de Modelagem, Projeto e Implementação de BD O Administrador de Dados e o Administrador

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

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications) A boa organização lógica do documento

Leia mais

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

Leia mais

Componentes internos de Um SGBD

Componentes internos de Um SGBD Arquitetura SBGD Gerenciamento de Processos joao@uefs.br Departamento de Ciências Exatas Universidade Estadual de Feira de Santana e sistemas paralelos 1 e sistemas paralelos Componentes internos de Um

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

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

GBD. Introdução PROF. ANDREZA S. AREÃO

GBD. Introdução PROF. ANDREZA S. AREÃO GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento

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

Palavras-chave: On-line Analytical Processing, Data Warehouse, Web mining.

Palavras-chave: On-line Analytical Processing, Data Warehouse, Web mining. BUSINESS INTELLIGENCE COM DADOS EXTRAÍDOS DO FACEBOOK UTILIZANDO A SUÍTE PENTAHO Francy H. Silva de Almeida 1 ; Maycon Henrique Trindade 2 ; Everton Castelão Tetila 3 UFGD/FACET Caixa Postal 364, 79.804-970

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

Modelo de dados do Data Warehouse

Modelo de dados do Data Warehouse Modelo de dados do Data Warehouse Ricardo Andreatto O modelo de dados tem um papel fundamental para o desenvolvimento interativo do data warehouse. Quando os esforços de desenvolvimentos são baseados em

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Banco de Dados Relacional Banco de Dados 1 A tecnologia de banco de dados tem evoluído rapidamente nas últimas três décadas desde a ascensão e eventual domínio dos sistemas de banco de dados relacionais

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

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

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais