Voltdb @ NoSQL[br]

  • View
    656

  • Download
    7

Embed Size (px)

DESCRIPTION

Apresentao mais recente sobre VoltDB no NoSQL[br], 22/10/2011.

Transcript

  • 1. @ NoSQL[br]Edward Ribeiro edward.ribeiro@gmail.comHttp://www.twitter.com/edward_ribeiroHttp://www.github.com/eribeiro

2. VoltDB no um bancode propsito geral 3. O que VoltDB? Open source GNU GPLSQL-92 (subset) RelacionalACID In-memoryDados e ndices residem em memria Distribudo ClusterPartio horizontal de dados (sharding) OLTPSuporte ao negcio 4. OLTP Operaes pontuais e conhecidas a priori Consultas recuperam somente um sub-conjunto pequeno de dados Dados indexados Grande volume de atualizaes e inseres Dados cabem em RAM 5. RessalvasO VoltDB no vai resolvertodos os teus problemas degerenciamento de dados.O VoltDB no um bancomonoltico! 6. Tpicos Importantes da ArquiteturaExecuo mono-thread em cada partio Remover a complexidade de estruturasde dados concorrentes e eliminar lockings100% em memria Aumentar throughputStored Procedures como mecanismo de Reduzir roundtrip de redeinterao entre aplicao cliente e banco Eliminar user stallsPermitir otimizaes na execuo do SQLArquitetura Distribuda Particionar os dados, aumentando othroughput, escalabilidade e tolerncia afalhas 7. Tabelas: ParticionadasIDTitulo Ano 392 Matrix 1999 393 Donnie Darko 2002 408 Blade Runner 1985 412 Terminator 1985ID Titulo AnoID Titulo Ano 392 Matrix 1999 ID TituloAno 393 Donnie 2002 412 Terminator 1985408 Blade1985DarkoRunner 8. Tabelas: Replicadas UFNome ACAcre DFDistrito Federal SPSo Paulo RJRio de Janeiro ESEsprito SantoUFNomeACAcreUF NomeDFDistrito FederalAC AcreSPSo Paulo DF Distrito FederalRJRio de JaneiroSP So PauloESEsprito SantoRJ Rio de JaneiroES Esprito Santo 9. Partio (site) Stored Procedure ExecutionEngine Dados ndices Execution Engine single-threaded Cada partio equivale a um ncleo de CPU 10. Stored Procedures Dois tipos: Partio nica (single partitioning) update ano from movie where id = 1289; Multi-partio (multi-partitioning) select count(*) from movie; Stored Procedure = Transao 11. Durabilidade O D em ACID K-Safety Snapshot Command-Logging 12. K-Safety Replicao de dados k-1: cada partio replicada em duasmquinas k-2: cada partio replicada em trsmquinas k-3: cada partio replicada em quatromquinas. .... 13. Export x Snapshot Snapshot Backup Durabilidade Pode ser executado de forma discreta oucontnua (e.g., a cada 250 ms) Export Interface para outros sistemas (SQL ou NoSQL) 14. Command Logging 15. Command Logging 16. Verso 2.0 Command Logging GUI Admin interface Suporte JDBC/ODBC VoltOne 17. Melhores Prticas Maximize o nmero de transaes de partio nica Escolha com cuidado a coluna de partio das tabelas As stored procedures no devem ser muito longas nemacessar recursos externos (web, email, etc). Distribua as conexes dos clientes entre os ns do cluster http://community.voltdb.com 18. Casos de Uso (potenciais) Jogos on-line Monitoramento do mercado financeiro Reserva de passagens areas on-line Propaganda on-line Tracking de pacotes Registro de chamadas telefnicas Real-time Analytics Fonte:http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-actually-using-nosql-for.html 19. Contato http://www.twitter.com/edward_ribeiro http://www.github.com/eribeiro edward [dot] ribeiro [at] gmail [dot] com 20. Obrigado!Perguntas?