DCC- Faculdade de Ciências da Universidade do Porto. SQL e NoSQL. Escalabilidade em Data Stores. Rui Costa Teresa Costa

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

Download "DCC- Faculdade de Ciências da Universidade do Porto. SQL e NoSQL. Escalabilidade em Data Stores. Rui Costa 060316042 Teresa Costa 050316021"

Transcrição

1 DCC- Faculdade de Ciências da Universidade do Porto SQL e NoSQL Escalabilidade em Data Stores Rui Costa Teresa Costa

2 Conteúdo 1. Introdução Diferentes Tipos de Base de Dados Bases de Dados SQL e NoSQL Teorema de CAP Consistência Disponibilidade Tolerância a Falhas Terminologia Categorias das Data Stores Key-Value Stores Projecto Voldemort Memcached, Membrain e Membase Yahoo Sherpa Document Store SimpleDB MongoDB Extensible Data Records HBase Cassandra Sistemas Relacionais Escaláveis MySQL Cluster ScaleBase Análise dos Sistemas Comparação entre Sistemas SQL vs. NoSQL Conflito de Opiniões Benchmaking Conclusão Bibliografia Page 1

3 1. Introdução Com advento da Web 2.0 surgiram aplicações que necessitam de sistemas que consigam lidar com milhares de utilizadores e escalar milhões de updates e leituras a base de dados. Este volume de operações contrasta com o design das bases de dados e data warehouses tradicionais. Para responder a esta necessidade é necessário desenvolver novos sistemas e mecanismos que consigam escalar estas aplicações por diversos servidores. Nos últimos anos verificou-se o desenvolvimento de novos sistemas, desenhados para proporcionar uma boa escalabilidade horizontal, permitindo operações de leitura/escrita distribuídas pelos diversos servidores. Estes novos sistemas vêm contrastar com as bases de dados tradicionais que têm pouca ou nenhuma capacidade para essa escalabilidade horizontal. Nesta monografia apresentamos e comparamos alguns desses novos sistemas de bases de dados distribuídas. 2. Diferentes Tipos de Base de Dados 2.1 Bases de Dados SQL e NoSQL Os novos sistemas são designados de NoSQL data stores. Esta definição tanto diz respeito a Not Only SQL como a Not Relational. Como tal, vamos fixar algumas características referentes aos sistemas NoSQL que vamos referir neste trabalho. (1) 1. Capacidade de escalar horizontalmente operações simples pelos diversos servidores; 2. Capacidade de replicar e distribuir informação por diversos servidores; 3. Interface de call level simples, contrastando com o SQL binding; 4. Um modelo de concorrência mais fraco que o modelo ACID; 5. Uso eficiente para índices distribuídos e RAM para o armazenamento de informação; 6. Capacidade de adicionar dinamicamente novos atributos aos registos de dados. A principal key feature destes sistemas é a escalabilidade horizontal baseada no shared nothing, replicando e particionando os dados pelos servidores. Esta ideologia permite suportar um grande volume de operações simples de leitura/escrita, por segundo. Para a implementação destes sistemas, a ideia é desistir das restrições do ACID de forma a obter maior performance e escalabilidade. Contudo, os sistemas que vamos apresentar, variam na forma em que desistem dessas restrições. Por exemplo, a maior parte dos sistemas denominam-se de eventualmente consistentes. Page 2

4 2.2 Teorema de CAP O teorema de CAP (2), também conhecido como Teorema de Brewer afirma que é impossível, num sistema de computação distribuída, ter simultaneamente as seguintes propriedades: Consistência Disponibilidade; Tolerância a falhas. Estes três requisitos influenciam o desenho e instalação de sistemas de base de dados distribuídas. Deste teorema e de uma profunda análise resultou uma revolução da arquitectura dos sistemas distribuídos de dados em grande escala. É então importante definir o que são cada uma destas propriedades. Reconhecer quais dos requisitos do teorema de CAP são importantes para o nosso sistema é o primeiro passo para construir com sucesso um sistema distribuído, escalável e com alta disponibilidade. Figura 1 - Diagrama representativo da interligação das propriedades do Teorema de CAP e as diversas data stores Consistência É a característica que descreve como e se o estado de um sistema fica consistente após uma operação. Num sistema distribuído de dados significa que uma vez escrito um registo, este fica imediatamente disponível e pronto para ser utilizado. Uma base de dados distribuída consistência é classificada como fortemente consistente ou como tendo fraca consistência. Os sistemas com uma forte consistência, implementam as características ACID (Atomicidade, Consistência, Isolamento e Durabilidade), sendo estas implementadas na maior parte das bases de dados relacionais. Na outra extremidade, de fraca consistência, temos as bases de dados BASE (Basic Availability, Soft-State, Eventual Consistency). A consistência fraca é fornecida de forma de consistência eventual. Isto significa que a base de dados pode atingir um estado consistente. Nestas incluem-se, normalmente, as bases de dados em que os dados são replicados. Aqui apenas existe a garantia que a versão mais Page 3

5 recente de um registo está consistente num nó, sendo que as versões mais antigas deste registo podem ainda existir noutros nós, mas eventualmente todos os nós irão ter a última versão Disponibilidade Esta característica refere-se à concepção e implementação de um sistema de modo a que seja assegurado que este permanece activo durante um determinado período de tempo. Ou seja, significa que o sistema é tolerante a falhas de software e/ou hardware e que se encontra igualmente disponível durante a actualização destes. Disponibilidade não é apenas um protecção contra falhas, mas também é uma forma de obter um balanceamento de carga e operações concorrentes, nomeadamente para operações de leitura. Uma das formas mais comuns de fazer a implementação desta característica numa base de dados relacional é recorrendo à replicação master-master. Desta forma, a falha ou actualização de um nó não implica a indisponibilidade do sistema Tolerância a Falhas Esta característica refere-se à capacidade de um sistema continuar a operar na presença de uma falha de rede. 2.3 Terminologia Antes de descrevermos os diversos sistemas é necessário clarificar alguns termos que serão utilizados neste trabalho (1). Por operações simples entendemos key lookups, leitura ou escrita de um registo ou de uma pequena quantidade de registos. Tendo em conta o estado actual das aplicações, onde milhões de utilizadores lêem e escrevem informação, a escalabilidade destas pequenas operações tornou-se muito importante. Já foi referido anteriormente o termo escalabilidade horizontal. Este termo refere-se à capacidade de distribuir a informação e a carga de processamento das operações por vários servidores, sem ser necessário a partilha de RAM ou disco entre os servidores. Esta escalabilidade difere da escalabilidade vertical onde o disco e memória são partilhados pelos servidores. A terminologia utilizada em NoSQL Data Stores é, muitas vezes inconsistente. De forma a existir consistência, vamos definir alguns termos importantes: Tuplo: é uma linha numa tabela relacional com os atributos pré-definidos no esquema da base de dados e cujos valores são escalares. Os valores são referenciados pelo nome do atributo. Page 4

6 Document: permite que os valores estejam agrupados em documentos ou listas e os nomes dos atributos são automaticamente definidos a cada execução. A grande diferença em relação aos tuplos é que aqui os atributos não estão esquematizados. Extensible Record: é um híbrido entre um tuplo e um document. Aqui a família de atributos está pré-definida na base de dados, mas novos atributos podem ser adicionados Objecto: é similar ao conceito de objecto em linguagens de programação, mas não tem métodos procedimentais. Os valores que este toma ou são referências ou objectos agrupados. 3. Categorias das Data Stores Os sistemas referenciados neste trabalho estão divididos em 4 categorias distintas (1): 1. Key-Value Stores: estes sistemas armazenam valores e um índice para os encontrar, baseado numa chave programada. 2. Document Stores: estes sistemas armazenam documentos. Estes são indexados e é fornecido um mecanismo de pesquisa muito simples. 3. Extensible Record Storage: estes sistemas armazenam extensible records que podem ser particionados vertical ou horizontalmente pelos nós. 4. Relational Databases: estes sistemas armazenam tuplos, indexando-os. 3.1 Key-Value Stores A data store mais simples utiliza um modelo muito similar ao popular memcahed distribuindo pela memória cache um índice key-value para todos os dados. Tal como o memcached, nenhum dos sistemas nesta categoria oferecem índices ou chaves secundárias. Por outro lado, fornecem mecanismos de persistência e outras funcionalidades como replicação, manutenção de versões, locking ou sorting Projecto Voldemort Este sistema é um avançado key-value store. Sendo open source têm muitas contribuições, nomeadamente do LinkedIn. Fornece um mecanismo de controlo de versões (MVCC) para os updates. As réplicas sofrem update de forma assíncrona não garantindo, por isso, consistência. Contudo, pode garantir uma vista actualizada se a leitura for feita à maior parte das réplicas. O Projecto Voldemort (3) suporta também um lock da data store optimista, para garantir a actualização de registos múltiplos. Assim, se existir algum conflito, a actualização não é efectuada. Outro mecanismo suportado é o sharding automático dos dados. Este mecanismo possibilita que existam mais nós virtuais do que físicos (servidores). Uma vez particionada a Page 5

7 informação, o resto das operações são transparentes. Os nós podem ser adicionados ou removidos que o sistema adapta-se automaticamente. Voldemort detecta automaticamente falhas nos nós e é capaz de as recuperar. Este sistema permite guardar a informação na RAM mas permite, da mesma forma, armazená-la num sistema de armazenamento, suportando Berkeley BD e Random Access File Memcached, Membrain e Membase O Memcached é um sistema open source de indexação distribuída na memória que foi melhorado surgindo o Membase que acrescentou novas características ao sistema como persistência, replicação, alta disponibilidade, crescimento dinâmico e backups, por exemplo. Sem a persistência e a replicação o Memcached não se classifica como uma data store. Mas o Membrain e o Membase sim. E uma vez que estes sistemas são compatíveis com o Memcached são amplamente utilizados. O Membase é um sistema open source. A sua característica mais atractiva é a sua elasticidade que permite adicionar ou remover servidores sem necessidade de parar o sistema, mover dados e redireccionar dinamicamente os pedidos sempre que necessário. O Membrain é um sistema proprietário, sendo necessário uma licença por cada servidor. A sua característica mais apelativa é a afinação especial que tem para lidar com memória flash. A performance obtida com este tipo de memória é bastante superior em relação aos outros sistemas Yahoo Sherpa Esta data store está a ser desenvolvida pela Yahoo (4). É um sistema multi-tenant onde uma aplicação armazena dados numa tabela, sendo esta um conjunto de records. Essa tabela é dividida em shards que são distribuídos por diversos nós. Com ajuda de um software que guarda informação sobre a distribuição de shards, sempre que existe um pedido, este é reencaminhado para o nó correcto. O acesso aos registos é feito através uma chave primária. A escalabilidade deste sistema deve-se ao particionamento da informação. Cada shard contém um range de dados, restringindo assim as operações aos nós onde possivelmente estão as informações pretendidas. O Sherpa é considerado um sistema elástico permitindo que novos nós sejam adicionados dinamicamente. O particionamento ou reparticionamento também é feito dinamicamente. Os dados são replicados, de forma automática por múltiplos nós com intuito de prevenir falhas. A falha de um nó é transparente para as aplicações. 3.2 Document Store Este tipo de data stores suportam dados mais complexos, comparativamente às Key-Value Stores. Ao contrário destas, estes sistemas suportam índices secundários e múltiplos tipos de documents (objectos) por base de dados. Page 6

8 3.2.1 SimpleDB Este sistema é propriedade da Amazon (5). Tal como o nome sugere é um sistema simples: SimpleDB tem as operações Select, Delete, GetAttributes e PutAttributes. Por ser tão simples não permite documentos agrupados. Este sistema suporta consistência eventual, mas não consistência transaccional. Suporta também replicação assíncrona. Tal como as Document Stores, o SimpleDB suporta mais do que um grupo por base de dados. Os documents são postos em domínios que suportam indexação múltipla. Os domínios e a sua meta-informação podem ser enumerados. A operação de Select é feita num domínio, onde são especificados um conjunto de restrições. São da forma de: select <atributes> from <domain> where <list of attribute value constraints> Os diferentes domínios são armazenados em diferentes nós da Amazon. Os índices num domínio são automaticamente actualizados quando os atributos de um document são modificados. Este sistema não particiona automaticamente os dados pelos servidores. Pode-se conseguir alguma escalabilidade horizontal lendo qualquer uma das réplicas, isto se a versão mais actual não for importante. A escrita não é escalável porque as actualizações têm de ser de forma assíncrona. Se um cliente quiser melhor escalonamento tem de ser ele a implementá-lo MongoDB O MongoDB (6) é um sistema open source e GPL que proporciona índices em collections, é lockless e fornece um mecanismo de query aos documentos. Este sistema possui algumas características interessantes: Suporta sharding automático, distribuindo os documentos pelos servidores; A replicação é na maior parte dos casos utilizada em casos de failover; Não fornece consistência global mas tem consistência local, mantendo actualizada a cópia original do documento; Suporta queries dinâmicas, com uso automático de índices, como as bases de dados relacionais; As operações sobre os documentos são atómicas. As operações sobre os campos fornecidas são: O comando update é ampliado, facilitando mudanças atómicas a valores individuais. Por exemplo, $inc incrementa um valor, $push adiciona um elemento a um array, etc. Os updates são feitos localmente para evitar overhead no servidor. A convenção update if current apenas permite alterar um campo se o valor corresponder a um valor prévio; Page 7

9 A operação findandmodify faz um update atómico e retorna automaticamente o documento actualizado. Esta operação é muito útil quando lidamos com estruturas de dados que requerem atomicidade; O MongoDB guarda a informação num formato binário, semelhante ao JSON, denominado de BSON. Este formato suporta os tipos booleanos, integer, float, date, string e binário. Este sistema suporta ainda GridFS fundamental para dados binários de grande dimensão, como imagens ou vídeos. Como são armazenados em pedaços, ao serem transmitidos para o cliente há eficiência na entrega. Este sistema suporta ainda replicação master-slave, com recuperação automática de failovers. Esta recuperação é feita ao nível dos shards. As collections são automaticamente partilhadas por uma shard-key definida pelo utilizador. A replicação é assíncrona para que a performance do sistema seja elevada o que faz com que alguns updates sejam perdidos em caso de crash do sistema. Figura 2 - Esquema de uma base de dados em MongoDB. 3.3 Extensible Data Records O desenvolvimento destes sistemas foi motivado pelo sucesso da BigTable da Google (7). É um modelo básico, de colunas e linhas, e a escalabilidade está em dividir tanto as colunas como as linhas por diferentes nós (servidores): As linhas são divididas por vários nós através do sharding da chave primária. São divididas por range, possibilitando que uma pesquisa não necessite de todos os nós. As colunas são distribuídas pelos vários nós em forma de grupo. Os grupos de colunas são pré-definidas com extensible record stores. As linhas são análogas a documents, tendo um número variável de atributos, com nomes distintos, e estão agrupadas em collections. Page 8

10 Figura 3 - Esquema do caminho de leitura e escrita em bases de dados baseadas na Big Table HBase O HBase (8) é um projecto da fundação Apache, derivando da BigTable da Google: Usa Hadoop como sistema de ficheiros distribuído. Os updates são guardados em memória e periodicamente são escritos em disco; Os updates vão para o fim do ficheiro de dados, para evitar procuras desnecessárias. Para uma recuperação mais eficiente, em caso de crash do servidor, os updates vão para o fim do log. As operações sobre as linhas são atómicas, com um locking das transacções de baixo nível. Usa controlo de concorrência optimista, abortando se existir conflitos entre updates. O particionamento e distribuição são transparentes. Existe múltiplo suporte para masters, para evitar um ponto singular de falhas. A utilização do MapReduce permite que as operações sejam distribuídas de forma eficiente Cassandra O Cassandra (9) é similar aos outros sistemas Extensible Record Stores. Tem grupos de colunas, as actualizações são guardadas na cache da memória e periodicamente escritas em disco. Faz particionamento e replicação. Tem mecanismos de detecção de falhas assim como recuperação automática. Contudo, o Cassandra tem um modelo de concorrência fraco, não apresentando mecanismos de locking e tendo as actualizações das réplicas assincronamente. Este sistema confere automaticamente nova disponibilidade aos nós de um cluster. Usando o algoritmo Phi Accrual consegue detectar a falha de um nó. É também capaz de determinar se um nó pertence a um cluster utilizando um algoritmo gossip-style. Cassandra cria o conceito de super-coluna, proporcionando um novo nível de agrupamento com os grupos de colunas originais. Este sistema usa ainda uma hash de índices ordenados, dando as potencialidades quer de uma hash quer de uma árvore-b no nível dos Page 9

11 índices. Desta forma, é possível saber que nós podem ter aquele conjunto particular de valores não havendo necessidade de procurar em todos os nós. 3.4 Sistemas Relacionais Escaláveis Ao contrário das Data Stores, um SGDB relacional tem um esquema completo e prédefinido, um interface SQL e transacções ACID. Contudo, tradicionalmente, as SGDBR não oferecem escalabilidade como os sistemas anteriormente mencionados. Os mais recentes desenvolvimentos mostram que é possível implementar alguma escalabilidade comparada com a das Data Stores NoSQL com duas ressalvas: Usar operações de curta extensão. Como já foi visto, operações que precisem de utilizar muitos nós, como joins de múltiplas tabelas, não escalam bem se não se utilizar shards; Usar transacções de curta extensão. Como anteriormente, transacções que necessitem de muitos nós são ineficientes. O NoSQL contorna estes dois problemas impossibilitando, ou tornando difícil, fazer operações e transacções deste calibre. No caso das SGBDR, estas apenas penalizam o utilizador se as realizar. Uma vantagem dos SGBDR escaláveis é a linguagem de alto nível que possui e as propriedades ACID MySQL Cluster Propriedade da Oracle, o MySQL Cluster trabalha substituindo o motor InnoDB por uma camada distribuída chamada de NDB. Este sistema particiona a informação por vários servidores, criando shards. Cada shard é replicado, para suportar a recuperação em caso de falhas. Replicação bidireccional geográfica também é suportada. O MySQL Cluster também suporta dados na memória ou no disco. Caso a informação esteja na memória, a resposta é em tempo real ScaleBase Esta é uma nova abordagem, procurando obter escalabilidade horizontal com uma camada nova sobre o MySQL em vez de alterar o próprio MySQL. Este sistema possui um parser parcial de SQL e um optimizador que particiona as tabelas por múltiplos nós únicos de bases de dados MySQL (10). Implementar sharding em cima de MySQL introduz um novo problema se as transacções não forem abrangidas pelo MySQL. Page 10

12 4. Análise dos Sistemas 4.1 Comparação entre Sistemas Key-Value Data Store Document Data Store Extensible Records Data Store Sistemas Relacionais Escaláveis Sistema Controlo de Concorrência Armazenamento Replicação Voldemort MVCC RAM ou DBD Assíncrona Membrain Locks Flash + Disco Síncrona Membase Locks Disco Síncrona SimpleDB Nenhum S3 Assíncrona MongoDB Locks Disco Assíncrona HBase Locks Hadoop Assíncrona Cassandra MVCC Disco Assíncrona MySQL Cluster ACID Disco Síncrona ScaleBase ACID Disco Assíncrona Tabela 1 - Sumário das características das diversas data stores. A comparação dos diversos data stores apresentados pode resumir-se, a nível de mecanismos à Tabela 1. Mecanismos de Controlo de Concorrência Locks: permitem que apenas um utilizador leia ou modifique uma entidade (objecto, document, linha ou campo); MVCC: fornecem um mecanismo de multi-versões, permitindo que exista uma consistência na leitura das base de dados mas que têm como desvantagem um conflito de versões caso existam modificações simultaneamente; ACID: já bem conhecido dos sistemas relacionais. A estes, de forma a evitar conflitos, acrescentou-se uma pré-análise de transacções; Nenhum: existem data stores que não implementam qualquer mecanismo de controlo de concorrência, permitindo que diferentes utilizadores alterem diferentes partes de um objecto em paralelo e não fornecendo qualquer garantia de que versão o utilizador vai obter quando ler a base de dados. Sistemas de Armazenamento Alguns sistemas estão desenhados para armazenar a informação na RAM, podendo ou não armazenar replicas ou snapshots em disco. Outros sistemas, estão desenhados para armazenar a informação no disco e conter alguma informação na RAM. Mecanismos de Replicação Este mecanismo garante que as cópias que existem estão sempre sincronizadas. Isso é conseguindo fazendo um lock à base de dados sempre que existe um update a ser feito que apenas termina quando as réplicas também são actualizadas. Uma alternativa utilizada é a actualização assíncrona que é feita em background permitindo que a base de dados continue operacional enquanto essas actualizações são feitas. Page 11

13 4.2 SQL vs. NoSQL Conflito de Opiniões Este tópico é um assunto bastante controverso (1). Os argumentos a favor do SQL são: Existem novos sistemas SQL que conseguem fazer aquilo a que o NoSQL se propõe, com performance e escalabilidade similar, mas com a vantagem de ser SQL e ACID. SGBDR têm uma grande quota do mercado. Já foram construídos muitos SGBDR para responder às necessidades dos clientes no passado. Os produtos SQL têm uma interface comum, transacções e esquemas relacionais que facilitam a aprendizagem e a troca de informação. Por outro lado, os argumentos a favor do NoSQL são: Não existem bons e independentes benchmarkings que mostrem que um SGBDR consegue a escalabilidade comparável com sistemas NoSQL, como por exemplo a BigTable do Google. A ideologia key-value é mais simples de entender do que o esquema relacional tradicional. Assim como o armazenamento de documentos. A curva de aprendizagem depende da complexidade do que se quer aprender. Algumas aplicações necessitam de um esquema flexível, permitindo que cada collection tenha atributos diferentes. Atribuir novos atributos, em execução, é incomum nos SGBDR. Os SGBDR permitem facilmente operações em multi-tabelas em multi-nós. No NoSQL essas operações são impossíveis ou demasiado custosas de implementar (logo mal existem). Enquanto que os SGBDR têm uma grande quota de mercado, os sistemas NoSQL têm um mercado mais restrito onde existe realmente necessidade de implementar estas capacidades em particular. 4.3 Benchmaking Os testes e resultados que serão aqui apresentados foram efectuados pela equipa de investigação da Yahoo! e estão disponíveis online para consulta (11) (4). Configurações Page 12

14 Seis servidores: o 8 cores (2x quadcore) 2.5 GHz CPUs, 8 GB RAM, 6 x 146GB 15K RPM SAS drives in RAID 1+0, Gigabit ethernet, RHEL 4 Máquinas extra para simular clientes, routers, controlo, etc. Cassandra HBase MySQL organizado numa configuração com sharding Sherpa 1.8 com MySQL Sem replicação Updates forçados para o disco (excepto no HBase que os updates vão primeiro para a memória) Workloads 120 milhões de registos de 1KB = 20GB por servidor Reads: retornam um registo inteiro Updates: escrevem num único campo 100 ou mais threads dos clientes Teste 1 Escalabilidade Neste teste o hardware aumenta-se o harware proporcionalmente com o volume de informação e o workload. Mede-se a latência. Idealmente a latência deve ser constante. Figura 4 - Workload de heavy reads variando o hardware Como podemos ver no gráfico, Sherpa e Cassandra têm um bom escalonamento, mantendo a linha da latência quase sem variações à medida que o sistema aumenta. Por outro Page 13

15 lado, o HBase é muito instável, tendo uma performance medíocre com três ou menos servidores. TESTE 2 Elasticidade Neste testes o workload é executado em N servidores. Gradualmente o número de servidores aumenta. É medida a latência das leituras à base de dados. Idealmente, a latência deve diminuir à medida que são adicionados novos nós. Figura 5 - Read heavy workload utilizando o Sherpa. Inicialmente em 2 servidores. Depois foram adicionados um 4º, um 5º e um 6º. Esta data store mostra alguma variação de performance quando os tablets (shards) migram. Mas depois desse processo, a performance estabiliza e torna-se mais rápido com o 6º servidor é adicionado. Figura 6 Read heavy workload utilizando Cassandra. Inicialmente em 2 servidores. Depois foram adicionados um 4º, um 5º e um 6º. Page 14

16 A data store Cassandra apresenta bastantes variações de latência sempre que há necessidade de migrar dados para os novos servidores, demorando algumas horas a estabilizar. Figura 7 - Read heavy workload utilizando HBase. Inicialmente em 2 servidores. Depois foram adicionados um 4º, um 5º e um 6º Esta data store apresenta valores de latência muito baixos comparativamente às duas data stores anteriormente apresentadas. O pico que podemos ver no gráfico deve à reconfiguração do cluster. Contudo, estes valores são ilusórios. A informação só vai migrar para os novos servidores quando for compactada, sendo essa operação uma actividade periódica. Esses valores não estão presentes no gráfico não sendo então possível fazer uma verdadeira comparação com os sistemas anteriores. 5. Conclusão Neste trabalho descrevemos brevemente o constrangimento relacionado com a escalabilidade de bases de dados relacionais e apresentamos algumas alternativas NoSQL para resolver esse mesmo problema. Das diversas alternativas apresentadas, fizemos um sumário das características das diferentes data stores que apresentamos na Tabela 1. Dos dados analisados podemos concluir que os sistemas que são RAM-based permitem a utilização da memória virtual do sistema operativo. Contudo, a performance decresce significativamente quando existe um overflow da memória física da máquina. Da análise dos dados disponíveis verificou-se também que a replicação assíncrona permite operações mais rápidas, nomeadamente para réplicas remotas. Por outro lado, alguns updates podem perder-se caso se verifique um crash no sistema. Uma alternativa implementada é a replicação síncrona em cópias locais e replicação assíncrona para cópias alojadas Page 15

17 remotamente. Esta foi a única solução prática que encontramos para actualizações de informação remota. Na nossa opinião existem vantagens e desvantagens em utilizar NoSQL como solução para uma base de dados escalável. As bases de dados NoSQL escalam de forma elástica, expandindo-se de forma transparente pelos nós, tirando partido de novas tecnologias, como a Cloud, uma vez que estão desenhadas para um escalonamento low cost. Outra vantagem do NoSQL é a facilidade com que manuseiam grandes quantidades de dados. Apesar dos sistemas relacionais tentarem acompanhar este aumento de dados, têm demasiadas restrições o que as torna impeditivas para algumas situações. Os sistemas NoSQL utilizam sistemas como o Hadoop para lidar com esse volume de dados, solucionando esse problema. Manter um SGBDR de grandes dimensões precisa de administradores especializados, o que envolve mais custos. As bases de dados NoSQL estão desenhadas para necessitar de menos gestão: têm recuperação automática de falhas, distribuição automática de informação, e modelos de dados mais simples, na teoria. Na prática continua a necessitar de gestão humana. Economicamente é menos custosa que uma base de dados relacional. Enquanto a base de dados relacional necessita de servidores dedicados a essa função e servidores para armazenar os dados, uma base de dados não relacional pode utilizar um cluster reduzindo o custo, por gigabyte ou por transacção/segundo. A ausência de um modelo específico de dados para utilizar as bases de dados NoSQL é igualmente uma vantagem. Enquanto uma base de dados SQL tem um modelo de dados muito específico e inflexível, com NoSQL há maior flexibilidade existindo uma solução viável para quase todos os tipos de estruturas, como mostramos neste trabalho. As bases de dados NoSQL criaram muitas expectativas e muito entusiasmo na comunidade. Contudo existem ainda alguns desafios nesta área. Por ser um sistema relativamente recente ainda necessita de maturidade. Os sistemas existentes ainda estão a implementar as suas key features. E comparativamente com os SGBDR que existem há muito tempo, falta-lhes a estabilidade e as funcionalidades que estes possuem. O suporte existente ainda não é o suficiente. Por exemplo, se numa empresa o SGBDR falhar existe suporte dos vendedores dos serviços. No caso dos sistemas NoSQL, uma vez que na sua maioria são projectos open source, a ajuda advém de uma comunidade e não de uma empresa como a Oracle, Microsoft ou IBM que têm uma credibilidade maior. A administração de uma base de dados NoSQL exige, na realidade, pessoas com bastantes conhecimentos para instalar, configurar e manter o sistema. As bases de dados NoSQL começam a vingar no panorama das bases de dados e, quando utilizadas correctamente, oferecem benefícios reais. Contudo, a migração das grandes bases de dados deve ser feita com muita cautela e com a consciência das limitações e constrangimentos que ainda estão associados a estas bases de dados. Page 16

18 6. Bibliografia 1. Scalable SQL and NoSQL Data Stores. Cattell, Rick. 4, s.l. : ACM SIGMOD Record, 2010, Vol Tharakan, Royans K. Brewers CAP Theorem on distributed systems. Scalable web architectures. [Online] Voldemort, Project. Project Voldemort. Project Voldemort. [Online] 4. Cooper, Brian F. Yahoo! Cloud Serving Benchmark SimpleDB: A Simple Java-Based Multiuser System for Teaching Database Internals. Sciore, Edward. s.l. : SIGCSE, MongoDB. [Online] 7. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach. Bigtable: A Distributed Storage System for Structured Data Foundation, The Apache Software. Apache HBase. Apache HBase. [Online] 9.. Cassandra. Cassandra. [Online] 10. Ramakrishnan, Raghu. Sherpa: Cloud Computing of the Third Kind. s.l. : Yahoo! Research and Platform Engineering Team, Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears. Benchmarking Cloud Serving Systems with YCSB. s.l. : Yahoo! Research, Inc, Scale Base. Scale Base. Scale Base. [Online] 13. Corporation, Oracle. MySQL Cluster CGE. MySQL. [Online] Page 17

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co

NoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co NoSQL: onde, como e por quê? Rodrigo Hjort rodrigo@hjort.co Quem aqui usa banco de dados? Por que precisamos de SQL? Onde usamos SQL (i.e. ACID)? MAS... Universo digital em expansão Fonte: IDC White Paper,

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

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

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana MAC5855 - NoSQL Mauricio De Diana mdediana@ime.usp.br @mdediana Web 2.0 Data is the Next Intel Inside Inteligência Coletiva Grande volume de dados Escala global (Internet scale services) Web 2.0 Alto grau

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

Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás.

Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás. Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás. Com o crescimento exponencial das aplicações Web o volume de dados que é produzido e processado tornou-se

Leia mais

Arquitecturas de Sistemas de Base de Dados

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

Leia mais

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicaçã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

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

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

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

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas Consistência Eventual Sistemas Distribuidos e Tolerância a Falhas Marco Bernardo Departamento de Informática Universidade da Beira Interior 25 de Maio de 2009 Descrição Geral 1 Introdução O Problema Definições

Leia mais

Seminário: Google File System (GFS)

Seminário: Google File System (GFS) UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC Disciplina: Sistemas Operacionais I INE5355 Alunos: Armando Fracalossi 06132008 Maurílio Tiago Brüning Schmitt 06132033 Ricardo Vieira Fritsche 06132044 Seminário:

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

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

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

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras do livro

Leia mais

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas Sistemas Distribuidos e Tolerância a Falhas Gonçalo Amador Ricardo Alexandre Departamento de Informática Universidade da Beira Interior Bases de Dados Distribuídas 1 Modelos de Bases de Dados 2 Conceitos

Leia mais

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de

Leia mais

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

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

Leia mais

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006 Programa de TABD 2004/2005 Componente teórica Tópicos Avançados de Bases de Dados Revisão e complemento de bases de dados relacionais Revisão de conceitos básicos Transacções e controlo de concorrência

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

NoSQL - 2014. Edward Ribeiro

NoSQL - 2014. Edward Ribeiro NoSQL - 2014 Edward Ribeiro Edward Pesquisador independente (UnB) Professor Universitário Analista de Sistemas (Senado) Contribuidor de software livre Agenda 1. Motivação 2. Definição 3. Descrição a. Modelos

Leia mais

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

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

Leia mais

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

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

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

Programação Orientada a Objetos

Programação Orientada a Objetos Objetos, Dados e Serialização André Santanchè Laboratory of Information Systems LIS Instituto de Computação UNICAMP Maio 2015 Picture by Moyan Brenn [http://www.flickr.com/photos/aigle_dore/6225536653/]

Leia mais

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan Alfredo Fernandes / José Fernandes 6. Avaliação Nesta secção é apresentada as avaliações

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

SISTEMAS DISTRIBUÍDOS (1. CICLO)

SISTEMAS DISTRIBUÍDOS (1. CICLO) SISTEMAS DISTRIBUÍDOS (1. CICLO) Capítulo 1 Introdução Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras

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

NOMES: Leonardo Claro Diego Lage Charles Tancredo Márcio Castro

NOMES: Leonardo Claro Diego Lage Charles Tancredo Márcio Castro NOMES: Leonardo Claro Diego Lage Charles Tancredo Márcio Castro O MySQL Cluster é versão do MySQL adaptada para um ambiente de computação distribuída, provendo alta disponibilidade e alta redundância utilizando

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

Avaliação do sistema de armazenamento EMC CLARiiON AX4

Avaliação do sistema de armazenamento EMC CLARiiON AX4 Avaliação do sistema de armazenamento EMC CLARiiON AX4 Relatório elaborado sob contrato com a EMC Corporation Introdução A EMC Corporation contratou a Demartek para realizar uma avaliação prática do novo

Leia mais

ANÁLISE COMPARATIVA SOBRE A CONSISTÊNCIA DE BANCO DE DADOS NAS NUVENS

ANÁLISE COMPARATIVA SOBRE A CONSISTÊNCIA DE BANCO DE DADOS NAS NUVENS Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação 2012.2 ANÁLISE COMPARATIVA SOBRE A CONSISTÊNCIA DE BANCO DE DADOS NAS NUVENS Trabalho de Graduação Dário Saraiva

Leia mais

Bases de Dados Distribuídas

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

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos (Re)Introdução 1 Organização Definição Características essenciais dos sistemas distribuídos Desafios principais 2 Definição Um sistema distribuído é... um conjunto de componentes

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

NoSQL. Arthur Azevedo Rafael Benedito

NoSQL. Arthur Azevedo Rafael Benedito NoSQL Arthur Azevedo Rafael Benedito Aviso! O que você vai ver/aprender nessa apresentação: Conceitos de banco de dados NoSQL; Taxonomia de banco de dados NoSQL; Conceitos de Banco de Dados distribuídos;

Leia mais

Mestrado em Segurança da Informação e Direito no Ciberespaço

Mestrado em Segurança da Informação e Direito no Ciberespaço Escola Naval Mestrado em Segurança da Informação e Direito no Ciberespaço Segurança da informação nas organizações Supervisão das Politicas de Segurança Computação em nuvem Fernando Correia Capitão-de-fragata

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

HadoopDB. Edson Ie Serviço Federal de Processamento de Dados - SERPRO

HadoopDB. Edson Ie Serviço Federal de Processamento de Dados - SERPRO HadoopDB Edson Ie Serviço Federal de Processamento de Dados - SERPRO Motivação Grandes massas de dados precisam ser processadas em clusters: 1 nó: 100TB@59MB/s = 23 dias Cluster com 1000 nós 33 min!!!

Leia mais

Weather Search System

Weather Search System Weather Search System PROJECTO DE COMPUTAÇÃO EM NUVEM RELATÓRIO Grupo 2 Gonçalo Carito - Nº57701 Bernardo Simões - Nº63503 Guilherme Vale - Nº64029 Índice Weather Search System...1 1. A Solução Implementada...3

Leia mais

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Nº 96080 - Adário de Assunção Fonseca Muatelembe Nº 96118 - Castelo Pedro dos Santos Nº 96170 - Feliciano José Pascoal

Leia mais

Sistemas de Gerência de Bancos de Dados. 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor

Sistemas de Gerência de Bancos de Dados. 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor Sistemas de Gerência de Bancos de Dados 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor 1 Alternativas de Arquitetura Consistência de Cache Tópicos 2 Servidor de Objetos: Alternativas de

Leia mais

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma Índice Bases de Dados Pedro Quaresma Departamento de Matemática Universidade de Coimbra 2010/2011 1. Parte I Componente Teórica 1.1 Introdução 1.2 Modelo ER 1.3 Modelo Relacional 1.4 SQL 1.5 Integridade

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

Leia mais

FAMÍLIA EMC VPLEX. Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles

FAMÍLIA EMC VPLEX. Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles FAMÍLIA EMC VPLEX Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles GARANTINDO DISPONIBILIDADE CONTÍNUA E MOBILIDADE DE DADOS PARA APLICATIVOS ESSENCIAIS A infraestrutura de armazenamento

Leia mais

Replicação de servidores

Replicação de servidores Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação de servidores Replicação: que benefícios nos dá? 1) Melhor desempenho e escalabilidade Replicar serviços permite que algumas operações

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

ISEP. Instituto Superior de Engenharia do Porto. Análise de Sistemas Informáticos

ISEP. Instituto Superior de Engenharia do Porto. Análise de Sistemas Informáticos ISEP Instituto Superior de Engenharia do Porto Análise de Sistemas Informáticos Armazenamento de Dados em Rede A Revolução do Armazenamento Partilhado A crise económica e a crescente necessidade de armazenamento

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

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

Leia mais

NoSQL no desenvolvimento de aplicações Web colaborativas

NoSQL no desenvolvimento de aplicações Web colaborativas NoSQL no desenvolvimento de aplicações Web colaborativas Bernadette Farias Lóscio (bfl@cin.ufpe.br), Hélio Rodrigues de Oliveira (hro@cin.ufpe.br), Jonas César de Sousa Pontes (jcsp@cin.ufpe.br) Resumo

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

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

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

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

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL (Parte 2)

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL (Parte 2) Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL (Parte 2) Geomar A. Schreiner - schreiner.geomar@posgrad.ufsc.br Ronaldo S. Mello r.mello@ufsc.br Departamento de

Leia mais

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Phil Maynard UNIDADE DE SOLUÇÕES DE GERENCIAMENTO DE DADOS PARA O CLIENTE FEVEREIRO DE 2012 Introdução Em todos os lugares, o volume de

Leia mais

SGBD de alta escalabilidade com suporte a dados georreferenciados

SGBD de alta escalabilidade com suporte a dados georreferenciados INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Área Departamental de Engenharia Electrónica e Telecomunicações e de Computadores ISEL SGBD de alta escalabilidade com suporte a dados georreferenciados Ricardo

Leia mais

Sistemas de Bases de Dados

Sistemas de Bases de Dados Sistemas de Bases de Dados Carlos Viegas Damásio José Alferes e Carlos Viegas Damásio Sistemas de Bases de Dados 2014/15 Objectivos - Em Bases de Dados (2º ano) pretendia-se: Que os estudantes fossem capazes

Leia mais

Bases de Dados. Parte IX: Organização Física dos Dados

Bases de Dados. Parte IX: Organização Física dos Dados Bases de Dados Parte IX Organização Física dos Dados Unidades de Medida da Informação A unidade fundamental é o byte. byte corresponde a 8 bits e cada bit permite representar ou um 0 ou um. Kilobyte (Kbyte

Leia mais

Sistema de Base de Dados Distribuída

Sistema de Base de Dados Distribuída Base de Dados Distribuídas Bases de Dados Heterogéneas e Homogéneas Armazenagem Distribuída de Dados Transacções Distribuídas Protocolos de Commit Processamento Distribuído de Consultas Controlo de Concorrência

Leia mais

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22 Sumário Agradecimentos... 19 Sobre o autor... 20 Prefácio... 21 Capítulo 1 Bem-vindo ao MySQL... 22 1.1 O que é o MySQL?...22 1.1.1 História do MySQL...23 1.1.2 Licença de uso...23 1.2 Utilizações recomendadas...24

Leia mais

23/05/12. Sistemas de Banco de Dados Paralelos. Sistemas Paralelos de BD. Roteiro. Objetivo. Motivação. Principais conceitos.

23/05/12. Sistemas de Banco de Dados Paralelos. Sistemas Paralelos de BD. Roteiro. Objetivo. Motivação. Principais conceitos. Sistemas Paralelos de BD Sistemas de Banco de Dados Paralelos Aluno: Márcio Angelo B. de Lira mabl@cin.ufpe.br Prof.ª : Bernadette Farias Lóscio Ana Carolina Salgado Roteiro paralelos de banco de dados

Leia mais

Guia de Introdução ao Symantec Protection Center. Versão 2.0

Guia de Introdução ao Symantec Protection Center. Versão 2.0 Guia de Introdução ao Symantec Protection Center Versão 2.0 Guia de Introdução ao Symantec Protection Center O software descrito neste documento é fornecido sob um contrato de licença e pode ser usado

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

Instalação do Aparelho Virtual Bomgar. Base 3.2

Instalação do Aparelho Virtual Bomgar. Base 3.2 Instalação do Aparelho Virtual Bomgar Base 3.2 Obrigado por utilizar a Bomgar. Na Bomgar, o atendimento ao cliente é prioridade máxima. Ajude-nos a oferecer um excelente serviço. Se tiver algum comentário

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

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Gestão de Configurações II

Gestão de Configurações II Gestão de Configurações II Bibliografia Livro: Software Configuration Management Patterns: Effective Teamwork, Practical Integration Gestão de Projecto 14 Padrões de Gestão Os padrões de gestão de configurações

Leia mais

Sistemas de Informação

Sistemas de Informação 1 1 Bases de Dados SISTEMAs DE GESTÃO DE ANO LECTIVO 2001/2002 Sistemas de Informação 2 2 Sistemas de Informação e organizações Informação e Informação nas organizações Sistemas de Informação (SI) Planeamento

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

P L A N I F I C A Ç Ã O A N U A L

P L A N I F I C A Ç Ã O A N U A L P L A N I F I C A Ç Ã O A N U A L DEPARTAMENTO: MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS ÁREA DISCIPLINAR: 550 - INFORMÁTICA DISCIPLINA: PSI CURSO: Profissional DE: Téc. de Gestão e Programação de Sist. Informáticos

Leia mais

Veritas Storage Foundation da Symantec

Veritas Storage Foundation da Symantec Veritas Storage Foundation da Symantec Gerenciamento de armazenamento heterogêneo on-line O Veritas Storage Foundation oferece uma solução completa para o gerenciamento de armazenamento heterogêneo on-line.

Leia mais