Armazene centenas de terabytes de dados JSON e faça consultas em milissegundos com o Couchbase 7.1. Nosso novo mecanismo de armazenamento na versão 7.1, Couchbase Magma, torna o Couchbase o banco de dados mais econômico e de melhor desempenho, reduzindo o TCO.
Com o mecanismo de armazenamento Magma, o Couchbase 7.1 se torna o banco de dados ideal para seus casos de uso intensivo de dados. Alguns exemplos desses casos de uso incluem aplicativos de gravação intensa, como IoT e registro; aplicativos de leitura intensa com grandes conjuntos de dados, como portais de clientes; bem como cargas de trabalho mistas com grandes conjuntos de dados, como metadados e armazenamentos de conteúdo (armazenamentos de fotos/vídeos) e perfis de usuários.
Vamos nos aprofundar nos benefícios do Magma e em como você pode começar a usá-lo.
Redução do TCO do Magma
O design do Magma permite que ele funcione com quantidades mínimas de memória - ele é operacionalmente estável em uma proporção de memória para dados tão baixa quanto 1%. Por exemplo, se você quiser armazenar 1 TB de dados em um nó, precisará de apenas 10 GB de memória para executar o Magma se quiser acessar tudo principalmente do disco. Se você quiser velocidade de acesso na memória (abaixo de milissegundos) para seu conjunto de trabalho, provavelmente desejará usar uma proporção de memória para dados que represente seu conjunto de trabalho.
O Magma também pode armazenar quantidades maiores de dados por nó - testamos e certificamos até 10 TB de dados por nó (isso inclui dados primários e de réplica). Portanto, para armazenar 100 TB de dados, são necessários apenas 10 servidores em um cluster do Couchbase.
Se você conhece o mecanismo de armazenamento existente do Couchbase chamado Couchstore, sabe que o Couchstore exige uma proporção mínima de 10% de memória para dados e recomenda não mais do que 2-3 TB de dados por nó.
A redução na proporção de memória para dados de 10% para 1% e o aumento na densidade de nós para 10 TB de dados se traduzem em uma redução de 10 vezes nos servidores para a maioria dos cenários e uma redução correspondente de 10 vezes no TCO.
Ganhos de desempenho do Magma
Para cargas de trabalho baseadas em discoCom o Magma, o desempenho foi significativamente aprimorado. Alguns destaques das melhorias de desempenho são:
-
- 4x a taxa de transferência para cargas de trabalho mistas baseadas em disco em comparação com o mecanismo de armazenamento atual (Couchstore). Testamos isso regularmente em nossa empresa usando o benchmark YCSB (veja o gráfico abaixo para referência).
- Melhoria de 10 vezes na latência de cauda para leituras: Percentil de 99,9 < 10 ms em SSDs regulares.
- Melhoria de 2x na taxa de transferência e latência para gravações persistentes e duráveis usado em cargas de trabalho transacionais ACID.
- 20% melhor compactação e, portanto, redução no consumo de espaço em disco.

O gráfico acima é de nossas execuções regulares de um Carga de trabalho do YCSB G. Ele demonstra uma melhoria de mais de 4x na taxa de transferência em uma carga de trabalho de leitura, modificação e gravação. Nós o executamos com uma carga de trabalho de leitura, modificação e gravação de 100% com uma distribuição uniforme. Como a taxa de residentes está em torno de 30%, a carga de trabalho é pesada em disco, com cerca de 70% das leituras indo para o disco. A taxa de fragmentação foi definida como 50% para o Magma e o Couchstore.
A magia por trás do Magma
Como o Magma consegue obter todos esses benefícios em termos de TCO e desempenho? O Magma é baseado em uma arquitetura proprietária desenvolvida internamente na Couchbase que combina Árvores de mesclagem estruturadas por registro (LSMs) com separação de valores em um armazenamento de objetos estruturado em log. Essa combinação cria um mecanismo de armazenamento que tem métricas de eficiência muito melhores para amplificação de leitura, amplificação de gravação e amplificação de espaço em comparação com um mecanismo de armazenamento baseado em LSM pronto para uso, como RocksDB.

Arquitetura do mecanismo de armazenamento Magma.
O Magma tem compactação incremental dimensionável com microcompactações que estão continuamente em andamento e, portanto, nenhuma pausa perceptível de leitura ou gravação é causada pela compactação. Além disso, a compactação é paralela, o que permite se beneficiar do paralelismo do subsistema de E/S subjacente. A compactação granular e contínua também reduz a amplificação do espaço e, portanto, a quantidade total de espaço em disco necessário. O Magma faz a compactação de blocos, o que proporciona melhores taxas de compactação do que a compactação em nível de documento apenas, reduzindo ainda mais o espaço em disco necessário.
Como usar o Magma
Quando você tiver Configurar seu cluster do CouchbaseSe você tiver um bucket do Couchbase, poderá criar um bucket do Couchbase (um bucket é como um banco de dados no Couchbase) com a seleção do mecanismo de armazenamento como Magma. Sim, a escolha do mecanismo de armazenamento Magma está disponível por bucket. Você pode ter um único cluster do Couchbase com alguns buckets do Magma e alguns buckets do Couchstore. Isso facilita o teste do Magma em seus clusters existentes do Couchbase. Para casos de uso intensivo de dados em que o Magma é ideal, você provavelmente desejará ter buckets somente Magma em seu cluster.
Observe que, para os baldes Magma, é recomendável definir o método de ejeção como Completo isso significa que até mesmo as chaves serão removidas do cache), especialmente se você estiver executando com uma baixa proporção de memória para dados. Full Ejection é a seleção padrão para um bucket Magma.
Depois de criar um bucket com o Magma como seleção, você pode começar a usá-lo para carregar e consultar seus dados usando qualquer uma das APIs do Couchbase.

Criação de um bucket Magma na interface de administração do Couchbase.
Próximas etapas para reduzir o TCO
O mecanismo de armazenamento Magma torna o Couchbase 7.1 um banco de dados de alto desempenho, orientado a disco, para seus grandes conjuntos de dados que consistem em centenas de terabytes de dados. A proporção necessária entre memória e dados é tão baixa quanto 1%, reduzindo drasticamente seu TCO em relação ao número de servidores necessários. O Couchbase 7.1 pode lidar com os casos de uso que antes tinham custo proibitivo e reduzir o TCO quando os dados estão crescendo rapidamente. Faça o download do Couchbase hoje mesmo e experimente essas inovações.
Saiba mais com estes recursos: