28
NoSQL Orientado a Colunas Augusto Juvenal F. G. Costa (ajfgc)

NoSQL Familia de Colunas Apresentação

Embed Size (px)

Citation preview

Page 1: NoSQL Familia de Colunas Apresentação

NoSQL Orientado a Colunas

Augusto Juvenal F. G. Costa (ajfgc)

Page 2: NoSQL Familia de Colunas Apresentação

Roteiro● Introdução

○ Motivação○ Objetivo

● O que é NoSQL?● NoSQL Orientado a Colunas● Estado da Arte

○ BigTable

● Outras Ferramentas○ Cassandra○ HBase

● Perspectivas Futuras● Referências

Page 3: NoSQL Familia de Colunas Apresentação

IntroduçãoMotivação

● Suprir necessidades em escala Big Data

● SGBDs existentes nasceram em necessidades Diferentes○ BD Relacional (1985)○ Incompatibilidade

● Interesse em explorar dados

Page 4: NoSQL Familia de Colunas Apresentação

IntroduçãoObjetivo

● Mineração/Produção de Big Data sem gargalos● Propor soluções Big Data

○ “One size fits all” não se aplica

● Foco na performance, velocidade, flexibilidade e escalabilidade○ Distribuído

● Não necessariamente preocupado com semânticas relacionais

Page 5: NoSQL Familia de Colunas Apresentação

O que é NoSQL?● Abreviação Polêmica

● Bases de dados não relacionais ○ utilizadas na manipulação de grande volume de

dados

● “NoSQL” vem de uma hashtag utilizada para promover uma conferência (2009)

Page 6: NoSQL Familia de Colunas Apresentação

O que é NoSQL? (Propriedades)Teorema CAP

● ACID vs BASE● Teorema:

○ um sistema distribuído não pode,

simultaneamente, fornecer

Consistência, Disponibilidade e tolerância a partição

ACID BASE

Atômico Basically Avaliable

ConsistenteSoft-State

Isolado

Durável Eventualmente Consistente

Page 7: NoSQL Familia de Colunas Apresentação

O que é NoSQLTeorema CAP (cont.)

“Não é possível que um sistema de dados distribuído possua os 3 requisitos”

● Consistência (Consistency)○ Todas as aplicações clientes tem a mesma visão dos dados;

● Disponibilidade (Avaliability)● Tolerância à Partição (Partition Tolerance)

○ Propriedades mantidas○ Mesmo quando alguns clusters são impedidos de se comunicar

Page 8: NoSQL Familia de Colunas Apresentação
Page 9: NoSQL Familia de Colunas Apresentação
Page 10: NoSQL Familia de Colunas Apresentação

NoSQL Orientado a Colunas● Colunas Independentes organizadas em:

○ Colunas padrão○ SuperColunas (colunas encadeadas)

● Chaves apontam para várias colunas○ montando a linha

Page 11: NoSQL Familia de Colunas Apresentação

NoSQL Orientado a ColunasModelo de dados:

● Tupla○ {nome, value, Timestamp}

● Tabela○ Familia de Colunas

○ Retorno idêntico a umaquery em SGBD relacional

Page 12: NoSQL Familia de Colunas Apresentação

NoSQL Orientado a Colunas

Bom para

● Otimizar leitura/escrita

Ruim para

● Sistemas que necessitem de leitura/escrita de acordo com o modelo ACID

Page 13: NoSQL Familia de Colunas Apresentação

Estado da ArteBigTable

● Google (2003)○ Demandas Futuras○ MapReduce○ Dimensões (Células)

■ Linha (Conjunto: Tablets)■ Coluna (Conjunto: Famílias)■ Hora (Versionamento de Células)

Page 14: NoSQL Familia de Colunas Apresentação

Estado da ArteBigTable (Arquitetura)

● Componentes Principais○ Client Library

■ cache de localização○ Master Server (Administrador)

■ Atribui tablets aos Tablet Servers■ Coleta de Lixo

○ Tablets Servers■ Gerencia tamanho dos tablets

■ Lida com Leitura/escrita e solicitação

Page 15: NoSQL Familia de Colunas Apresentação

Estado da ArteBigTable (Onde é utilizado?)

Page 16: NoSQL Familia de Colunas Apresentação

Outras ferramentasCassandra

● Orientado a Colunas? Chave-Valor?● Dynamo (Amazon) + BigTable (Google)● Facebook abre código Fonte (2008)

○ Inbox Search

● Descontinuado pelo Facebook (2010)

Page 17: NoSQL Familia de Colunas Apresentação

Outras ferramentasCassandra Arquitetura

● Sistema Distribuídos○ Clusters (nós do Cassandra)

● Hashing consistente○ Mantém as chaves dos nós

peristentes

Page 18: NoSQL Familia de Colunas Apresentação

Outras ferramentasCassandra Arquitetura (cont.)

1. Distribuição transparente2. Cassandra gerencia réplicas

a. usuário pode definir a quantidade

3. Consistência Ajustável4. Gravações Rápidas

a. até 360 MB/s em cada nó

5. Armazenamento nos nós (maior parte)a. Log utilizado para recuperação (grava transações)

6. A gravação de dados visa desempenhoa. a não ser que seja solicitado consistência total

Page 19: NoSQL Familia de Colunas Apresentação

Outras ferramentas

Page 20: NoSQL Familia de Colunas Apresentação

Outras ferramentasCassandra Query Language

● DDL○ CREATE○ DROP○ ALTER

● DML○ Queries com SELECT

Page 21: NoSQL Familia de Colunas Apresentação

Usuários (fonte: http://www.planetcassandra.org/companies)

Page 22: NoSQL Familia de Colunas Apresentação

Outras ferramentasHBase

● Hadoop Database○ BigTable como armazenamento○ Subprojeto para pesquisas com MapReduce

● Fornece○ Baixa latência○ Consistência significante○ Distribuído

Page 23: NoSQL Familia de Colunas Apresentação

Outras ferramentasHBase Arquitetura

● HBaseMaster○ Atribui Regiões ao RegionServer

● HRegion Server○ lida com requisições de

leitura/escrita

● HBase Client○ Se comunica com o HRegion

Server

Page 24: NoSQL Familia de Colunas Apresentação

Empresas que utilizam

Page 25: NoSQL Familia de Colunas Apresentação

Perspectivas Futuras

Page 26: NoSQL Familia de Colunas Apresentação

Perspectivas Futuras● Popularidade Aumentando

○ Fonte:db-engines

● Modelo Recente○ Surgimento em 2005○ BigTable

● Promissor○ Não se “amarra” a schemas○ Facilmente escalável

Page 27: NoSQL Familia de Colunas Apresentação

Referências● MONIRUZZAMAN, A B M; HOSSAIN, Syed Akhter. NoSQL Database: New Era of Databases for

Big data Analytics - Classification, Characteristics and Comparison. International Journal Of Database Theory And Application. 2013.

● JABLONSKI, Stefan. NoSQL Evaluation: A Use Case Oriented Survey. University Of Bayreuth, Germany, 2011.

● NAYAK, Ameya; PORIYA, Anil; POOJARY, Dikshay. Type of NOSQL Databases and its Comparison with Relational Databases. International Journal Of Applied Information Systems. New York, p. 16-19. Mar. 2013.

● SOUZA, Vanessa Cristina Oliveira de; SANTOS, Marcus Vinícius Carli dos. Amadurecimento,

Consolidação e Performance de SGBDs NoSQL: Estudo Comparativo. XI Brazilian Symposium

On Information System. Itajubá, p. 235-242. May 2015.

● ToughtWorks Disponível em: www.thoughtworks.com/pt/insights/blog/nosql-databases-overview

Page 28: NoSQL Familia de Colunas Apresentação

Obrigado pela atenção!