SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
Artigo Nosql
PPTX
STB Tour - Visão Geral do Windows Azure
PDF
Material Seminário NoSQL
PDF
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
PPTX
STB Tour - Cresça os seus negócios com Windows azure
PDF
Sistemas NoSQL, surgimento, características e exemplos
PPT
Bancos de dados NoSQL - Redis e MongoDB
PPT
Apresentação
Artigo Nosql
STB Tour - Visão Geral do Windows Azure
Material Seminário NoSQL
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
STB Tour - Cresça os seus negócios com Windows azure
Sistemas NoSQL, surgimento, características e exemplos
Bancos de dados NoSQL - Redis e MongoDB
Apresentação

Mais procurados (20)

PDF
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
PPTX
NoSQL, Base VS ACID e Teorema CAP
PPTX
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
PPTX
Seminário - NoSQL
PDF
NoSQL Familia de Colunas Monografia
PDF
Algumas das principais características do NoSQL
PDF
Sistemas Distribuídos - Clusters
PDF
Segurança na Nuvem: Conformidades e Riscos
DOC
Cluster individual
PPTX
Deep Dive sobre Entity Framework
DOCX
Clusters, o que é?
PPT
Banco de Dados - NoSQL
PDF
Sistemas Distribuídos - Grids Computacionais
PDF
PDF
Bancos de dados NoSQL
PDF
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
PDF
NetStor DRaaS for Oracle Public Cloud
PPTX
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PDF
Transição para a nuvem: Desafios e Estratégias
PDF
Introducao aos Bancos de Dados Não-relacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL, Base VS ACID e Teorema CAP
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Seminário - NoSQL
NoSQL Familia de Colunas Monografia
Algumas das principais características do NoSQL
Sistemas Distribuídos - Clusters
Segurança na Nuvem: Conformidades e Riscos
Cluster individual
Deep Dive sobre Entity Framework
Clusters, o que é?
Banco de Dados - NoSQL
Sistemas Distribuídos - Grids Computacionais
Bancos de dados NoSQL
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
NetStor DRaaS for Oracle Public Cloud
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
Transição para a nuvem: Desafios e Estratégias
Introducao aos Bancos de Dados Não-relacionais
Anúncio

Destaque (6)

PPTX
Ad server cassandra
PPT
Cassandra e Hadoop - Adilson Carvalho - eBehavior
PDF
MongoDB - Wagner Bonfiglio - Navegg
PPTX
Apache Cassandra Data Modeling with Travis Price
PPTX
Cassandra Data Modeling - Practical Considerations @ Netflix
PDF
Advanced data modeling with apache cassandra
Ad server cassandra
Cassandra e Hadoop - Adilson Carvalho - eBehavior
MongoDB - Wagner Bonfiglio - Navegg
Apache Cassandra Data Modeling with Travis Price
Cassandra Data Modeling - Practical Considerations @ Netflix
Advanced data modeling with apache cassandra
Anúncio

Semelhante a Vladimir infomobileonair (20)

PDF
Soa - Arquitetura orientada a serviços
PDF
Proposta lucas simon-rodrigues-magalhaes
PDF
Soa Woa Rest
PDF
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
PDF
Construindo um sistema distribuido usando rest
ODP
Pense Aberto, Pense Linux
ODT
Linguagens Dinamicas vs Tradicionais / Potencialidades e riscos de EAI/ESB, S...
PDF
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
PPTX
Seminário de Andamento de Doutorado
PDF
Vantagens e desvantagens de uma arquitetura microservices
PPT
Middleware Reflexivo
PPTX
Construindo Aplicações Semânticas com Desenvolvimento Ágil: Plataforma JOINT
PPTX
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
PDF
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
PPTX
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
PPT
Soa – Woa Rest Arquiteturas
PDF
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
PDF
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
PDF
Considerações técnicas para atlas temáticos digitais e interfaces para dados ...
PDF
Atlas Digitais e interfaces para dados abertos
Soa - Arquitetura orientada a serviços
Proposta lucas simon-rodrigues-magalhaes
Soa Woa Rest
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Construindo um sistema distribuido usando rest
Pense Aberto, Pense Linux
Linguagens Dinamicas vs Tradicionais / Potencialidades e riscos de EAI/ESB, S...
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
Seminário de Andamento de Doutorado
Vantagens e desvantagens de uma arquitetura microservices
Middleware Reflexivo
Construindo Aplicações Semânticas com Desenvolvimento Ágil: Plataforma JOINT
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Soa – Woa Rest Arquiteturas
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Considerações técnicas para atlas temáticos digitais e interfaces para dados ...
Atlas Digitais e interfaces para dados abertos

Último (11)

PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Utilizando code blockes por andre backes
PPTX
Eng. Software - pontos essenciais para o início
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Mecânico de Manutenção de Equipamentos.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Arquitetura de computadores - Memórias Secundárias
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Utilizando code blockes por andre backes
Eng. Software - pontos essenciais para o início
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf

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