Trabalhando com framework CodeIgniter HMVC, template Smarty e Doctrine ORM

Este é um artigo para mostrar como combinar o framework CodeIgniter HMVC com template Smarty e Doctrine ORM.

Leia este texto para saber como podemos usar vários comandos ORM em seus sites sem a necessidade de usar ferramentas de linha de comando.

O artigo apresenta um projeto de exemplo que você pode usar como ponto de partida para os seus próprios projetos PHP.

Começando

Neste artigo, vamos combinar os seguintes pacotes em conjunto:

  1. CodeIgniter 2.2.0
  2. Extensões modulares CodeIgniter
  3. Smarty 3.1.21
[Leia mais]
Como alterar o datadir do MySQL no Ubuntu

Um procedimento comum após a instalação do MySQL é alterar o datadir e normalmente é para outra unidade de disco. Nos servidores que eu administro sempre busco deixar o datadir em uma unidade de disco e a gravação de logs em outra, isso faz não existir concorrência de I/O no momento de leitura ou gravação … Read More →

MySQL Utilities – Tarefas administrativas

No último artigo, mostrei ao amigo leitor como configurar de forma muito fácil a replicação GTID entre servidores de bancos de dados MySQL com alguns dos scripts do pacote MySQL Utilities, disponível para download via YUM ou pelo site do MySQL. A parte II sobre Replicação GTID ainda está no forno, mas tive uma oportunidade de executar várias tarefas administrativas em um servidor de produção com alguns outros scripts do MySQL Utilities. Então, resolvi passar este na frente e focar em ajudar o DBA naquelas tarefas executadas no seu dia a dia.

São muitas as possibilidades, vários os scripts, que se encaixam em diversas situações. Lembro que a versão do MySQL Utilities que utilizo na escrita deste artigo é a 1.6.1, que ainda está em desenvolvimento. …

[Leia mais]
Desnormalização e redundância controlada em bancos de dados relacionais

Com o aumento do número de linhas presentes nas tabelas de uma base de dados, percebe-se o aumento da utilização de recursos computacionais para realizar consultas mais complexas, principalmente aquelas que envolvem junções entre duas ou mais tabelas.

É nítido que, mesmo em um cenário ideal, com todas as tabelas normalizadas e perfeitamente indexadas, as junções tendem a ser o mais frequente problema de desempenho nas consultas para geração de relatórios ou análises mais complexas entre os dados dispersos por várias tabelas. Este cenário é ainda mais crítico em aplicações web que disponibilizam dados em tempo real, como a maioria dos sites sociais, onde a informação deve estar atualizada sempre que o usuário executa uma ação ou recarrega uma página.

Evitar junções que sejam custosas para as consultas realizadas mais frequentemente é a proposta da implementação da redundância controlada de dados em …

[Leia mais]
Exploring InnoDB Schema Partial Backups with Percona Xtrabackup

I remember the time when all the database and sys admins used to speak about MySQL backup strategy and it was really something to not worry about too much for many reasons. One of them was that the dataset on MySQL schemas was not too big, not that critical and the information was not that […]

Modelando o gerenciador de pacotes de dependências no gerenciador de configurações

A mais recente falha na glibc (CVE-2015-0235) e a vulnerabilidade heartbleed OpenSSL (CVE-2.014-0.160) deram a mim e a outros administradores de sistemas um pouco de trabalho. Isso me fez pensar: o que podemos fazer para aliviar nossas dores?

Gerenciadores de pacotes são inteligentes

Eu sou um usuário ávido e adepto do Puppet como minha ferramenta de gerenciamento de configuração preferida. Então, pensei em tornar a correção de vulnerabilidades apresentadas no CVE menos dolorosa. Aqui está o que eu estou pensando no momento, mas não acho que seja uma estratégia viável a longo prazo.

Para começar, seria muito demorado …

[Leia mais]
DatabaseCast: Planilhas e bancos de dados

Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Elton Rabello fazem as contas e fórmulas usando planilhas. Hoje você vai entender a dificuldade de usar planilhas no DOS, saber por que contadores adoram calculadores; quando vale a pena ou não trocar planilhas por banco de dados e vice-versa, aprender a convencer o usuário a largar a planilha e descobrir porque a rede fica lenta quando um documento é aberto.

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  …

[Leia mais]
MySQL no Docker





Numa definição muito simplista, o Docker é um modo de virtualização mais leve. Na virtualização “tradicional” para ter imagem utilizável você precisa criar a máquina virtual e depois instalar o Sistema Operacional. Com o Docker você pode ter várias imagens sobre o mesmo SO ao mesmo tempo em que mantém o isolamento das aplicações e bibliotecas em cada imagem.



Ao invés de múltiplas VMs, teremos múltiplos containers. Múltiplos SOs dão suporte à tecnologia de containers, em destaque o Linux. Sendo assim, o kernel do SO provê o suporte aos containers e o Docker é uma camada de abstração para facilitar seu uso, similar ao que o Vagrant faz para VMs. Isto nos dá a vantagem adicional do Docker ser agnóstico ao hardware e à plataforma, ou seja, os containers podem ser executados em qualquer lugar, desde seu laptop até grandes máquinas, sejam …

[Leia mais]
MySQL Utilities – replicação

Há algum tempo a turma que desenvolve o MySQL Oracle começou com a ideia de entregar ao administrador de bancos de dados uma série de ferramentas, também conhecidas como scripts, para a realização de tarefas bem conhecidas no dia-a-dia de um DBA. Pude perceber no evento MySQL Central @ OOW 2014 que essa mesma turma estava lá e conversando com o Product Manager, Chuck Bell. Eu soube que eles realmente estão investindo tempo para se obter scripts realmente robustos e que entregue rapidamente o que se deseja obter a respeito de status dos bancos de dados, replicação, comparação de dados entre bancos rodando em instâncias diferentes e outras operações.

O que é o MySQL Utilities?

O MySQL Utilities é um conjunto de aplicativos ou scripts escritos em Python, empacotado e disponibilizado pela Oracle. Dentro deste …

[Leia mais]
No Oracle Linux 7.1 ficou ainda mais fácil instalar o MySQL 5.6

Oracle Linux 7.1 já está disponível para download e com uma novidade para facilitar a vida de quem quer usar a versão mais recente estável do MySQL.

Os pacotes RPM do MySQL 5.6 disponibilizados pela Oracle são totalmente compatíveis e testados com as principais distribuições Enterprise Linux. O usuário tem a opção de baixar os RPMs em mysql.com/downloads ou a partir dos repositórios públicos oficiais YUM ou APT para MySQL. Para saber como instalar o MySQL 5.6 no RHEL 6 ou OL 6 via YUM veja o  …

[Leia mais]