Replicação e escalabidade do ZODB com RelStorage
Resumo
O CMS Plone utiliza o ZODB como usa base de dados principal. Em alguns cenários, como grandes portais, é preciso ter muitos servidores ZOPE no frontend processando as requisições dos usuários.
Nessas situações, o ZEO, backend distribuído padrão do ZODB, pode ficar sobrecarregado, principalmente pela quantidade de IO requisitada e em alguns casos de CPU também.
Como alternativa ao ZEO, foi desenvolvido um novo backend para o ZODB que armazena os dados dos objetos (raw) em banco de dados relacionais, com alguns objetivos:
- facilitar o uso de múltiplas CPUs no processamento do backend
- utilizar ferramentas de backup e replicação já conhecidas dos administradores de banco de dados
- fazer backup on-lin dos dados do servidor com a utilização de réplicas escravas
- fazer um balanceamento das requisições ao backend utilizando-se de clusters
Além disso, o RelStorage também inovou na integração com memcached para centralizar o cache do objetos e aliviar ainda mais o IO do backend ZODB.
O objetivo desta apresentação é falar sobre o projeto RelStorage, utilizando-se de exemplos de práticos de utilização dele em aplicação Zope/Plone e sua integração com memcached e realizando um espelhamento da base de dados.
Detalhes sobre o palestrante
Formado em Ciências da Computação e entusiasta de Software Livre desde 1999, Rudá Porto Filgueiras aproveita seu tempo livre como desenvolvedor Python e Plone. Além disso possui interesses nas áreas de Sistemas Distribuídos, Computação Móvel e Bancos de Dados. Nas horas vagas também atua como Gerente de TI e Administrador de Sistemas / Redes.