NoSQL for Search
@avelino0              www.avelino.usthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthia...
Quem esta fazendo?
Quem usa?
Mais um NoSQL?      2008, Akamai Technologies, Inc.
Definição            eLevelDB
Bala de pratasolução para maquina de pesquisa
Porque Riak?• Escalável• Altamente disponível em rede• Key/Value• Erlang• Total controle de memoria• Ferramenta de Indexaç...
Escrevendo com Chave e Value           Key/Value   Aplicação      Riak
Escrevendo com Chave e Value               objecto   Aplicação             Riak
Consulta com Chave e Value               key              objecto  Aplicação             Riak
Consulta via Map/Reduce        key+função                        Map                        Map                        Red...
Consulta por indexe secundariowhere linguagem == "python"                                  WTF!!                          ...
Texto complexo“Linguagem python ou ruby”                                Agora você                              precisa de...
Pesquisa de texto complexa emecanismo de indexação baseado           em Riak
AmbienteAplicação   Riak
Ambiente            In dexAplicação            Riak
maquina de busca  preciso de mais index            ???Aplicação   ???     Riak            ???
Google
O que achei?                LuceneAplicação         ou       Riak                 Solr
LuceneAplicação     ou       Riak             Solr                Java
Lucene deve resolver o meu        problema   Aplicação   Lucene   Riak
Aumentando a capacidade de    armazenamento               Lucene   Aplicação   Lucene   Riak               Lucene
Replicar para adicionar mais         produtividade            Lucene   Lucene   LuceneAplicação   Lucene   Lucene   Lucene...
Riak Search                                   Index                            Riak                                   In d...
Funcionalidades como lucene         (e muito mais)• Lucene Syntax• Reutiliza Java Lucene Analyzers• Solr Endpoints• Integr...
e muito mais• Adicionar maquina em tempo real  (Processamento e mais espaço)• Automatico Load Balance• Replica (Duplicar d...
Como é feito os indexes?Documento                                   Index                                 nosql, 1     NoS...
Como é feito os indexes?Documento                               Index     NoSQL é o futuro de            nosql, 1#1       ...
Consulta em tempo real        nosql E bigdata              Enosql                     bigdata
Consulta em tempo real              Enosql             bigdata   nosql, 1          bigdata, 1   nosql, 2          bigdata,...
Consulta em tempo real            Resultado: 1, 3         (Merge intercessão)     1                         1     2       ...
Consulta em tempo real         Resultado: 1, 2, 3         (Merge união)     1                        1     2              ...
Comportamento complexo
Indexando documento[{programadores: {nome: “Thiago Avelino”,linguagem: [“python”, “javascript”, “ruby”],nosql: [{nome: “ri...
Indexando documento                         #programadores                 #nome     #linguagem     #nosqlThiago Avelino  ...
Dividindo index em node          Index             Index             IndexRiak #1           Riak #2           Riak #3 16 g...
Dividindo index em node                         #programadores                 #nome     #linguagem     #nosqlThiago Aveli...
Dividindo index em node                           #programadores                 Node #1        Node #2     Node #3       ...
Dividindo index em node                           #programadores        $node #2                                      $nod...
Drivers• Python• Ruby• php• Javascript (NodeJS)• .Net
Links• http://basho.com/• http://basho.com/products/riak-control/• http://basho.com/products/riak-enterprise/• http://wiki...
Quer saber mais   sobre Riak?Pergunta-me como!
Obrigado!Perguntas?                  Thiago Avelino                      @avelino0                 www.avelino.us   thiago...
Upcoming SlideShare
Loading in...5
×

NoSQL for Search - Riak

1,202

Published on

2 Comments
2 Likes
Statistics
Notes
  • @carlopires o full text search é um otimo solução, precisa melhorar muito mas já faz um otimo serviço
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Legal a apresentação, Thiago. Não cheguei a colocar riak em produção, mas fiz vários testes e gostei de muita coisa. No caso de full text search é um dos cases onde ele pode se sair muito bem, especialmente em clusters com muitos nodes.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,202
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

NoSQL for Search - Riak

  1. 1. NoSQL for Search
  2. 2. @avelino0 www.avelino.usthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthiagoavelinoster@gmail.com
  3. 3. Quem esta fazendo?
  4. 4. Quem usa?
  5. 5. Mais um NoSQL? 2008, Akamai Technologies, Inc.
  6. 6. Definição eLevelDB
  7. 7. Bala de pratasolução para maquina de pesquisa
  8. 8. Porque Riak?• Escalável• Altamente disponível em rede• Key/Value• Erlang• Total controle de memoria• Ferramenta de Indexação• Versão comercial
  9. 9. Escrevendo com Chave e Value Key/Value Aplicação Riak
  10. 10. Escrevendo com Chave e Value objecto Aplicação Riak
  11. 11. Consulta com Chave e Value key objecto Aplicação Riak
  12. 12. Consulta via Map/Reduce key+função Map Map Reduce objecto(s) Aplicação Riak
  13. 13. Consulta por indexe secundariowhere linguagem == "python" WTF!! Aceito pesquisa inteligente... Aplicação Riak
  14. 14. Texto complexo“Linguagem python ou ruby” Agora você precisa de Riak.. Aplicação Riak
  15. 15. Pesquisa de texto complexa emecanismo de indexação baseado em Riak
  16. 16. AmbienteAplicação Riak
  17. 17. Ambiente In dexAplicação Riak
  18. 18. maquina de busca preciso de mais index ???Aplicação ??? Riak ???
  19. 19. Google
  20. 20. O que achei? LuceneAplicação ou Riak Solr
  21. 21. LuceneAplicação ou Riak Solr Java
  22. 22. Lucene deve resolver o meu problema Aplicação Lucene Riak
  23. 23. Aumentando a capacidade de armazenamento Lucene Aplicação Lucene Riak Lucene
  24. 24. Replicar para adicionar mais produtividade Lucene Lucene LuceneAplicação Lucene Lucene Lucene Riak Lucene Lucene Lucene
  25. 25. Riak Search Index Riak In dexAplicação Riak Search Riak In dex Riak
  26. 26. Funcionalidades como lucene (e muito mais)• Lucene Syntax• Reutiliza Java Lucene Analyzers• Solr Endpoints• Integração via Riak Post-Commit Hook (Index)• Integração via Riak Map/Reduce (Query)• Schema-less
  27. 27. e muito mais• Adicionar maquina em tempo real (Processamento e mais espaço)• Automatico Load Balance• Replica (Duplicar dados ou performance)• indexes e query em paralelo• ...
  28. 28. Como é feito os indexes?Documento Index nosql, 1 NoSQL é o futuro de é, 1#1 BigData o, 1 futuro, 1 de, 1 bigdata, 1
  29. 29. Como é feito os indexes?Documento Index NoSQL é o futuro de nosql, 1#1 BigData nosql, 2 nosql, 3 é, 1 É bom usar NoSQL é, 2#2 em produção bigdata, 1 bigdata, 3 Recomendado usar ...#3 NoSQL com BigData
  30. 30. Consulta em tempo real nosql E bigdata Enosql bigdata
  31. 31. Consulta em tempo real Enosql bigdata nosql, 1 bigdata, 1 nosql, 2 bigdata, 3 nosql, 3
  32. 32. Consulta em tempo real Resultado: 1, 3 (Merge intercessão) 1 1 2 3 3
  33. 33. Consulta em tempo real Resultado: 1, 2, 3 (Merge união) 1 1 2 3 3
  34. 34. Comportamento complexo
  35. 35. Indexando documento[{programadores: {nome: “Thiago Avelino”,linguagem: [“python”, “javascript”, “ruby”],nosql: [{nome: “riak”, tipo: [“key”, “valor”]},{nome: “mongodb”, tipo: [“documento”, “key”, “valor”]},]},}]
  36. 36. Indexando documento #programadores #nome #linguagem #nosqlThiago Avelino python #nome #tipo javascript ruby riak key mongodb value documento
  37. 37. Dividindo index em node Index Index IndexRiak #1 Riak #2 Riak #3 16 gb 6 gb 2 gb
  38. 38. Dividindo index em node #programadores #nome #linguagem #nosqlThiago Avelino python #nome #tipo javascript ruby riak key mongodb value documento
  39. 39. Dividindo index em node #programadores Node #1 Node #2 Node #3 #nome #linguagem #nosqlThiago Avelino python #nome #tipo javascript ruby riak key mongodb value documento
  40. 40. Dividindo index em node #programadores $node #2 $node #1 $node #3 #nome #nosql #linguagemThiago Avelino #nome #tipo python javascript riak key ruby mongodb value documento
  41. 41. Drivers• Python• Ruby• php• Javascript (NodeJS)• .Net
  42. 42. Links• http://basho.com/• http://basho.com/products/riak-control/• http://basho.com/products/riak-enterprise/• http://wiki.basho.com/• https://github.com/basho• http:// shop.oreilly.com/product/0636920018957.do (Book)
  43. 43. Quer saber mais sobre Riak?Pergunta-me como!
  44. 44. Obrigado!Perguntas? Thiago Avelino @avelino0 www.avelino.us thiagoavelinoster@gmail.com thiagoavelinoster@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×