Cor Cinza

Tá, o título é uma brincadeira. Agente sabe que usar um banco de dados é muito mais rápido que usar um flatfile. Um flatfile é um arquivo de texto comum, geralmente de extensão .txt que pode ser manipulado de diversas formas pra diferentes propósitos.

Embora a utilização de um banco de dados (pelo menos para aplicações web) seja mais rápido e eficiente, muita gente anda criando aplicativos que se utilizam de flatfiles para armazenar suas informações. E não pense que são aplicações bobinhas e totalmente simplistas. Algumas delas são muito poderosas!

Um exemplo disso é este pequeno CMS chamado CutePHP. Eu já o utilizei pra criar um site a muito tempo atras e posso dizer que é um dos melhores CMS’s que já usei. Isto porque, tirando o fato de não ser necessário um banco de dados para armazenar as informações, eu poderia modificar meus templates da forma como eu quisesse! O CMS mais flexível que já vi, com suporte a comentários, vários usuários e etc. Vale a pena dar uma olhada!

Existe também, para o mundo dos blogs, o FlatPress, um tipo de WordPress que se utiliza de flatfiles para armazenar posts e comentários. O esquema ainda conta com sistema de temas, plugins, traduções e por aí vai! É divertido ver o que se pode fazer só com flatfiles!

Ainda existem os sistemas de BD feitos com flatfiles. Dos que eu pesquisei, os melhores são o Gladius e o txtSQL. Se por um lado você pode usar SQL queries com o Gladius, o que é muito legal, sua performance não é tão boa quanto a do txtSQL, que pode ser um sistema bem veloz dependendo do tipo de aplicação que você quer construir.

No mundo do software você tem o todo.sh pra Linux (mas que dá pra ser usado no Windows com a ajuda do Cygwin) que é um programa que te ajuda a organizar suas tarefas todas utilizando flatfiles. O mais legal dele é que você usa o programa todo via linha de comando, um aperitivo pra programadores e simpatizantes!

E eu sei que a esta altura você tá se perguntando: “Mas por que eu ia querer usar flatfiles ao invés de usar meu banco de dados comum?“, afinal, quando se pensa em desempenho, um flatfile nunca será melhor do que um SGBD. Então por que? E eu te digo: “Não sei muito bem…”, hehe. Mas eu posso pensar em dois ou três motivos:

1. É uma ótima alternativa caso você não tenha acesso a um banco de dados mySQL ou PostgreSQL no seu servidor. Você vai conseguir executar aplicativos tão interessantes quanto se você os tivesse.

2. Em alguns casos, usar arquivos flatfiles torna a transição dos dados muito mais fácil. Ao invés de fazer backups e mais backups do seu BD comum, você só faz cópias dos arquivos flatfiles. É mais fácil de armazenar, mais fácil de mover de um lado pro outro e assim vai.

3. Eu até teria um terceiro motivo, mas deixa ele pra lá…. Acho que os dois acima são suficientes! Mas no geral é simplismente divertido usar flatfiles! OBA!

Não quero entrar em questões de segurança, mesmo porque eu não sou a melhor pessoa pra falar sobre isso, mas é claro que você não vai usar flatfiles pra tudo nesta vida. É legal usar assim, pra um blog, um pequeno CMS, talvez uma galeria de fotos bacana (estou tentando montar uma totalmente com flatfiles… ainda vou ter tempo pra isso, eu acho), um guestbook e coisas pequenas. Se for pra criar um site com milhares de acessos ou o sistema de gestão de um banco, é melhor deixar o BD pros SQLs da vida.

No demais, divirta-se com flatfiles!

Tags: , , , , , , , , , ,

Comentários /comments

Este post ainda não possui comentários

Comente! /post a comment!