| (5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 18: | Linha 18: | ||
<br> | <br> | ||
* | * Cassandra é ... | ||
** Cassandra é incrementalmente e | <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 | ** 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. | ||
* | * Analítico sem ETL: | ||
** Trabalhos Hadoop podem ser executados diretamente contra seu cluster | ** 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 | ** 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 | == Pontos relevantes == | ||
<br> | <br> | ||
| Linha 76: | Linha 79: | ||
<br> | <br> | ||
Cassandra 1.2 | * 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> | |||
= Wiki = | |||
<br> | |||
* 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

