NOSQL uma breve introdução

536 visualizações

Publicada em

Uma introdução ao conceito NOSQL, suas implementações e casos de uso

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
536
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
28
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Processamento análitico de grandes volumes de dados complexos produzidos por aplicações. Esses dados podem ser aplicações cientifica e de engenharia, redes sociais, rede sensores, dados médicos, transações de comercio eletronicos e na maioria da vezes não estruturados



    Como suportar o crescimento maciço de volume, velocidade e variedade de informações?

    Como suportar mudanças inesperadas nas aplicações e pico de usuários simultâneos?

    Como armazenar diferentes formatos de dados, sejam eles não-estruturados, semi-estruturados ou estruturados?
  • Criar um comparativo de NOSQL com SQL

    A base de dados NoSQL foi criada para suportar o crescimento maciço de volume, velocidade e variedade de informações. Em comparação com a base de dados tradicional, conhecida como relacional e que utiliza uma abordagem rígida baseada em esquematização, a tecnologia NoSQL pode suportar mudanças inesperadas na aplicação, pico de usuários simultâneos e armazenamento de diferentes formatos de dados, sejam eles não estruturados, semi estruturados ou estruturados.
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Melhorar lay-out


    Key Value:
    coleção de chaves únicas
    e de valores, os quais são associados com as chaves
    Document:
    os documentos são as unidades básicas
    de armazenamento e estes não utilizam necessariamente
    qualquer tipo de estruturação pré-definida e são basedos em JSON. (JavaScript Object Notation)

    Column:
    muda-se o paradigma de orientação a
    registros (ou tuplas) para orientação a atributos (ou colunas).
    O Cassandra possui colunas (tuplas que contém nome, valor e
    timestamp), famílias de colunas (um repositó rio para colunas,
    análogo a uma tabela do Modelo Relacional) e super-colunas (compostas por arrays de colunas)
    Graph:
    os dados são armazenados em nó s de
    um grafo cujas arestas representam o tipo de associação entre
    esses nós.
    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido


    Apesar de possuírem certas características em comum, tais
    como serem livres de esquema, promoverem alta
    disponibilidade e maior escalabilidade, os sistemas de bancos
    de dados NoSQL existentes possuem diversas singularidades
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Melhorar lay-out


    Key Value:
    coleção de chaves únicas
    e de valores, os quais são associados com as chaves
    Document:
    os documentos são as unidades básicas
    de armazenamento e estes não utilizam necessariamente
    qualquer tipo de estruturação pré-definida e são basedos em JSON. (JavaScript Object Notation)

    Column:
    muda-se o paradigma de orientação a
    registros (ou tuplas) para orientação a atributos (ou colunas).
    O Cassandra possui colunas (tuplas que contém nome, valor e
    timestamp), famílias de colunas (um repositó rio para colunas,
    análogo a uma tabela do Modelo Relacional) e super-colunas (compostas por arrays de colunas)
    Graph:
    os dados são armazenados em nó s de
    um grafo cujas arestas representam o tipo de associação entre
    esses nós.
    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido


    Apesar de possuírem certas características em comum, tais
    como serem livres de esquema, promoverem alta
    disponibilidade e maior escalabilidade, os sistemas de bancos
    de dados NoSQL existentes possuem diversas singularidades
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Melhorar lay-out


    Key Value:
    coleção de chaves únicas
    e de valores, os quais são associados com as chaves
    Document:
    os documentos são as unidades básicas
    de armazenamento e estes não utilizam necessariamente
    qualquer tipo de estruturação pré-definida e são basedos em JSON. (JavaScript Object Notation)

    Column:
    muda-se o paradigma de orientação a
    registros (ou tuplas) para orientação a atributos (ou colunas).
    O Cassandra possui colunas (tuplas que contém nome, valor e
    timestamp), famílias de colunas (um repositó rio para colunas,
    análogo a uma tabela do Modelo Relacional) e super-colunas (compostas por arrays de colunas)
    Graph:
    os dados são armazenados em nó s de
    um grafo cujas arestas representam o tipo de associação entre
    esses nós.
    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido


    Apesar de possuírem certas características em comum, tais
    como serem livres de esquema, promoverem alta
    disponibilidade e maior escalabilidade, os sistemas de bancos
    de dados NoSQL existentes possuem diversas singularidades
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Melhorar lay-out


    Key Value:
    coleção de chaves únicas
    e de valores, os quais são associados com as chaves
    Document:
    os documentos são as unidades básicas
    de armazenamento e estes não utilizam necessariamente
    qualquer tipo de estruturação pré-definida e são basedos em JSON. (JavaScript Object Notation)

    Column:
    muda-se o paradigma de orientação a
    registros (ou tuplas) para orientação a atributos (ou colunas).
    O Cassandra possui colunas (tuplas que contém nome, valor e
    timestamp), famílias de colunas (um repositó rio para colunas,
    análogo a uma tabela do Modelo Relacional) e super-colunas (compostas por arrays de colunas)
    Graph:
    os dados são armazenados em nó s de
    um grafo cujas arestas representam o tipo de associação entre
    esses nós.
    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido


    Apesar de possuírem certas características em comum, tais
    como serem livres de esquema, promoverem alta
    disponibilidade e maior escalabilidade, os sistemas de bancos
    de dados NoSQL existentes possuem diversas singularidades
  • Gráfico de pizza
  • Gráfico de pizza
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Indicado para em todos

    Key Value:
    Distribuição em hash table

    Document:
    basedos em JSON documentos

    Graph
    Sistema baseado em graficos
    Utilizando em: rede sociais

    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Indicado para em todos

    Key Value:
    Distribuição em hash table

    Document:
    basedos em JSON documentos

    Graph
    Sistema baseado em graficos
    Utilizando em: rede sociais

    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Indicado para em todos

    Key Value:
    Distribuição em hash table

    Document:
    basedos em JSON documentos

    Graph
    Sistema baseado em graficos
    Utilizando em: rede sociais

    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Indicado para em todos

    Key Value:
    Distribuição em hash table

    Document:
    basedos em JSON documentos

    Graph
    Sistema baseado em graficos
    Utilizando em: rede sociais

    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido
  • Antes desse slide adicionar comparativo NOSQL e SQL
    Fazer slide separado de exemplos reais
    Somente explicar as categorias

    Indicado para em todos

    Key Value:
    Distribuição em hash table

    Document:
    basedos em JSON documentos

    Graph
    Sistema baseado em graficos
    Utilizando em: rede sociais

    NOSQL:
    Schema-free
    Non-Relacional
    Denormalizado
    Column storage
    Distribuido
  • http://docs.neo4j.org/chunked/stable/query-predicates.html

    http://console.neo4j.org/?init=create%20(_0%20%7B%60age%60%3A25%2C%20%60name%60%3A%22Tobias%22%7D)%0Acreate%20(_1%20%7B%60age%60%3A34%2C%20%60name%60%3A%22Peter%22%7D)%0Acreate%20(_2%3A%60Swedish%60%20%7B%60age%60%3A36%2C%20%60belt%60%3A%22white%22%2C%20%60name%60%3A%22Andres%22%7D)%0Acreate%20_2-%5B%3A%60KNOWS%60%5D-%3E_0%0Acreate%20_2-%5B%3A%60KNOWS%60%5D-%3E_1&query=match%20(n)%20where%20n.name%20%3D%20%27Peter%27%20xor%20(n.age%20%3C%2030%20and%20n.name%20%3D%20%22Tobias%22)%20or%20not%20(n.name%20%3D%20%22Tobias%22%20or%20n.name%3D%22Peter%22)%20return%20n&version=2.1.3&no_root=true
  • Melhorar lay-out
  • Deixar bonito e em portugues as app e o tipos em ingles
  • Splunk- usa cassandra
    Netflix – No momento do cadastro é adiciona a preferencia de filmes e o NetFlix recomenda o filmes baseado no seu perfil
  • Splunk- usa cassandra
    Netflix – No momento do cadastro é adiciona a preferencia de filmes e o NetFlix recomenda o filmes baseado no seu perfil
  • Splunk- usa cassandra
    Netflix – No momento do cadastro é adiciona a preferencia de filmes e o NetFlix recomenda o filmes baseado no seu perfil
  • Tamanho da amostra - EUA
  • para o nosso Índice de Competências NoSQL LinkedIn, que monitora menções de banco de dados NoSQL em perfis de usuários NoSQL

    Melhorar gráfico
  • NOSQL uma breve introdução

    1. 1. Por Fernando Cunha Uma Breve Introdução
    2. 2. Fernando Cunha – fecunhainfo@gmail.com • Bacharel em Informática • Pós graduado Engenharia de Software UFPR • Pós graduando em Gestão de TI • ITIL V3 Foundation Certificate • Gerente de Projetos Contatos: http://br.linkedin.com/pub/fernando-cunha/26/67a/827/ Palestrante:
    3. 3.  NOSQL é um termo genérico que define bancos de dados não-relacionais.  Termo introduzido por Carlos Strozzi em um evento de banco de dados open-source em 1998  Em 2009 Eric Evans reintroduziu o termo em outro evento de banco de dados open-source  Pronuncia-se - noseequel O que significa? Quem? Porque?  Suprir as necessidades introduzidas pelo o fenômeno BIG DATA
    4. 4. Classificação de SGBD NOSQL  Coleção de chaves únicas associada a um valor, que pode ser de qualquer tipo (binário, string) Exemplo: Key: 1234 Value: “Fernando” Key: 2343 Value: “Name=Fernando, age=29” KEY VALUE COLUMN GRAPH DOCUMENT
    5. 5. Classificação de SGBD NOSQL  Famílias de colunas (um repositório para colunas,  análogo a uma tabela do Modelo Relacional) e super-colunas (compostas por arrays de colunas) Exemplo: Column family, Key, Column name e value Pessoas ; 4564 ; nome : Ana ; idade : 30; KEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENT
    6. 6. Classificação de SGBD NOSQL  Banco de dados baseado em grafos, nele temos as entidades chamadas de vértices (ou node) que são ligadas entre elas pelas arestas (ou relationships) cada um podendo guardar dados entre os relacionamentos e cada relacionamento pode ter uma direção. Exemplo: - Vértice: Chave->Valor representa entidade. Nome:Priscila - Aresta: relacionamentos Ex: Vertice “Priscila” segue o vertice “Lucas” desde 2012, o relacionamento é igual a “segue” KEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENT
    7. 7. Classificação de SGBD NOSQL  Os documentos são as unidades básicas de armazenamento e estes não utilizam necessariamente qualquer tipo de estruturação pré-definida  São baseados em JSON. (JavaScript Object Notation) Exemplo: {"user":{ "id": "123", "name": "Emmanuel", "addresses":[ {"city":"Paris"}, {"city":"Sao Paulo"}]} KEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENT
    8. 8. Classificação de SGBD NOSQL Key Value 12343 5 Joao da Silva 33454 5 Name=Fernando, age=29 Key - Value Column Graph Document
    9. 9. Classificação de SGBD NOSQL 150 tipos de banco de dados NOSQL Fonte: http://nosql-database.org/ Dados compilados manualmente 30% 13% 13% 7% 37% 0% 5% 10% 15% 20% 25% 30% 35% 40% Key Value Document Store Graph Databases Column Não categorizado
    10. 10. Classificação de SGBD NOSQL e quem está utilizando KEY VALUE COLUMN GRAPH DOCUMENT
    11. 11. Amazon DynamoDB (Key-value) Desenvolvido em: Java Quem Usa? – Washingtonpost.com – Elsevier (Editora) Classificação de SGBD NOSQL e quem está utilizando KEY VALUE COLUMN GRAPH DOCUMENT
    12. 12. Classificação de SGBD NOSQL e quem está utilizando Cassandra (column) Desenvolvido em: Java Quem Usa? – Twitter – NetFlix – Facebook BigTable(column) Google Desenvolvido em: C++ Quem Usa: Gmail Google Maps, YouTube KEY VALUE COLUMN GRAPH DOCUMENT
    13. 13. Classificação de SGBD NOSQL e quem está utilizando Neo4j (graph) – Desenvolvido em: Java Quem Usa? – WalMart – National Geographic – Ebay KEY VALUE COLUMN GRAPH DOCUMENTKEY VALUE COLUMN GRAPH DOCUMENT
    14. 14. Classificação de SGBD NOSQL e quem está utilizando MongoDB (Document) Desenvolvido em: C Quem Usa: – Globo.com – Apontador – Forbes – New York Times KEY VALUE COLUMN GRAPH DOCUMENT
    15. 15. Dá pra fazer query? I SQL
    16. 16. Dá pra fazer query? Amazon DynamoDB– Key-Value SQL Query AWS Query AWS SDK for Java AWS SDK for .NET AWS SDK for PHP JSON Data Format API Reference
    17. 17. Dá pra fazer query? MongoDB - Document SQL Query Operation Find
    18. 18. Dá pra fazer query? Neo4j- Graph SQL Query Cyber query
    19. 19. Dá pra fazer query? Cassandra - Column SQL Query CQL – Cassandra Query Language Comandos CRUD (Create, Read, Update, Delete) são iguais
    20. 20. Quais linguagens suportam NOSQL? Amazon Dynamo Neo4j Cassandra MongoDB C x C# x C++ x x Go x x Java x x x x Javascript x x Node.js x x x x Perl x x PHP x x x x Python x x x Ruby x x x x Scala x x x
    21. 21. Os banco de dados relacionais irão morrer?
    22. 22. Posição NOSQL Fonte: Gartner
    23. 23. Quando e qual utilizar? Fonte: Martin Fowler Fonte: http://www.martinfowler.com/bliki/PolyglotPersistence.html Sessões de usuários Key - Value Dados Financeiros Relacional Blog ou Socia Media Graph Catálogo Produtos Document Relatórios Relacional Atividades e logs de usuário Column
    24. 24. Cases SGBD: sistema de processamento de faturas mensais NOSQL: Sistema focado em recomendações de melhores filmes.
    25. 25. Cases SGBD: Sistemas de processamento de ordem de venda NOSQL: Sistema de pesquisa, recomendações e adaptações de preços em tempo real
    26. 26. Cases SGBD: Dados de clientes, produtos e RH NOSQL: Explorar, analisar e virtualização de dados
    27. 27. Existem oportunidades no mercado?
    28. 28. Tem profissional no mercado?
    29. 29. Perguntas
    30. 30. Referencias http://nosql-database.org/ http://neo4j.com/customers/ http://aws.amazon.com/dynamodb/ http://www.nosqlfordummies.com/ http://technorati.com/is-there-a-sequel-to-nosql-bigdata-analytics-scifi-has-already-foreshadowed- it/ NoSQL Now 2013 conference. Tomer Shiran, VP of Product Management at MapR Technologies. Jeff Kelly from Wikibon. http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/NoSQL/Home%20Page http://blog.parityresearch.com/21-nosql-innovators-to-look-for-in-2020/ http://blogs.the451group.com/information_management/2014/07/01/nosql-linkedin-skills-index- june-2014/ http://www.gartner.com/technology/reprints.do?id=1-1M9YEHW&ct=131028&st=sb http://www.tomsitpro.com/articles/rdbms-sql-cassandra-dba-developer,2-547-2.html http://www.slideshare.net/kevinweil/nosql-at-twitter-nosql-eu-2010 http://www.slideshare.net/thobe/nosql-for-dummies
    31. 31. Referencias http://www.mongodb.com/events/ http://docs.mongodb.org/manual/core/read-operations-introduction/ http://data.ime.usp.br/sbbd2012/artigos/pdfs/sbbd_min_01.pdf https://cassandra.apache.org/doc/cql/CQL.html http://www.indeed.com/jobtrends?q=nosql+developer&l= http://blog.nahurst.com/visual-guide-to-nosql-systems http://revistaopara.facape.br/index.php/opara/article/download/121/72 http://stackoverflow.com/questions/12346326/nosql-cap-theorem-availability-and-partition- tolerance http://www.martinfowler.com/bliki/PolyglotPersistence.html http://www.infoq.com/br/news/2014/06/oracle-nosql-database-3.0 http://www.infoq.com/br/news/2014/06/splunk-hunk-6.1 http://docs.neo4j.org/chunked/stable/query-predicates.html http://pt.splunk.com/view/db-connect/SP-CAAAHR6

    ×