SlideShare una empresa de Scribd logo
1 de 12
OnAir usando Cassandra




               Vladimir Moreira Rocha
Roteiro

    Contexto do OnAir

    Contexto técnico

    Problema arquitetural

    Solução implantada

    Resultados obtidos

    Trabalhos em andamento

    Conclusões
Contexto

    OnAir é um sistema de busca de informações
    multimídia, como o Youtube.

    A busca é realizada por palavras-chaves e pelo
    conteúdo falado, acessando diretamente o trecho.

    Utiliza conceitos da Web Semântica que permitem
    expandir uma consulta.

    Baseado na tese de mestrado de Christian Paz
    Trillo do IME - USP.

    Criado como produto pela empresa Infomobile
    através de programas de subvenção para inovação
    tecnológica.
Contexto técnico

        Processamento do vídeo
    −     Criação das estruturas de recuperação - índices
    −     Criação das estruturas para Web Semântica


        Expansão da consulta
    −     Utilização das estruturas de Web Semântica


        Busca de resultados
    −     Cálculo de relevância para os resultados
Problema arquitetural

    As estruturas de recuperação estavam armazenadas
    em um banco de dados. Se esse servidor falhasse, o
    sistema todo ficava indisponível.

    As estruturas de Web Semântica são coleções
    gigantes de informações. Armazenadas em memória,
    perdia-se a escalabilidade. Armazenadas em um banco
    de dados remoto perdia-se o desempenho do sistema.

    A relevância de um vídeo é calculado utilizando
    fórmulas e algumas estruturas intermediárias. O
    armazenamento dessa informação em memória,
    causava a perda de escalabilidade do sistema para
    centenas de usuários.
Solução implantada

    Requerimentos:

    −   Escalável para milhares de usuários.
    −   Curto tempo de resposta.
    −   Evitar pontos únicos de falha.
    −   De fácil administração caso seja um ambiente
        distribuído.
    −   Que possibilite acessos a diferentes porções de
        dados de forma distribuída sem prejudicar o
        desempenho do sistema.
Solução implantada

O projeto Cassandra (cassandra.apache.org) provê todas
  as funcionalidades necessárias para atender os
  requerimentos de escalabilidade, desempenho e alta
  disponibilidade, além de fornecer uma fácil
  administração da nuvem criada pelos computadores.

Cassandra trabalha com o mapeamento “chave → valor”
 parecida a uma estrutura de hash distribuída. Nessa
 estrutura, a recuperação de um valor acontece em
 tempo quase constante, independente da quantidade
 de chaves armazenadas.
Solução implantada
No OnAir, o Cassandra foi utilizado especificamente para:

    Armazenar e procurar na nuvem os índices de uma
    determinada palavra. Esse índice era assim inserido
    na estrutura de recuperação (on demand).

    Armazenar e procurar na nuvem os relacionamentos
    semânticos de uma palavra.

    Armazenar e procurar na nuvem valores de fórmulas
    intermediárias, que já foram realizadas, para calcular a
    relevância de um vídeo.
Resultados
Os resultados obtidos da utilização do Cassandra,
 quando sujeito a estresse de mil clientes, permitiram:

    Melhorias no tempo de resposta da consulta (de 3
    minutos a 2 segundos).

    Melhorias no tempo de resposta da expansão da
    consulta (de 1 minuto a 1 segundo).

    Melhorias na utilização de recursos do servidor (foram
    retiradas da memória estruturas e valores).

    Melhoria na tolerância a falhas: quando algumas
    máquinas da nuvem são desconectadas, a
    disponibilidade das informações se mantém.
Trabalhos em Andamento

    Cassandra com suporte à transações.

    Cassandra com suporte à segurança.

    Criação de espaços de busca dinâmicos.
Conclusões

    Cassandra ajudou a melhorar o desempenho, a
    escalabilidade e tolerância a falhas do sistema.

    Evitou o uso de um servidor de banco de dados,
    evitando pontos único de falha e simplificando a
    implementação do sistema.

    Assim como outras ferramentas noSQL, existe o
    problema do mapeamento OO (objeto → valor).

    Para questões relacionadas à transações
    distribuídas, Cassandra não é uma opção.
OnAir usando Cassandra




            Vladimir Moreira Rocha
           vmoreira@infomobile.com.br

Más contenido relacionado

La actualidad más candente

NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureCloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureLuciano Condé
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Segurança na Nuvem: Conformidades e Riscos
Segurança na Nuvem: Conformidades e RiscosSegurança na Nuvem: Conformidades e Riscos
Segurança na Nuvem: Conformidades e RiscosRodrigo Felipe Betussi
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGLuiz Thiago
 
NetStor DRaaS for Oracle Public Cloud
NetStor DRaaS for Oracle Public CloudNetStor DRaaS for Oracle Public Cloud
NetStor DRaaS for Oracle Public CloudWeligton Pinto
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilAlexandre Araujo
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasDenodo
 
Introducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisIntroducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisMauricio De Diana
 

La actualidad más candente (20)

NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureCloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Segurança na Nuvem: Conformidades e Riscos
Segurança na Nuvem: Conformidades e RiscosSegurança na Nuvem: Conformidades e Riscos
Segurança na Nuvem: Conformidades e Riscos
 
Cluster individual
Cluster   individualCluster   individual
Cluster individual
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
NoSQL
NoSQLNoSQL
NoSQL
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
 
NetStor DRaaS for Oracle Public Cloud
NetStor DRaaS for Oracle Public CloudNetStor DRaaS for Oracle Public Cloud
NetStor DRaaS for Oracle Public Cloud
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e Estratégias
 
Introducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisIntroducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionais
 

Destacado

Ad server cassandra
Ad server cassandraAd server cassandra
Ad server cassandradist_bp
 
Cassandra e Hadoop - Adilson Carvalho - eBehavior
Cassandra e Hadoop - Adilson Carvalho - eBehaviorCassandra e Hadoop - Adilson Carvalho - eBehavior
Cassandra e Hadoop - Adilson Carvalho - eBehaviorFelipe Guimarães
 
MongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggMongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggFelipe Guimarães
 
Apache Cassandra Data Modeling with Travis Price
Apache Cassandra Data Modeling with Travis PriceApache Cassandra Data Modeling with Travis Price
Apache Cassandra Data Modeling with Travis PriceDataStax Academy
 
Cassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ NetflixCassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ Netflixnkorla1share
 
Advanced data modeling with apache cassandra
Advanced data modeling with apache cassandraAdvanced data modeling with apache cassandra
Advanced data modeling with apache cassandraPatrick McFadin
 

Destacado (6)

Ad server cassandra
Ad server cassandraAd server cassandra
Ad server cassandra
 
Cassandra e Hadoop - Adilson Carvalho - eBehavior
Cassandra e Hadoop - Adilson Carvalho - eBehaviorCassandra e Hadoop - Adilson Carvalho - eBehavior
Cassandra e Hadoop - Adilson Carvalho - eBehavior
 
MongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - NaveggMongoDB - Wagner Bonfiglio - Navegg
MongoDB - Wagner Bonfiglio - Navegg
 
Apache Cassandra Data Modeling with Travis Price
Apache Cassandra Data Modeling with Travis PriceApache Cassandra Data Modeling with Travis Price
Apache Cassandra Data Modeling with Travis Price
 
Cassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ NetflixCassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ Netflix
 
Advanced data modeling with apache cassandra
Advanced data modeling with apache cassandraAdvanced data modeling with apache cassandra
Advanced data modeling with apache cassandra
 

Similar a Vladimir infomobileonair

Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsHoracio Ibrahim
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legadoClóvis Wichoski
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL Brasil
 
Allen apresentação365 & azure
Allen apresentação365 & azureAllen apresentação365 & azure
Allen apresentação365 & azureAllen Informática
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud ComputingFrederico Madeira
 
Cloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemCloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemFlávio Lisboa
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLAirton Lastori
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMarcelo Mrack
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsJorge Walendowsky
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL Brasil
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Juliano de Oliveira Falcao
 
Work Cloud - Descobrindo o Microsoft Azure
Work Cloud - Descobrindo o Microsoft AzureWork Cloud - Descobrindo o Microsoft Azure
Work Cloud - Descobrindo o Microsoft AzureLucas Chies
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft AzureRenato Grau
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Visão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudVisão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudAmazon Web Services
 

Similar a Vladimir infomobileonair (20)

Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legado
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 
Allen apresentação365 & azure
Allen apresentação365 & azureAllen apresentação365 & azure
Allen apresentação365 & azure
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
Cloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemCloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvem
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.js
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?
 
Work Cloud - Descobrindo o Microsoft Azure
Work Cloud - Descobrindo o Microsoft AzureWork Cloud - Descobrindo o Microsoft Azure
Work Cloud - Descobrindo o Microsoft Azure
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft Azure
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Visão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudVisão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloud
 

Vladimir infomobileonair

  • 1. OnAir usando Cassandra Vladimir Moreira Rocha
  • 2. Roteiro  Contexto do OnAir  Contexto técnico  Problema arquitetural  Solução implantada  Resultados obtidos  Trabalhos em andamento  Conclusões
  • 3. Contexto  OnAir é um sistema de busca de informações multimídia, como o Youtube.  A busca é realizada por palavras-chaves e pelo conteúdo falado, acessando diretamente o trecho.  Utiliza conceitos da Web Semântica que permitem expandir uma consulta.  Baseado na tese de mestrado de Christian Paz Trillo do IME - USP.  Criado como produto pela empresa Infomobile através de programas de subvenção para inovação tecnológica.
  • 4. Contexto técnico  Processamento do vídeo − Criação das estruturas de recuperação - índices − Criação das estruturas para Web Semântica  Expansão da consulta − Utilização das estruturas de Web Semântica  Busca de resultados − Cálculo de relevância para os resultados
  • 5. Problema arquitetural  As estruturas de recuperação estavam armazenadas em um banco de dados. Se esse servidor falhasse, o sistema todo ficava indisponível.  As estruturas de Web Semântica são coleções gigantes de informações. Armazenadas em memória, perdia-se a escalabilidade. Armazenadas em um banco de dados remoto perdia-se o desempenho do sistema.  A relevância de um vídeo é calculado utilizando fórmulas e algumas estruturas intermediárias. O armazenamento dessa informação em memória, causava a perda de escalabilidade do sistema para centenas de usuários.
  • 6. Solução implantada  Requerimentos: − Escalável para milhares de usuários. − Curto tempo de resposta. − Evitar pontos únicos de falha. − De fácil administração caso seja um ambiente distribuído. − Que possibilite acessos a diferentes porções de dados de forma distribuída sem prejudicar o desempenho do sistema.
  • 7. Solução implantada O projeto Cassandra (cassandra.apache.org) provê todas as funcionalidades necessárias para atender os requerimentos de escalabilidade, desempenho e alta disponibilidade, além de fornecer uma fácil administração da nuvem criada pelos computadores. Cassandra trabalha com o mapeamento “chave → valor” parecida a uma estrutura de hash distribuída. Nessa estrutura, a recuperação de um valor acontece em tempo quase constante, independente da quantidade de chaves armazenadas.
  • 8. Solução implantada No OnAir, o Cassandra foi utilizado especificamente para:  Armazenar e procurar na nuvem os índices de uma determinada palavra. Esse índice era assim inserido na estrutura de recuperação (on demand).  Armazenar e procurar na nuvem os relacionamentos semânticos de uma palavra.  Armazenar e procurar na nuvem valores de fórmulas intermediárias, que já foram realizadas, para calcular a relevância de um vídeo.
  • 9. Resultados Os resultados obtidos da utilização do Cassandra, quando sujeito a estresse de mil clientes, permitiram:  Melhorias no tempo de resposta da consulta (de 3 minutos a 2 segundos).  Melhorias no tempo de resposta da expansão da consulta (de 1 minuto a 1 segundo).  Melhorias na utilização de recursos do servidor (foram retiradas da memória estruturas e valores).  Melhoria na tolerância a falhas: quando algumas máquinas da nuvem são desconectadas, a disponibilidade das informações se mantém.
  • 10. Trabalhos em Andamento  Cassandra com suporte à transações.  Cassandra com suporte à segurança.  Criação de espaços de busca dinâmicos.
  • 11. Conclusões  Cassandra ajudou a melhorar o desempenho, a escalabilidade e tolerância a falhas do sistema.  Evitou o uso de um servidor de banco de dados, evitando pontos único de falha e simplificando a implementação do sistema.  Assim como outras ferramentas noSQL, existe o problema do mapeamento OO (objeto → valor).  Para questões relacionadas à transações distribuídas, Cassandra não é uma opção.
  • 12. OnAir usando Cassandra Vladimir Moreira Rocha vmoreira@infomobile.com.br