(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 18: Linha 18:
<br>
<br>


* Escalavel
* Cassandra é ...
** Cassandra é incrementalmente e linearmnete escalável
<br>
 
* Escalável:
** Cassandra é incrementalmente e linearmente escalável
** Capacidade pode ser adicionada sem downtime
** Capacidade pode ser adicionada sem downtime
** O modelo de dados sem esquema aumenta a agilidade no desenvolvimento, aliviando a necessidade de atualizaçoes
** O modelo de dados sem esquema aumenta a agilidade no desenvolvimento, aliviando a necessidade de atualizações
* Confiável
* Confiável:
** A falha de múltiplos nós pode ser tolerada
** A falha de múltiplos nós pode ser tolerada
** Nós com falha podem ser trocados sem downtime
** Nós com falha podem ser trocados sem downtime
Linha 28: Linha 31:
** Falhas de nós dentro do cluster sao monitoradas com um Accrual Style Failure Detector
** Falhas de nós dentro do cluster sao monitoradas com um Accrual Style Failure Detector
** Como todos os nós sao simétricos e já que nao possuem nós master, nao existe nenhum SPOF
** Como todos os nós sao simétricos e já que nao possuem nós master, nao existe nenhum SPOF
* Durável
* Durável:
** Durabilidade é a propriedade que grava os dados, uma vez completados, irao sobreviver permanentemente mesmo face a uma falha de hardware
** Durabilidade é a propriedade que grava os dados, uma vez completados, irao sobreviver permanentemente mesmo face a uma falha de hardware
** Cassandra fornece durabilidade configurável pela adiçao de registros para um commitlog primeiro (que obviamente mantem a necessidade para pesquisa em disco já que esta é uma operaçao sequencial), usando entao a chamada do sistema fsync para nivelar os dados para o disco.
** Cassandra fornece durabilidade configurável pela adiçao de registros para um commitlog primeiro (que obviamente mantem a necessidade para pesquisa em disco já que esta é uma operaçao sequencial), usando entao a chamada do sistema fsync para nivelar os dados para o disco.
* Analises sem ETL¶
* Analítico sem ETL:
** Trabalhos Hadoop podem ser executados diretamente contra seu cluster
** Trabalhos Hadoop podem ser executados diretamente contra seu cluster
* Desempenho
* Tunável:
** Consistencia é tunável por operaçao, permitindo níveis de consistencia para ser nbegociado para resposta rápida quando necessário
** Consistencia é tunável por operaçao, permitindo níveis de consistencia para ser nbegociado para resposta rápida quando necessário
** Náo existem leituras ou pesquisas no caminho de gravaçao
** Náo existem leituras ou pesquisas no caminho de gravaçao
Linha 39: Linha 42:
<br>
<br>


== Pontos relevates ==
== Pontos relevantes ==
<br>
<br>


Linha 76: Linha 79:
<br>
<br>


Cassandra 1.2 introduced many improvements, which are described briefly in this section.
* Cassandra 1.2 introduziu muitas melhorias, descritas abaixo:
** Suporte a implementação de CQL3-based envolvendo autenticação e autorização para uso com aspectos de segurança.
** Autenticação interna baseada em controles de contas e senhas
** Gerenciamento de permissões de objetos usando autorização interna para garantir ou revogar direitos para a acessar dados do Cassandra por meio do paradigma relacional
** Encriptação Cliente-para-nó que protege os dados em "voo" das máquinas clientes para o cluster do banco de dados
**
*    Nós Virtuais
** Permitem que cada nó gerencie um grande número de pequenos intervalos distribuidos através do anel
* Particionador:
** Fornece hashing e desempenho melhorado
* Tempo de inicialização mais rápido
** Provê inicialização e boots at[e 80% rápidos para cada nó dentro do cluster. Atua nos índices primários.
* Melhoria na manipulação das falhas de disco
** Nas versões anteriores, um único disco indisponível tinha a possibilidade de gerar um nó não responsivo (tecnicamente ativo e parte do cluster). Utilização do RAID 10 que usava 50% mais espaço em disco. Novo arranjo de disco resolveu este problema e eliminou a necessidade do RAID.
* Suporte para alterações de esquemas concorrentes
** Não suportava criação e exclusão de tabelas concorrentemente (permanentes ou temporárias).
<br>


    Cassandra 1.2.2 and later support CQL3-based implementations of IAuthenticator and IAuthorizer for use with these security features, which were introduced a little earlier:
= Wiki =
        Internal authentication based on Cassandra-controlled login accounts and passwords.
<br>
        Object permission management using internal authorization to grant or revoke permissions for accessing Cassandra data through the familiar relational database GRANT/REVOKE paradigm.
        Client-to-node-encryption that protects data in flight from client machines to a database cluster was also released in Cassandra 1.2.
    Virtual nodes
 
    Prior to this release, Cassandra assigned one token per node, and each node owned exactly one contiguous range within the cluster. Virtual nodes (vnodes) change this paradigm from one token and range per node to many tokens per node. This allows each node to own a large number of small ranges distributed throughout the ring, which has a number of important advantages.
    The shuffle tool upgrades a cluster to use vnodes.
    Murmur3Partitioner
 
    This new default partitioner provides faster hashing and improved performance.
    Faster startup times
 
    The release provides faster startup/bootup times for each node in a cluster, with internal tests performed at DataStax showing up to 80% less time needed to start primary indexes. The startup reductions were realized through more efficient sampling and loading of indexes into memory caches. The index load time is improved dramatically by eliminating the need to scan the partition index.
    Improved handling of disk failures
 
    In previous versions, a single unavailable disk had the potential to make the whole node unresponsive (while still technically alive and part of the cluster). Memtables were not flushed and the node eventually ran out of memory. If the disk contained the commitlog, data could no longer be appended to the commitlog. Thus, the recommended configuration was to deploy Cassandra on top of RAID 10, but this resulted in using 50% more disk space. New disk management solves these problems and eliminates the need for RAID as described in the hardware recommendations.
    Multiple independent leveled compactions
 
    Increases the performance of leveled compaction. Cassandra's leveled compaction strategy creates data files of a fixed, relatively small size that are grouped into levels.
    Configurable and more frequent tombstone eviction
 
    Tombstones are evicted more often and automatically in Cassandra 1.2 and are easier to manage. Configuring tombstone eviction instead of manually performing compaction can save users time, effort, and disk space.
    Support for concurrent schema changes


    Support for concurrent schema changes: Cassandra 1.1 introduced modifying schema objects in a concurrent fashion across a cluster, but did not support programmatically and concurrently creating and dropping tables (permanent or temporary). Version 1.2 includes this support, so multiple users can add/drop tables, including temporary tables, in this way.
* http://wiki.apache.org/cassandra/

Edição atual tal como às 16h38min de 12 de setembro de 2013

Cassandra



Historia



  • Cassandra foi criado para resolver o problema de pesquisa inbox no Facebook
  • Combinou ideias do Dynamo da Amazon com o modelo de dados BigTable do Google
  • Em 2008, o Facebook disponibilizou como open-source e tornou-se um projeto incubado da Apache
  • Recentemente, em 2010, o Cassandra tornou-se um projeto Top Level da Apache.


Forcas


  • Cassandra é ...


  • Escalável:
    • Cassandra é incrementalmente e linearmente escalável
    • Capacidade pode ser adicionada sem downtime
    • O modelo de dados sem esquema aumenta a agilidade no desenvolvimento, aliviando a necessidade de atualizações
  • Confiável:
    • A falha de múltiplos nós pode ser tolerada
    • Nós com falha podem ser trocados sem downtime
    • Replicaçao de dados através de data centers é bem suportado
    • Falhas de nós dentro do cluster sao monitoradas com um Accrual Style Failure Detector
    • Como todos os nós sao simétricos e já que nao possuem nós master, nao existe nenhum SPOF
  • Durável:
    • Durabilidade é a propriedade que grava os dados, uma vez completados, irao sobreviver permanentemente mesmo face a uma falha de hardware
    • Cassandra fornece durabilidade configurável pela adiçao de registros para um commitlog primeiro (que obviamente mantem a necessidade para pesquisa em disco já que esta é uma operaçao sequencial), usando entao a chamada do sistema fsync para nivelar os dados para o disco.
  • Analítico sem ETL:
    • Trabalhos Hadoop podem ser executados diretamente contra seu cluster
  • Tunável:
    • Consistencia é tunável por operaçao, permitindo níveis de consistencia para ser nbegociado para resposta rápida quando necessário
    • Náo existem leituras ou pesquisas no caminho de gravaçao
    • Opçoes de tuning de múltiplos cache permitem otimizaçao relativa a cargas de trabalho e modelos de dados específicos.


Pontos relevantes


  • Massivamente escalável
  • Armazenamento particionado em linhas
  • Arquitetura sem mestre
  • Desempenho escalarmente linear
  • Sem SPOF
  • Suporte de gravaçao-leitura através de múltiplos datacenters e zonas disponiveis em nuvens
  • Métodos de acesso via API e queries
  • CQL e Thrift
  • Replicaçao
  • Ponto a ponto
  • Escrito em Java
  • Consistencia: consistencia tunavel
  • Compressao de dados interna
  • Suporte a MapReduce
  • Indices primários e secundários
  • Aspectos de segurança


MapReduce

  • Wikipedia




  • MapReduce é um modelo de programação desenhado para processar grandes volumes de dados em paralelo, dividindo o trabalho em um conjunto de tarefas independentes.
  • Programas MapReduce são escritas em um determinado estilo influenciado por construções de programação funcionais, especificamente expressões idiomáticas para listas de processamento de dados
  • Este módulo explica a natureza do presente modelo de programação e como ela pode ser usada para escrever programas que são executados no ambiente Hadoop.


Ultimas funcionalidades


  • Cassandra 1.2 introduziu muitas melhorias, descritas abaixo:
    • Suporte a implementação de CQL3-based envolvendo autenticação e autorização para uso com aspectos de segurança.
    • Autenticação interna baseada em controles de contas e senhas
    • Gerenciamento de permissões de objetos usando autorização interna para garantir ou revogar direitos para a acessar dados do Cassandra por meio do paradigma relacional
    • Encriptação Cliente-para-nó que protege os dados em "voo" das máquinas clientes para o cluster do banco de dados
  • Nós Virtuais
    • Permitem que cada nó gerencie um grande número de pequenos intervalos distribuidos através do anel
  • Particionador:
    • Fornece hashing e desempenho melhorado
  • Tempo de inicialização mais rápido
    • Provê inicialização e boots at[e 80% rápidos para cada nó dentro do cluster. Atua nos índices primários.
  • Melhoria na manipulação das falhas de disco
    • Nas versões anteriores, um único disco indisponível tinha a possibilidade de gerar um nó não responsivo (tecnicamente ativo e parte do cluster). Utilização do RAID 10 que usava 50% mais espaço em disco. Novo arranjo de disco resolveu este problema e eliminou a necessidade do RAID.
  • Suporte para alterações de esquemas concorrentes
    • Não suportava criação e exclusão de tabelas concorrentemente (permanentes ou temporárias).


Wiki