NoSQL for Search - Riak

  • 1,074 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • @carlopires o full text search é um otimo solução, precisa melhorar muito mas já faz um otimo serviço
    Are you sure you want to
    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.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,074
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
2
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. NoSQL for Search
  • 2. @avelino0 www.avelino.usthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthiagoavelinoster@gmail.comthiagoavelinoster@gmail.com
  • 3. Quem esta fazendo?
  • 4. Quem usa?
  • 5. Mais um NoSQL? 2008, Akamai Technologies, Inc.
  • 6. Definição eLevelDB
  • 7. Bala de pratasolução para maquina de pesquisa
  • 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. Escrevendo com Chave e Value Key/Value Aplicação Riak
  • 10. Escrevendo com Chave e Value objecto Aplicação Riak
  • 11. Consulta com Chave e Value key objecto Aplicação Riak
  • 12. Consulta via Map/Reduce key+função Map Map Reduce objecto(s) Aplicação Riak
  • 13. Consulta por indexe secundariowhere linguagem == "python" WTF!! Aceito pesquisa inteligente... Aplicação Riak
  • 14. Texto complexo“Linguagem python ou ruby” Agora você precisa de Riak.. Aplicação Riak
  • 15. Pesquisa de texto complexa emecanismo de indexação baseado em Riak
  • 16. AmbienteAplicação Riak
  • 17. Ambiente In dexAplicação Riak
  • 18. maquina de busca preciso de mais index ???Aplicação ??? Riak ???
  • 19. Google
  • 20. O que achei? LuceneAplicação ou Riak Solr
  • 21. LuceneAplicação ou Riak Solr Java
  • 22. Lucene deve resolver o meu problema Aplicação Lucene Riak
  • 23. Aumentando a capacidade de armazenamento Lucene Aplicação Lucene Riak Lucene
  • 24. Replicar para adicionar mais produtividade Lucene Lucene LuceneAplicação Lucene Lucene Lucene Riak Lucene Lucene Lucene
  • 25. Riak Search Index Riak In dexAplicação Riak Search Riak In dex Riak
  • 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. 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. Como é feito os indexes?Documento Index nosql, 1 NoSQL é o futuro de é, 1#1 BigData o, 1 futuro, 1 de, 1 bigdata, 1
  • 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. Consulta em tempo real nosql E bigdata Enosql bigdata
  • 31. Consulta em tempo real Enosql bigdata nosql, 1 bigdata, 1 nosql, 2 bigdata, 3 nosql, 3
  • 32. Consulta em tempo real Resultado: 1, 3 (Merge intercessão) 1 1 2 3 3
  • 33. Consulta em tempo real Resultado: 1, 2, 3 (Merge união) 1 1 2 3 3
  • 34. Comportamento complexo
  • 35. Indexando documento[{programadores: {nome: “Thiago Avelino”,linguagem: [“python”, “javascript”, “ruby”],nosql: [{nome: “riak”, tipo: [“key”, “valor”]},{nome: “mongodb”, tipo: [“documento”, “key”, “valor”]},]},}]
  • 36. Indexando documento #programadores #nome #linguagem #nosqlThiago Avelino python #nome #tipo javascript ruby riak key mongodb value documento
  • 37. Dividindo index em node Index Index IndexRiak #1 Riak #2 Riak #3 16 gb 6 gb 2 gb
  • 38. Dividindo index em node #programadores #nome #linguagem #nosqlThiago Avelino python #nome #tipo javascript ruby riak key mongodb value documento
  • 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. 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. Drivers• Python• Ruby• php• Javascript (NodeJS)• .Net
  • 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. Quer saber mais sobre Riak?Pergunta-me como!
  • 44. Obrigado!Perguntas? Thiago Avelino @avelino0 www.avelino.us thiagoavelinoster@gmail.com thiagoavelinoster@gmail.com