Fork me on GitHub
Você esta em:Home » Destaque » Usando Redis(Remote Dictionary Server) no Magento

Usando Redis(Remote Dictionary Server) no Magento

redis

Usando o banco de dados NoSql Redis para otimizar sistemas de alta escabilidade

Redis é um banco de dados NoSQL que trabalha com a ideia de chave valor. A chave, assim como seu valor podem ser quase qualquer coisa, como um Hash.

Bancos NoSQL, entende-se “Not only SQL”, surgiram da necessidade de escalar bancos de dados relacionais com propriedades ACID em projetos web de alta disponibilidade que operam em larga escala. Suas principais características são alta performance, escalabilidade, fácil replicação e suporte a dados estruturados.

O NoSQL Redis é definido como advanced key-value store. Seu código é escrito em C sob a licença BSD e funciona em praticamente todos sistemas POSIX, como Linux ou Mac OS X. Ele foi idealizado e executado por @antirez para escalar o sistema da empresa LLOOGG. Hoje o repositório é mantido por uma imensa comunidade e patrocinado pela VMWARE.

A simplicidade de operar um banco apenas setando o valor e uma chave continua, entretanto, diferente de soluções famosas como o memcached, podemos fazer diversas operações na camada das chaves, além de contar com um punhado de estruturas de dados.

Além de salvar strings na memória, também é possível trabalhar com conjuntos, listas, ranks e números. De maneira atômica, pode-se fazer operações de união, intersecção e diferenças entre conjuntos, além de trabalhar com filas, adicionando e removendo elementos de maneira organizada.

Assim como outros bancos NoSQL este projeto é completamente comprometido com velocidade, pouco uso de recursos, segurança e opções de configurações triviais para ganhos de escalabilidade. Para manter a velocidade dos dados com

PERFORMANCE E OTIMIZAÇÃO NO SERVIDOR PARA USO DO MAGENTO !4

garantia de persistência, de tempos em tempos (ou a cada n mudanças) as alterações são replicadas, de maneira assíncrona, da memória RAM para o disco.

Antes do Redis estar aquecido (em cache)

1

Depois do Redis estar aquecido (em cache)

2

fontes: http://blog.boo-box.com/br/2010/usando-banco-de-dados-nosql-redis/

O memcached é um conhecido sistema de armazenamento em cache de objeto na memória que funciona colocando uma chave e valor-alvo em um cache de memória. O memcached evita assim o custo de E/S que acontece quando uma leitura ocorre no disco. Colocar o memcached entre um aplicativo da web e um

Redis vs memcached

banco de dados pode fornecer melhor desempenho de leitura. O memcached é, portanto, uma boa opção para aplicativos que exigem consultas rápidas de dados. Um exemplo seria serviços de consulta de ações que, de outra forma, consultaria um banco de dados com dados relativamente estáticos, como contador com nome ou até mesmo informações sobre preços.

Mas o memcached tem algumas limitações, incluindo o fato de que todos os seus valores são cadeias de caractere simples. O Redis, como alternativa ao memcached, suporta um conjunto mais variado de recursos. Algumas referências também indicam que o Redis é muito mais rápido do que o memcached. Os variados tipos de dados do Redis dados permitem armazenar dados muito mais sofisticados na memória do que se pode fazer com o memcached. E, ao contrário do memcached, o Redis consegue persistir seus dados.

O Redis é uma ótima solução de armazenamento em cache, mas seu conjunto variado de recursos leva a outros usos. Visto que o Redis é capaz de armazenar dados em disco e replicar os dados entre os nós, ele pode ser aproveitado como repositório de dados para modelos de dados tradicionais (ou seja, pode-se usar o Redis mais ou menos como se fosse RDBMS). O Redis também é usado muitas vezes como sistema de enfileiramento. Nesse caso de uso, o Redis é a base de um armazenamento de backup persistente de filas de trabalhos que aproveita o tipo de lista do Redis. O GitHub é um case de infraestrutura em grande escala que usa o Redis dessa forma.

fontes: http://blog.boo-box.com/br/2010/usando-banco-de-dados-nosql-redis/

Quem usa o Redis?

quemusa

Porque usar?

• Incrivelmente rápido
• I/O não bloqueante
• 100.000+ leitura e escrita por segundos
• As chaves e valores porem expirar ou não
• Master Slave Replication
• Publish/Subscribe
• Leve e pequeno
• Transactions
• Similar ao Memcached (Porém com anabolizantes) • Dados persistidos em memória/disco
• Open Source – BSD Licence
• VMWare Sponsor

Fonte: http://www.slideshare.net/MaxwellDayvson/redis-e-as-facilidades-de-trabalhar-com-um-banco-de-dados-nosql

Sobre o Autor

Designer, Web Developer & Linux Administrator

Meu nome é Deivison Arthur, tenho 29 anos, sou Administrador Linux, Analista de Sistema, Webdesigner e Pesquisador. há mais de dez anos. Nasci no Rio de Janeiro, atualmente trabalho como Gerente de Tecnologia e E-commerce at Grupo FFernandes e Freelancer nas horas vagas. Desenvolvimento em Joomla, Wordpress, Drupal, Magento e outros GPLs...

Quantidade de Artigos : 114

Comentários (1)

  • Fernando

    Olá, muito bem explicado as funções do Redis no magento acompanho seu blog faz tempo e depois de ler sobre o Redis resolvi ativar esse recurso porem notei que não está mais sendo criado os arquivos de sessions e cache na pasta var, funciona assim mesmo? Meu servidor trabalha com ngix e a ativação do Redis é feita pelo painel mais algumas alterações em alguns arquivos do magento. Obrigado

    Responder

Enviar Comentário

© 2012 Powered By Wordpress, Deivison Arthur

Ir para cima