Loading AI tools
Da Wikipédia, a enciclopédia livre
Apache Cassandra é um projeto de sistema de banco de dados distribuído altamente escalável de segunda geração, que reúne a arquitetura do DynamoDB, da Amazon Web Services e modelo de dados baseado no BigTable, do Google.
Desenvolvedor | Apache Software Foundation |
Plataforma | Multiplataforma |
Versão estável | 3.11.4 (11 de fevereiro de 2019 | )
Idioma(s) | Inglês |
Escrito em | Java |
Gênero(s) | Armazenamento chave/valor |
Licença | Apache License 2.0 |
Página oficial | cassandra |
O Cassandra inicialmente foi criado pelo Facebook, que abriu seu código-fonte para a comunidade em 2008. Agora é mantido por desenvolvedores da fundação Apache e colaboradores de muitas empresas.
Avinash Lakshman, um dos autores do DynamoDB da Amazon, e Prashant Malik desenvolveram inicialmente o Cassandra no Facebook para gerenciar o recurso de pesquisa da caixa de entrada do Facebook. O Facebook lançou o Cassandra como um projeto de código aberto no código do Google em julho de 2008. Em março de 2009, tornou-se um projeto da Incubadora Apache. Em 17 de fevereiro de 2010, ele se formou em um projeto de nível superior.
Os desenvolvedores do Facebook nomearam seu banco de dados em homenagem ao profeta mitológico Trojan Cassandra, com alusões clássicas à maldição de um oráculo.
Até o Cassandra 1.0, o Cassandra não era consistente em nível de linha, o que significa que inserções e atualizações na tabela que afetam a mesma linha que são processadas aproximadamente ao mesmo tempo podem afetar as colunas não chave de maneiras inconsistentes. Uma atualização pode afetar uma coluna enquanto outra afeta a outra, resultando em conjuntos de valores na linha que nunca foram especificados ou pretendidos. O Cassandra 1.1 resolveu esse problema introduzindo o isolamento no nível da linha.
Sabe-se que as lápides causam degradação do desempenho até níveis de conseqüências graves.
Cassandra é um amplo armazenamento de colunas e, como tal, essencialmente um híbrido entre um valor-chave e um sistema de gerenciamento de banco de dados tabular. Seu modelo de dados é um armazenamento de linha particionado com consistência ajustável. Linhas são organizadas em tabelas; o primeiro componente da chave primária de uma tabela é a chave de partição; dentro de uma partição, as linhas são agrupadas pelas colunas restantes da chave. Outras colunas podem ser indexadas separadamente da chave primária.
As tabelas podem ser criadas, descartadas e alteradas em tempo de execução sem bloquear atualizações e consultas.
Cassandra não pode fazer junções ou subconsultas. Em vez disso, Cassandra enfatiza a desnormalização por meio de recursos como coleções.
Uma família de colunas (chamada "tabela" desde o CQL 3) se assemelha a uma tabela em um RDBMS (Sistema de Gerenciamento de Banco de Dados Relacional). As famílias de colunas contêm linhas e colunas. Cada linha é identificada exclusivamente por uma chave de linha. Cada linha possui várias colunas, cada uma com um nome, valor e um carimbo de data/hora. Ao contrário de uma tabela em um RDBMS, linhas diferentes na mesma família de colunas não precisam compartilhar o mesmo conjunto de colunas, e uma coluna pode ser adicionada a uma ou várias linhas a qualquer momento.
Cada chave no Cassandra corresponde a um valor que é um objeto. Cada chave possui valores como colunas e as colunas são agrupadas em conjuntos chamados famílias de colunas. Assim, cada chave identifica uma linha de um número variável de elementos. Essas famílias de colunas podem ser consideradas como tabelas. Uma tabela no Cassandra é um mapa multidimensional distribuído indexado por uma chave. Além disso, os aplicativos podem especificar a ordem de classificação das colunas em uma família Super Coluna ou Coluna Simples.
De acordo com a DB-Motores do ranking, Cassandra é a mais popular loja de coluna larga, e em setembro 2014 tornou-se a 9ª banco de dados mais popular.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.