Apresentação do PowerPoint - DECOM-UFOP

Propaganda
Ademir Rafael Marques Guedes
NoSQL
 O termo 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 interface SQL.
 O termo começou então a ser utilizado para definir
a tendência de não se utilizar bancos de dados
relacionais. Posteriormente, passou a ser utilizado
como Not Only SQL (Não Somente SQL) para a
prática de utilizar bancos de dados não-relacionais
associados a bancos relacionais, quando necessário
NoSQL
 NoSQL são portanto diferentes sistemas de
armazenamento que vieram para suprir
necessidades em demandas de dados semiestruturados, onde os bancos de dados tradicionais
(relacionais) são ineficazes ou pouco eficazes.
 Embora o termo dê essa impressão, o termo não
está relacionado à não-utilização de SQL, mas sim
dos bancos relacionais e do conceito entidaderelacionamento.
Características
 Registros schema-free
 Tolerância à falha
 Escalabilidade
 Clusterização
Necessidades
 Sistemas em nuvem
 Análises sociais
 Alta escalabilidade
 Performance na consulta/escrita
Utilidade
 NoSQL surgiu da necessidade de uma performance
superior e de uma maior escalabilidade.
 Bancos de dados relacionais são muito restritos ,
sendo necessária a distribuição vertical de
servidores, ou seja, quanto mais dados,
mais memória e mais disco um servidor precisa.
Utilidade
 NoSQL tem grande facilidade na distribuição
horizontal, ou seja, uma demanda por mais
espaço, pode ser suprida com mais servidores, não
necessariamente de alta performance.
 Um grande utilizador desse conceito é o Google,
que usa computadores de pequeno e médio porte
para a distribuição dos dados.
 Essa forma de utilização é muito mais eficiente e
econômica.
Arquitetura
 Diferente dos bancos relacionais, que se utilizam
de linhas de diversas tabelas e da relação entre elas,
para armazenar os dados, nos bancos NoSQL, toda
a informação necessária estará agrupada no
mesmo registro.
 Os bancos de dados NoSQL são divididos de
acordo com a arquitetura utilizada para
armazenamento e diversas opções de arquitetura
são possíveis.
Arquitetura
 Column Families/ Wide-Columns Store
 Document Store /Document Databases
 Key Value/Tuple Store
 Graph Databases
 Object Databases
 Grid Database
 XML Databases.
Key Value/Tuple Store
 Tipo mais comum em NoSQL.
 Baseado em conjuntos chave-valor
 Exemplos: BerkeleyDB, Tokyo Cabinet, Project
Voldermort, MemcacheDB, SimpleBD
Key Value/Tuple Store
Wide-Columns Store
 Utiliza os conceitos de bancos relacionais aliados aos
conceitos de estrutura variável de um banco key-value.
 Basicamente, funciona como tabelas, em que cada
coluna pode ser subdividida em conjuntos de valores.
 Exemplos: HBase (Apache), HiperTable, Cassandra
(Apache), BigTable(Google)
Wide-Columns Store
Document Databases
 Baseado em documentos XML ou JSON, podem ser
localizados pelo seu id único ou por qualquer registro
que tenha no documento.
 Exemplos: CouchDB (Apache), MongoDB, Riak,
RavenDB
Document Databases
Graph Databases
 Com uma complexibilidade maior, esses bancos de
dados guardam objetos, e não registros como os outros
tipos de NoSQL. A busca desses itens é feita pela
navegação desses objetos.
 Exemplos: Neo4J, InfoGrid, HyperGraphDB, BigData
Graph Databases
Download