NoSQL for Search - Riak

1,286
-1

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,286
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.

×