Muitos clientes da AWS usam o Amazon ElastiCache para implementar um armazenamento de dados em memória rápido para suas aplicações.
Nós lançamos o Amazon ElastiCache para Redis em 2013 e adicionamos a exportação de snapshots para S3, atualizamos o mecanismo, recursos de scale-up, tagging, e suporte para operação Multi-AZ com failover automático durante o último ano.
Agora, adicionamos um conjunto de novos recursos e capacidades para o ElastiCache para Redis. Aqui está um resumo:
Sharded Cluster Support – Agora você pode criar clusters fragmentados que podem conter mais de 3,5 TiB de dados na memória.
Melhoria do console – A criação e manutenção de clusters agora é mais simples e requer muito menos cliques.
Atualizações de mecanismos – Você agora tem acesso aos recursos do mecanismo Redis 3.2.
Dados geoespaciais – Agora você pode armazenar e processar dados geoespaciais.
Vamos nessa!
Suporte Cluster Sharded/Novo Console
Até agora, o ElastiCache para Redis permitiu criar um cluster que contém um único nó principal e até 5 réplicas de leitura. Esse modelo limita o tamanho do armazenamento de dados em memória a 237 GiB por cluster.
Agora você pode criar clusters com até 15 fragmentos, expandindo o armazenamento de dados global em memória para mais de 3,5 TiB. Cada fragmento pode ter até 5 réplicas de leitura, dando-lhe a capacidade de lidar com 20 milhões de leituras e 4,5 milhões de escrita por segundo.
O modelo sharded, em conjunto com as réplicas de leitura, melhora o desempenho global e a disponibilidade. Os dados são distribuídos por vários nós, e as réplicas de leitura suportam failover rápido e automático no caso de um nó primário ter um problema.
A fim de tirar vantagem do modelo sharded, você deve usar um cliente Redis que reconheça agrupamentos. O cliente irá tratar o cluster como uma tabela hash com 16.384 slots espalhados igualmente entre os shards e, em seguida, mapear as chaves de entrada para o shard adequado.
O ElastiCache para Redis trata todo o cluster como uma unidade para fins de backup e restauração; você não precisa pensar ou gerenciar backups para os shards individuais.
O Console foi melhorado e eu posso criar meu primeiro cluster Scale Out com facilidade (note que eu marquei Cluster Mode enabled (Scale Out) depois que eu escolhi como o meu mecanismo de Cluster):
O Console ajuda a escolher um tipo de nó adequado com um novo menu acessível:
Você também pode criar grupos fragmentados usando a AWS Command Line Interface (CLI), as ferramentas da AWS para Windows PowerShell, a API do ElastiCache ou através de um modelo do AWS CloudFormation.
Atualização do mecanismo
O Amazon ElastiCache para Redis é compatível com a versão 3.2 do mecanismo Redis. O mecanismo inclui três novos recursos que podem ser do seu interesse:
Consistência de gravação forçada – o novo comando WAIT bloqueia o chamador até que todos os comandos de gravação anteriores sejam reconhecidos pelo nó primário e um determinado número de réplicas de leitura. Essa mudança não torna o Redis um armazenamento de dados fortemente consistente, mas ela aumenta as chances de que uma réplica de leitura recém-promovida irá incluir as mais recentes gravações ao primário anterior.
SPOP com COUNT – O comando SPOP remove e retorna um elemento aleatório de um conjunto. Agora você pode pedir mais de um elemento de cada vez.
Bitfields – Os Bitfields são uma maneira eficiente para a memória armazenar uma coleção de muitos números inteiros pequenos como um bitmap, armazenado como uma string Redis. Usando o comando BITFIELD, você pode endereçar (GET) e manipular (SET, o incremento ou decremento) campos de larguras variadas sem ter que pensar sobre o alinhamento de byte ou palavra limites.
Nossa implementação do Redis inclui um mecanismo de captura instantânea que não precisa desembolsar o processo do servidor em processos pai e filho. Sob carga pesada, o padrão, o mecanismo de snapshot com base em forquilha pode levar à degradação do desempenho devido à troca. Nossa implementação alternativa atua quando a utilização da memória é superior a 50% e ordenadamente evita a questão. É um pouco mais lento, por isso use-a somente quando necessário.
Melhoramos o desempenho do mecanismo de sincronização que traz uma réplica de leitura fresca em sincronia com o seu nó principal. Fizemos uma melhoria semelhante ao mecanismo que traz as réplicas de leitura restantes de volta para sincronizar com o nó primário recém-promovido.
Como eu disse anteriormente, o nosso mecanismo é compatível com versões open source comparáveis e suas aplicações não requerem quaisquer alterações.
Dados geoespaciais
Agora você pode armazenar e consultar dados geoespaciais (uma latitude e uma longitude). Aqui estão os comandos:
- GEOADD – Inserir um item geoespacial.
- GEODIST – Obter a distância entre dois itens geoespaciais.
- GEOHASH – Obter uma string Geohash (geocodificação) para um item.
- GEOPOS – Retorna as posições dos itens identificados por uma chave.
- GEORADIUS – Retorna itens que estão dentro de um raio específico de um local.
- GEORADIUSBYMEMBER – Retorna os itens que estão dentro de um raio específico de outro item.
Já disponível
A criação do cluster Sharded e todas as características que eu mencionei já estão disponíveis e você já pode começar a usá-los em todas as regiões da AWS.
Deixe suas dúvidas e/ou comentários aqui ou escreva diretamente para o autor (em inglês).