Olá.
Ultimamente me tenho dedicado bastante a melhora da performance das aplicações que desenvolvo.
Resolvi compartilhar aqui um pouco do que aprendi sobre NoSql.
Esses bancos de dados seguem uma abordagem diferente para o armazenamento de dados em comparação com o modelo relacional tradicional.
E estão rapidamente se popularizando entre os desenvolvedores da Web, devido à sua flexibilidade, simplicidade e fácil integração.

Neste Post vou falar um pouco sobre o MongoDB e a integração com o php.
MongoDB é um banco de dados orientado a documentos uma solução escalável, de alto desempenho e código aberto.
Você vai encontrar nesse link instruções sobre como instalar o MongoDB no seu ambiente : http://www.mongodb.org/display/DOCS/Quickstart
Se você assim como eu estiver usando o Ubuntu, você pode instalar MongoDB usando apt-get.
Para fazer isso, adicione a seguinte linha ao seu arquivo /etc/apt/sources.list:
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
Em seguida, instale o pacote com apt-get executando os seguintes comandos:
sudo apt-get update sudo apt-get install mongodb-10gen
Se tudo der certo depois de concluir a instalação você pode acessar o MongoDB via linha de comando, como abaixo:
mongo > show dbs admin (empty) my_db 0.0625GB
Agora pode enviar comandos para o servidor, assim como faria em cliente mysql, porem utilizando a sintaxe do javascript.
A documentação do mongo é bem completa, la você pode encontrar mais detalhes sobre sua utilização : http://www.mongodb.org/display/DOCS/Home
? // Exibe a versão banco de dados > db.version() 1.8.1 ? // Cria uma nava coleção > db.createCollection("contacts") ? // Lista todas as coleções > db.getCollectionNames() [ "contacts", "system.indexes" ] ? // Insere um novo item na coleção > db.contacts.insert({"name" : "Fabio B. Silva", "email" : "fabio.bat.silva@gmail.com"}) ? // Lista todos os itens da coleção > db.contacts.find() { "_id" : ObjectId("4db82c83a6510c5c77d67ebe"), "name" : "Fabio B. Silva", "email" : "fabio.bat.silva@gmail.com" }
Observe que quando você adiciona um novo registro a coleção o MongoDB anexa automaticamente um identificador único ( _id ).
Esse identificador pode ser usado para recuperar ou modificar um documento especÃfico, similar a um id auto-increment em um banco de dados relacional.
Agora vamos partir para o código php.
existe uma extensão/drive para o php que fornece uma API completa para acessar o MongoDB, Ela está disponÃvel gratuitamente a partir do PECL.
A extensão é estável e permite que você execute a maioria das tarefas comuns relacionadas ao acesso e utilização de um banco de dados MongoDB partir de uma aplicação PHP.
Para instalar você precisa ter o pear/pecl previamente instalados e executar o comando
pecl install mongo
E então adicionar a extensão no seu php.ini e reiniciar o seu apache
extension=mongo.so
Se tudo der certo na instalação você terá as classes do mongo disponÃveis no php, as principais são:
* Mongo
* MongoDB
* MongoCollection
* MongoCursor
Mongo – Usado para interagir com o MongoDB
// Conexão com o banco de dados $mongo = new Mongo(); ? // Conecta ao MongoDB $mongo->connect(); ? // Remove um esquema $mongo->dropDB("my_db_copy"); ? // Seleciona um esquema $mongo->selectDB("my_db"); ? // Lista esquemas $list = $mongo->listDBs(); ? // Fecha conexão $mongo->close();
MongoDB – Usado para interagir com um esquema
? // Seleciona um esquema $db = $mongo->selectDB("my_db"); ? // Cria uma nova coleção $db->createCollection("contacts"); ? // Seleciona uma coleção $db->selectCollection ("contacts"); ? // Remove uma coleção $db->dropCollection("contacts"); ? // Lista todas as coleções $db->listCollections();
MongoCollection – Representa uma coleção
// Novo registro $data = array( 'name' => 'Fabio B. Silva', 'email' => 'fabio.bat.silva@gmail.com', ); $contacts->insert($data); // Insere um novo registro na coleção $id = $data['_id']; // O Ãndice '_id' é anexado automaticamente pelo MongoDB ? ? $data['name'] = 'Fábio Silva'; // Alterar o atributo $criteria = array('_id'=>$id); // Critério do update| $contacts->update($criteria, $data); // Altera registro na coleção ? ? $criteria = array('_id'=>$id); // Critério para remoção $contacts->remove($criteria); // remove registro da coleção ? ? ? $contacts->find(); // Lista todos os registros da coleção
MongoCursor – Resultado de uma consulta a uma coleção
? // Lista todos os registros da coleção $cursor = $contacts->find(); ? // Numero de registros encontrados $cursor->count(); ? foreach ($cursor as $item) { echo $item['name']; }
Existem varias outras funcionalidades e classes que podem ser exploradas no MongoDB,
Essa é apenas uma pequena demostração do que ele pode fazer por você.
Para quem tiver o interesse deixei uma pequena app no git que demonstra algumas outras funcionalidades do MongoDB
https://github.com/FabioBatSilva/mongo-demoAbraço e até a próxima….



A Adobe anunciou recemente uma atualização na sua suite de softwares(Creative Suite 5.5), trazendo muitas novidades para a comunidade. Para quem usa o Dreamweaver e HTML5, agora trazendo suporte ao PhoneGap, que é um framework que permite que você aplicativos para os mais variados dispositivos rodando iOS e Android a partir de JavaScript, HTML e CSS. Com isso, você pode criar aplicativos nativos para Android e iOS a partir do Dreamweaver CS 5.5 





