Som läsare av denna blogg så vet du nog vid det här laget att jag har en stor kärlek till det som kallas för NoSQL. Dvs systemlösningar som inte enbart innefattar SQL.
Tre av de stora kandidaterna till att snabba upp MySQL eller byta ut MySQL helt heter Redis, CouchDB samt MongoDB men vilken ska man välja? Som du kanske förstår så finns det inget bra svar på detta men jag tänkte här nedan försöka ge en liten inblick hur det är att installera och använda respektive dokumentcentrerad (icke SQL) databas.
Andra NoSQL-system som är värda att nämna är Neo4j, Tokyo Cabinet, Memcache samt Cassandra.
Bakgrund MongoDB
Används av sajter såsom bit.ly och foursquare. Utvecklat i C++ och överbryggar RDBMS och nyckel-värde lagring.
Installation MongoDB
Installationen gick mycket smidigt på mitt Ubuntu 10.10 system med hjälp av apt:
$ sudo apt-get install mongodb-server
Då installeras MongoDB, xulrunner samt så läggs en användare vid namn mongodb upp. Mongodb lyssnar även på två TCP-portar på 127.0.0.1
För PHP-stöd till MongoDB så kan pecl-porten användas och installeras på följande sätt:
$ sudo pecl install mongo
Om du får ett felmeddelande i stil med:
Så måste Ubuntu-paketet php5-dev installeras där phpize ingår. För att sedan få php att ladda in mongo-modulen så kan följande kommando användas:
$ sudo sh -c ”echo extension=mongo.so > /etc/php5/conf.d/mongo.ini”
För att sedan använda MongDB så kan exempelvis följande PHP-kod användas för test:
<?php // connect $m = new Mongo(); // select a database $db = $m->comedy; $collection = $db->cartoons; // add an element $obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" ); $collection->insert($obj); // find everything in the collection $cursor = $collection->find(); // iterate through the results foreach ($cursor as $obj) { echo $obj["title"] . "\n"; } // disconnect $m->close(); ?>
För att sedan verifiera testa:
$ php mongodb.php
Så bör följande visas:
Calvin and Hobbes
Andra inlägg i denna serie kommer snart.