@ NoSQL[br]Edward Ribeiro – edward.ribeiro@gmail.comHttp://www.twitter.com/edward_ribeiroHttp://www.github.com/eribeiro
VoltDB não é um bancode propósito geral
O que é VoltDB?●   Open source           GNU GPL                          SQL-92 (subset)●   Relacional                   ...
OLTP●   Operações pontuais e conhecidas a priori●   Consultas recuperam somente um sub-    conjunto pequeno de dados●   Da...
RessalvasO VoltDB não vai resolvertodos os teus problemas degerenciamento de dados.O VoltDB não é um bancomonolítico!
Tópicos Importantes da ArquiteturaExecução mono-thread em cada partição       Remover a complexidade de estruturas        ...
Tabelas: Particionadas                      ID          Titulo         Ano                             392 Matrix         ...
Tabelas: Replicadas     UF      Nome     AC      Acre     DF      Distrito Federal     SP      São Paulo     RJ      Rio d...
Partição (site)                               Stored Procedure                   Execution                    Engine      ...
Stored Procedures●   Dois tipos:        –   Partição única (single partitioning)                ●   update ano from movie ...
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...
Export x Snapshot●   Snapshot       –   Backup       –   Durabilidade       –   Pode ser executado de forma discreta ou   ...
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 tab...
Casos de Uso (potenciais)●   Jogos on-line●   Monitoramento do mercado financeiro●   Reserva de passagens aéreas on-line● ...
Contato●   http://www.twitter.com/edward_ribeiro●   http://www.github.com/eribeiro●   edward [dot] ribeiro [at] gmail [dot...
Obrigado!Perguntas?
Voltdb @ NoSQL[br]
Upcoming SlideShare
Loading in …5
×

Voltdb @ NoSQL[br]

898 views
842 views

Published on

Apresentação mais recente sobre VoltDB no NoSQL[br], 22/10/2011.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
898
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Voltdb @ NoSQL[br]

  1. 1. @ NoSQL[br]Edward Ribeiro – edward.ribeiro@gmail.comHttp://www.twitter.com/edward_ribeiroHttp://www.github.com/eribeiro
  2. 2. VoltDB não é um bancode propósito geral
  3. 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. 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. 5. RessalvasO VoltDB não vai resolvertodos os teus problemas degerenciamento de dados.O VoltDB não é um bancomonolítico!
  6. 6. Tópicos Importantes da ArquiteturaExecução mono-thread em cada partição Remover a complexidade de estruturas de dados concorrentes e eliminar lockings100% em memória Aumentar throughputStored Procedures como mecanismo de Reduzir roundtrip de redeinteração entre aplicação cliente e banco Eliminar user stalls Permitir otimizações na execução do SQLArquitetura Distribuída Particionar os dados, aumentando o throughput, escalabilidade e tolerância a falhas
  7. 7. Tabelas: Particionadas ID Titulo Ano 392 Matrix 1999 393 Donnie Darko 2002 408 Blade Runner 1985 412 Terminator 1985ID Titulo Ano ID Titulo Ano 392 Matrix 1999 ID Titulo Ano 393 Donnie 2002 412 Terminator 1985 408 Blade 1985 Darko Runner
  8. 8. Tabelas: Replicadas UF Nome AC Acre DF Distrito Federal SP São Paulo RJ Rio de Janeiro ES Espírito SantoUF NomeAC Acre UF NomeDF Distrito Federal AC AcreSP São Paulo DF Distrito FederalRJ Rio de Janeiro SP São PauloES Espírito Santo RJ Rio de Janeiro ES Espírito Santo
  9. 9. Partição (site) Stored Procedure Execution Engine Dados Índices● Execution Engine é single-threaded● Cada partição equivale a um núcleo de CPU
  10. 10. 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
  11. 11. Durabilidade● O “D” em ACID – K-Safety – Snapshot – Command-Logging
  12. 12. 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.● ....
  13. 13. 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)
  14. 14. Command Logging
  15. 15. Command Logging
  16. 16. Versão 2.0● Command Logging● GUI Admin interface● Suporte JDBC/ODBC● VoltOne
  17. 17. 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
  18. 18. 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
  19. 19. Contato● http://www.twitter.com/edward_ribeiro● http://www.github.com/eribeiro● edward [dot] ribeiro [at] gmail [dot] com
  20. 20. Obrigado!Perguntas?

×