nosql for search - riak

44

Click here to load reader

Upload: thiago-avelino

Post on 20-Jun-2015

1.201 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: NoSQL for Search - Riak

NoSQL for Search

Page 3: NoSQL for Search - Riak

Quem esta fazendo?

Page 4: NoSQL for Search - Riak

Quem usa?

Page 5: NoSQL for Search - Riak

Mais um NoSQL?

2008, Akamai Technologies, Inc.

Page 6: NoSQL for Search - Riak

DefiniçãoeLevelDB

Page 7: NoSQL for Search - Riak

Bala de prata

solução para maquina de pesquisa

Page 8: NoSQL for Search - Riak

Porque Riak?•Escalável

•Altamente disponível em rede

•Key/Value

•Erlang

•Total controle de memoria

•Ferramenta de Indexação

•Versão comercial

Page 9: NoSQL for Search - Riak

Escrevendo com Chave e Value

Key/ValueKey/Value

Aplicação

Riak

Page 10: NoSQL for Search - Riak

Escrevendo com Chave e Value

objectoobjecto

Aplicação

Riak

Page 11: NoSQL for Search - Riak

Consulta com Chave e Value

keykey

Aplicação

Riak

objectoobjecto

Page 12: NoSQL for Search - Riak

Consulta via Map/Reduce

key+funçãokey+função

Aplicação

Riak

objecto(s)objecto(s)

MapMap

MapMap

ReduceReduce

Page 13: NoSQL for Search - Riak

Consulta por indexe secundario

where linguagem == "python"

where linguagem == "python"

Aplicação

Riak

WTF!!

WTF!!Aceito

pesquisa inteligente...

Aceito pesquisa

inteligente...

Page 14: NoSQL for Search - Riak

Texto complexo

“Linguagem python ou ruby”

“Linguagem python ou ruby”

Aplicação

Riak

Agora você precisa de

Riak..

Agora você precisa de

Riak..

Page 15: NoSQL for Search - Riak

Pesquisa de texto complexa e mecanismo de

indexação baseado em Riak

Page 16: NoSQL for Search - Riak

Ambiente

Aplicação

Aplicação

RiakRiak

Page 17: NoSQL for Search - Riak

Ambiente

Aplicação

Aplicação

RiakRiakInde

xInde

x

Page 18: NoSQL for Search - Riak

Aplicação

Aplicação

RiakRiak

maquina de buscapreciso de mais index

?????????

?????????

Page 19: NoSQL for Search - Riak

Google

Page 20: NoSQL for Search - Riak

Aplicação

Aplicação

RiakRiakLucene

ouSolr

Luceneou

Solr

O que achei?

Page 21: NoSQL for Search - Riak

Aplicação

Aplicação

RiakRiakLucene

ouSolr

Luceneou

Solr

Java

Java

Page 22: NoSQL for Search - Riak

Aplicação

Aplicação

Lucene

Lucene

RiakRiak

Lucene deve resolver o meu problema

Page 23: NoSQL for Search - Riak

Aplicação

Aplicação

Lucene

LuceneLucene

LuceneLucene

Lucene

RiakRiak

Aumentando a capacidade de armazenamento

Page 24: NoSQL for Search - Riak

Aplicação

Aplicação

Lucene

LuceneLucene

LuceneLucene

Lucene

Lucene

LuceneLucene

LuceneLucene

Lucene

Lucene

LuceneLucene

LuceneLucene

Lucene

RiakRiak

Replicar para adicionar mais produtividade

Page 25: NoSQL for Search - Riak

Riak Search

Aplicação

Aplicação

Riak SearchRiak

Search

RiakRiak

Index

Index

RiakRiak

Index

Index

RiakRiak

Index

Index

Page 26: NoSQL for Search - Riak

•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

Funcionalidades como lucene

(e muito mais)

Page 27: NoSQL for Search - Riak

•Adicionar maquina em tempo real (Processamento e mais espaço)

•Automatico Load Balance

•Replica (Duplicar dados ou performance)

•indexes e query em paralelo

•...

e muito mais

Page 28: NoSQL for Search - Riak

Como é feito os indexes?

Documento

Index

NoSQL é o futuro de BigData#1#1

nosql, 1é, 1o, 1

futuro, 1de, 1

bigdata, 1

Page 29: NoSQL for Search - Riak

Como é feito os indexes?

Documento

Index

NoSQL é o futuro de BigData#1#1

nosql, 1nosql, 2nosql, 3

é, 1é, 2

bigdata, 1bigdata, 3

...

É bom usar NoSQL em produção#2#2

Recomendado usar NoSQL com

BigData#3#3

Page 30: NoSQL for Search - Riak

Consulta em tempo real

nosql E bigdata

bigdatanosql

E

Page 31: NoSQL for Search - Riak

Consulta em tempo real

bigdatanosql

E

nosql, 1nosql, 2nosql, 3

bigdata, 1bigdata, 3

Page 32: NoSQL for Search - Riak

Consulta em tempo real

(Merge intercessão)

Resultado: 1, 3

123

13

Page 33: NoSQL for Search - Riak

Consulta em tempo real

(Merge união)

Resultado: 1, 2, 3

123

13

Page 34: NoSQL for Search - Riak

Comportamento complexo

Page 35: NoSQL for Search - Riak

Indexando documento

[{programadores: {nome: “Thiago Avelino”,linguagem: [“python”, “javascript”, “ruby”],nosql: [{nome: “riak”, tipo: [“key”, “valor”]},{nome: “mongodb”, tipo: [“documento”, “key”, “valor”]},]},}]

Page 36: NoSQL for Search - Riak

Indexando documento

#programadores

#nome

#linguagem

#nosql

Thiago Avelino

pythonjavascript

ruby

#nome

#tipo

riakmongod

b

keyvalue

documento

Page 37: NoSQL for Search - Riak

Dividindo index em node

Riak #1Riak #1 Riak #2Riak #2 Riak #3Riak #3

Index

Index

Index

Index

Index

Index

16 gb16 gb 6 gb6 gb 2 gb2 gb

Page 38: NoSQL for Search - Riak

Dividindo index em node

#programadores

#nome

#linguagem

#nosql

Thiago Avelino

pythonjavascript

ruby

#nome

#tipo

riakmongod

b

keyvalue

documento

Page 39: NoSQL for Search - Riak

Dividindo index em node

#programadores

#nome

#linguagem

#nosql

Thiago Avelino

pythonjavascript

ruby

#nome

#tipo

riakmongod

b

keyvalue

documento

Node #1Node #1 Node #2Node #2 Node #3Node #3

Page 40: NoSQL for Search - Riak

Dividindo index em node#programador

es

#nome

#linguagem

#nosql

Thiago Avelino

pythonjavascript

ruby

#nome

#tipo

riakmongod

b

keyvalue

documento

$node #1

$node #2

$node #3

Page 41: NoSQL for Search - Riak

Drivers

•Python

•Ruby

•php

•Javascript (NodeJS)

•.Net

Page 42: NoSQL for Search - Riak

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)

Page 43: NoSQL for Search - Riak

Quer saber mais sobre Riak?

Pergunta-me como!

Quer saber mais sobre Riak?

Pergunta-me como!

Page 44: NoSQL for Search - Riak

Obrigado!Perguntas?

Thiago Avelino@avelino0

www.avelino.usthiagoavelinoster@gma

il.com