Monday 5 April 2010

CouchDB e Hadoop

Duas tecnologias que eu estava namorando eram Hadoop e CouchDB. Por um bom tempo, na verdade até ontem achava que estavam relacionadas, mais precisamente, CouchDB rodaria em cima do Hadoop.

A verdade é que são duas coisas completamente independentes. Hadoop é a versão código aberta da função "mapReduce" do Google[1] e CouchDB é um banco de dados não estruturado, NoSQL, tipo IBM Lotus Notes[2].

De qualquer maneira são duas tecnologias que me fascinam. Mas CouchDB parece mais fácil de usar no momento, apesar de ainda não saber exatamente onde.

O projeto que penso no momento é um sistema de controle de logs do Linux/UNIX. Me parece que esse formato de documento ao invés da rigidez do SQL parece ideal para armazanar logs, seja do sistema operacional ou Apache.

[1] http://en.wikipedia.org/wiki/Hadoop
[2] http://en.wikipedia.org/wiki/CouchDB

Saturday 3 April 2010

Programando em Erlang

Hoje começei a brincar com Erlang. A primeira razão foi por ser a linguagem usada para criar o CouchDB, que me pareceu uma idéia bem legal, um banco de dados não-estruturado, isto é, sem a rigidez do SQL.

Voltando ao Erlang. Outra razão é o suporte a concorrência o que a torna ideal para o mundo "multi-core" de hoje. Há outra linguagens que tambem suportam concorrência, por exemplo Go do Google. Acho que Erlang leva vantagem por já estar na estrada a muitos anos e depois porque, como dizer?, "chega de Google."

Mas ainda que Erlang seja agradével de programar, é ligeiramente esquisita. Mas acho que em breve vai ser natural.