SlideShare uma empresa Scribd logo
@ NoSQL[br]


Edward Ribeiro – edward.ribeiro@gmail.com
Http://www.twitter.com/edward_ribeiro
Http://www.github.com/eribeiro
VoltDB não é um banco
de propósito geral
O que é VoltDB?
●   Open source           GNU GPL



                          SQL-92 (subset)
●   Relacional
                          ACID


●   In-memory              Dados e índices residem em memória



●   Distribuído           Cluster

                          Partição horizontal de dados (sharding)

●   OLTP                  Suporte ao negócio
OLTP

●   Operações pontuais e conhecidas a priori
●   Consultas recuperam somente um sub-
    conjunto pequeno de dados
●   Dados indexados
●   Grande volume de atualizações e inserções
●   Dados cabem em RAM
Ressalvas

O VoltDB não vai resolver
todos os teus problemas de
gerenciamento de dados.

O VoltDB não é um banco
monolítico!
Voltdb @ NoSQL[br]
Tópicos Importantes da Arquitetura
Execução mono-thread em cada partição       Remover a complexidade de estruturas
                                            de dados concorrentes e eliminar lockings



100% em memória                             Aumentar throughput




Stored Procedures como mecanismo de         Reduzir roundtrip de rede
interação entre aplicação cliente e banco   Eliminar user stalls
                                            Permitir otimizações na execução do SQL


Arquitetura Distribuída                     Particionar os dados, aumentando o
                                            throughput, escalabilidade e tolerância a
                                            falhas
Tabelas: Particionadas
                      ID          Titulo         Ano
                             392 Matrix                 1999
                             393 Donnie Darko           2002
                             408 Blade Runner           1985
                             412 Terminator             1985




ID       Titulo       Ano
                                                        ID         Titulo   Ano
     392 Matrix       1999   ID       Titulo    Ano
                                                               393 Donnie     2002
     412 Terminator   1985        408 Blade      1985              Darko
                                      Runner
Tabelas: Replicadas
     UF      Nome
     AC      Acre
     DF      Distrito Federal
     SP      São Paulo
     RJ      Rio de Janeiro
     ES      Espírito Santo




UF        Nome
AC        Acre                      UF   Nome

DF        Distrito Federal          AC   Acre

SP        São Paulo                 DF   Distrito Federal

RJ        Rio de Janeiro            SP   São Paulo

ES        Espírito Santo            RJ   Rio de Janeiro
                                    ES   Espírito Santo
Partição (site)
                               Stored Procedure




                   Execution
                    Engine




                     Dados
                     Índices




●   Execution Engine é single-threaded
●   Cada partição equivale a um núcleo de CPU
Stored Procedures

●   Dois tipos:
        –   Partição única (single partitioning)
                ●   update ano from movie where id = 1289;


        –   Multi-partição (multi-partitioning)
                ●   select count(*) from movie;
●   Stored Procedure = Transação
Durabilidade

●   O “D” em ACID
       –   K-Safety
       –   Snapshot
       –   Command-Logging
K-Safety

●   Replicação de dados
●   k-1: cada partição é replicada em duas
    máquinas
●   k-2: cada partição é replicada em três
    máquinas
●   k-3: cada partição é replicada em quatro
    máquinas.
●   ....
Export x Snapshot

●   Snapshot
       –   Backup
       –   Durabilidade
       –   Pode ser executado de forma discreta ou
            contínua (e.g., a cada 250 ms)
●   Export
       –   Interface para outros sistemas (SQL ou
             NoSQL)
Command Logging
Command Logging
Versão 2.0

●   Command Logging
●   GUI Admin interface
●   Suporte JDBC/ODBC
●   VoltOne
Melhores Práticas
●   Maximize o número de transações de partição única
●   Escolha com cuidado a coluna de partição das tabelas
●   As stored procedures não devem ser muito longas nem
    acessar recursos externos (web, email, etc).
●   Distribua as conexões dos clientes entre os nós do cluster
●   http://community.voltdb.com
Casos de Uso (potenciais)
●   Jogos on-line
●   Monitoramento do mercado financeiro
●   Reserva de passagens aéreas on-line
●   Propaganda on-line
●   Tracking de pacotes
●   Registro de chamadas telefônicas
●   Real-time Analytics
●   Fonte:http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-
    actually-using-nosql-for.html
Contato

●   http://www.twitter.com/edward_ribeiro
●   http://www.github.com/eribeiro
●   edward [dot] ribeiro [at] gmail [dot] com
Obrigado!
Perguntas?

Mais conteúdo relacionado

PDF
Img
PPS
Asi se trabaja en Google
PPT
Reportaje Fotográfico
PPS
Autoestima Femenina
PPTX
Presentación2
DOCX
PPS
Alégrate
DOC
Apoio ao estudo act1
Img
Asi se trabaja en Google
Reportaje Fotográfico
Autoestima Femenina
Presentación2
Alégrate
Apoio ao estudo act1

Destaque (19)

DOCX
Proposta de investigação 12-11-2010
PDF
A abordagem pedagógica da UE: métodos de educação não formal – exemplos de pr...
DOC
Treball de recuperacio
PDF
PPS
Nuestra querida benemerita
PDF
Certifikat_Mađarska_GANZ
PDF
Water Slide Rentals Miami
PDF
Curitibanos história de nossa gente parte 4
PDF
SIX SIGMA GREEN BELT CERTIFICATE
PPS
Memoria Para Votar
PDF
Locandina mase2013 pdf
PPS
He honor a la memoria
PPT
Prepara-te para as Olimpíadas do Ambiente!
PPT
PresentacióN1
PPS
Garzas Cautivas 2447
PPT
Demofotos
PDF
Lidando com a ansiedade: em busca de um novo pensamento
Proposta de investigação 12-11-2010
A abordagem pedagógica da UE: métodos de educação não formal – exemplos de pr...
Treball de recuperacio
Nuestra querida benemerita
Certifikat_Mađarska_GANZ
Water Slide Rentals Miami
Curitibanos história de nossa gente parte 4
SIX SIGMA GREEN BELT CERTIFICATE
Memoria Para Votar
Locandina mase2013 pdf
He honor a la memoria
Prepara-te para as Olimpíadas do Ambiente!
PresentacióN1
Garzas Cautivas 2447
Demofotos
Lidando com a ansiedade: em busca de um novo pensamento
Anúncio

Semelhante a Voltdb @ NoSQL[br] (20)

PDF
VoltDB talk at QCON-Brasil
PDF
Escalabilidade, as modas, (No)SQL
PDF
PPTX
17h30 aws-databases-summit
PDF
Bancos de dados open source
PPTX
Seminário - NoSQL
PDF
Postgres, a "Metamorfose Ambulante"
PDF
Bancos de Dados na AWS
PDF
MySQL do ISAM ao NoSQL
PPTX
SQL Server FastTrack com SQL Server 2012
PPT
Introducao banco de dados
PDF
NoSQL: Perdas e Ganhos
PDF
Real time replication using Kafka Connect
PDF
11 ac
PDF
Sistemas Armazenamento Larga Escala
PDF
Distributed Databases Overview
PPTX
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
PDF
C-Store 7 years later
PPT
L'esprit de l'escalier
PDF
Material Seminário NoSQL
VoltDB talk at QCON-Brasil
Escalabilidade, as modas, (No)SQL
17h30 aws-databases-summit
Bancos de dados open source
Seminário - NoSQL
Postgres, a "Metamorfose Ambulante"
Bancos de Dados na AWS
MySQL do ISAM ao NoSQL
SQL Server FastTrack com SQL Server 2012
Introducao banco de dados
NoSQL: Perdas e Ganhos
Real time replication using Kafka Connect
11 ac
Sistemas Armazenamento Larga Escala
Distributed Databases Overview
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
C-Store 7 years later
L'esprit de l'escalier
Material Seminário NoSQL
Anúncio

Voltdb @ NoSQL[br]

  • 1. @ NoSQL[br] Edward Ribeiro – edward.ribeiro@gmail.com Http://www.twitter.com/edward_ribeiro Http://www.github.com/eribeiro
  • 2. VoltDB não é um banco de propósito geral
  • 3. O que é VoltDB? ● Open source GNU GPL SQL-92 (subset) ● Relacional ACID ● In-memory Dados e índices residem em memória ● Distribuído Cluster Partição horizontal de dados (sharding) ● OLTP Suporte ao negócio
  • 4. OLTP ● Operações pontuais e conhecidas a priori ● Consultas recuperam somente um sub- conjunto pequeno de dados ● Dados indexados ● Grande volume de atualizações e inserções ● Dados cabem em RAM
  • 5. Ressalvas O VoltDB não vai resolver todos os teus problemas de gerenciamento de dados. O VoltDB não é um banco monolítico!
  • 7. Tópicos Importantes da Arquitetura Execução mono-thread em cada partição Remover a complexidade de estruturas de dados concorrentes e eliminar lockings 100% em memória Aumentar throughput Stored Procedures como mecanismo de Reduzir roundtrip de rede interação entre aplicação cliente e banco Eliminar user stalls Permitir otimizações na execução do SQL Arquitetura Distribuída Particionar os dados, aumentando o throughput, escalabilidade e tolerância a falhas
  • 8. Tabelas: Particionadas ID Titulo Ano 392 Matrix 1999 393 Donnie Darko 2002 408 Blade Runner 1985 412 Terminator 1985 ID Titulo Ano ID Titulo Ano 392 Matrix 1999 ID Titulo Ano 393 Donnie 2002 412 Terminator 1985 408 Blade 1985 Darko Runner
  • 9. Tabelas: Replicadas UF Nome AC Acre DF Distrito Federal SP São Paulo RJ Rio de Janeiro ES Espírito Santo UF Nome AC Acre UF Nome DF Distrito Federal AC Acre SP São Paulo DF Distrito Federal RJ Rio de Janeiro SP São Paulo ES Espírito Santo RJ Rio de Janeiro ES Espírito Santo
  • 10. Partição (site) Stored Procedure Execution Engine Dados Índices ● Execution Engine é single-threaded ● Cada partição equivale a um núcleo de CPU
  • 11. Stored Procedures ● Dois tipos: – Partição única (single partitioning) ● update ano from movie where id = 1289; – Multi-partição (multi-partitioning) ● select count(*) from movie; ● Stored Procedure = Transação
  • 12. Durabilidade ● O “D” em ACID – K-Safety – Snapshot – Command-Logging
  • 13. K-Safety ● Replicação de dados ● k-1: cada partição é replicada em duas máquinas ● k-2: cada partição é replicada em três máquinas ● k-3: cada partição é replicada em quatro máquinas. ● ....
  • 14. Export x Snapshot ● Snapshot – Backup – Durabilidade – Pode ser executado de forma discreta ou contínua (e.g., a cada 250 ms) ● Export – Interface para outros sistemas (SQL ou NoSQL)
  • 17. Versão 2.0 ● Command Logging ● GUI Admin interface ● Suporte JDBC/ODBC ● VoltOne
  • 18. Melhores Práticas ● Maximize o número de transações de partição única ● Escolha com cuidado a coluna de partição das tabelas ● As stored procedures não devem ser muito longas nem acessar recursos externos (web, email, etc). ● Distribua as conexões dos clientes entre os nós do cluster ● http://community.voltdb.com
  • 19. Casos de Uso (potenciais) ● Jogos on-line ● Monitoramento do mercado financeiro ● Reserva de passagens aéreas on-line ● Propaganda on-line ● Tracking de pacotes ● Registro de chamadas telefônicas ● Real-time Analytics ● Fonte:http://highscalability.com/blog/2010/12/6/what-the-heck-are-you- actually-using-nosql-for.html
  • 20. Contato ● http://www.twitter.com/edward_ribeiro ● http://www.github.com/eribeiro ● edward [dot] ribeiro [at] gmail [dot] com