Sommario
Il Database NoSQL hanno assunto una grande rilevanza negli ultimi anni. Il loro design scalabile e la possibilità di gestire le strutture in modo non correlato le rendono un'alternativa per le nuove forme di sviluppo che stanno avvenendo nel mondo.Ecco perché dobbiamo tenere a mente che è una realtà che presto dovremo sapere come gestirli come ora sappiamo come gestirli. Banche dati lingue tradizionali, per questo avremo bisogno di connetterci ad esse attraverso lingue tradizionali, come il ampiamente conosciuto PHP.
Uno dei motori di Database NoSQL il più popolare è mongoDB, grazie alla sua facile installazione e ad una community in via di sviluppo che ci permette di imparare molto in poco tempo con semplici ricerche su Internet.
Installazione di MongoDBLa prima cosa che dobbiamo fare è installare il server mongoDB, con ciò otterremo il motore di Banca dati per poter gestire le nostre nuove basi NoSQL. Trattandosi di un nuovo motore, è stato progettato in modo che possa essere installato su varie piattaforme. Spiegheremo come farlo in due dei più importanti sistemi operativi di oggi finestre sì Linux nella tua versione Ubuntu.
Per installare mongoDB in Ubuntu Dobbiamo seguire alcuni semplici passaggi per abilitare il pacchetto, una volta eseguiti questi passaggi possiamo utilizzare normalmente apt-get install, vediamo.
1- Per prima cosa dobbiamo importare la chiave pubblica, per questo apriremo una nuova console o terminale e scriveremo il seguente comando:
sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com:80 --recv 7F0CEB10
2- Quindi dobbiamo aggiungere un file di elenco a mongoDB, per questo dobbiamo fare quanto segue:
echo 'deb http: / /downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
3- Ora possiamo finalmente installare il servizio, per questo aggiorneremo prima le nostre dipendenze e poi installeremo il pacchetto:
sudo apt-get update
Una volta che tutto è stato aggiornato inseriamo il comando per eseguire l'installazione e con questo avremo il servizio disponibile mongoDB nel nostro sistema:
sudo apt-get install -y mongodb-org
Installazione in finestre è più semplice, dobbiamo solo assicurarci di averlo Windows Vista o qualcosa di più recente, poiché purtroppo l'ultima versione di mongoDB non compatibile con Windows XP.
Quindi visitiamo il sito ufficiale di mongoDB e scegliamo la versione che più si avvicina alla configurazione del nostro sistema operativo:
INGRANDIRE
Una volta scaricato l'eseguibile, lo installiamo e poi eseguiremo i seguenti passaggi in modo che il servizio possa avviarsi correttamente:1- Dobbiamo creare una cartella dati dove mongoDB può archiviare le raccolte di documenti dei nostri database, per questo dalla console dei comandi, con i permessi di amministratore, andremo ad individuare nella directory appropriata e creare una nuova cartella. Per questo usiamo quanto segue:
md \ dati \ db
2- Dopo aver creato la cartella dobbiamo avviare il servizio mongoDB lo facciamo durante l'esecuzione mongod.exe, il percorso dovrebbe essere simile al seguente, a seconda di dove abbiamo installato e della versione di mongoDB che noi abbiamo:
C:\Programmi\MongoDB 2.6 Standard\bin\mongod.exe
Vediamo nell'immagine seguente dove ci accorgiamo che è andato tutto bene quando la console ce lo dice mongoDB attendi nuove connessioni:
Da quando abbiamo installato con successo il nostro servizio mongoDB, ora dobbiamo dire PHP come dovresti comunicare con lui, per questo dobbiamo scaricare il driver appropriato e attivarlo nel php.ini come estensione.
a finestre possiamo scaricare il driver dal repository ufficiale di mongoDB nel seguente percorso: s3.amazonaws.com/drivers.mongodb.org/php/index.html dove avremo diverse opzioni, dobbiamo selezionare quella più recente e stabile.
Identificare l'estensioneUna volta scaricato il file, decomprimiamo e cerchiamo l'estensione che si adatta alla nostra versione di PHP, nel mio caso come sto eseguendo il versione 5.4 userò php_mongo-1.6.0RC2-5.4-vc9.dll e lo rinominiamo come php_mongo.dll.
Quindi dobbiamo spostare il file nella directory delle nostre estensioni che sarebbe:
C: \ wamp \ bin \ php \ php5.4.12 \ ext
Con l'estensione aggiunta, dovremmo solo aggiungere nel php.ini la seguente riga: estensione = php_mongo.dll
Finalmente riavviamo il nostro server Apache e noi eseguiamo phpinfo() Per verificare che l'estensione sia abilitata, cerchiamo con CTRL + F la parola mongo e vedremo le informazioni della nostra estensione:
INGRANDIRE
Con questo verificato saremo pronti a lavorare con PHP sì mongoDB nel nostro ambiente finestre.a Linux ci vogliono un paio di passaggi in più, dobbiamo prima installarlo Pera, per questo faremo quanto segue nella console o nel terminale:
sudo apt-get install php5-dev php5-cli php-pear
Quindi procediamo con l'installazione del driver, per farlo dalla console o dal terminale eseguiremo le seguenti istruzioni:
sudo pecl install mongo
Finalmente dobbiamo aprire il nostro php.ini e attiva l'estensione:
estensione = mongo.so
Con questo possiamo riavvia il nostro server apache e saremo pronti per iniziare a lavorarci Linux.
Abbiamo già fatto abbastanza impostazioni tecniche per te mongoDB sì PHP può comunicare, però bisogna vedere un po' come funziona questo motore Banche dati per avere un'idea di cosa possiamo ottenere con il NoSQL.
Collezioni e documentiInnanzitutto dobbiamo sapere che non ci sono tavoli ma collezioni e non sei registrato ma documenti, questo ci dà la libertà che non è necessario seguire una struttura rigida e che ogni documento può contenere tutti i dati di cui hai bisogno.
Un classico esempio è quello di autori e i loro libri, in un Banca dati relazionale dobbiamo creare a tabella degli autori, allora dobbiamo creare a libro tabella e in quest'ultimo dobbiamo avere un campo in cui associare l'id univoco o l'identificatore dell'autore a ciascun libro, non è niente di entusiasmante ed è abbastanza funzionale.
Come funziona mongoDB?Nel mongoDB creeremo semplicemente un collezione chiamati autori e ciascuno documento sarà un autore, mongoDB è responsabile della creazione automatica di un identificatore univoco, ma possiamo aggiungere una proprietà che ci aiuta a identificare ogni autore in modo corretto, quindi possiamo creare all'interno di ogni autore un nuova proprietà chiamato libri e lì memorizzeremo tutti i loro titoli, quindi se vogliamo un autore che non ha libri, consultiamo semplicemente il documento che non ha la proprietà libri all'interno della raccolta.
Questo dimostra che non esiste una relazione stabilita tra autori e libri, esiste semplicemente un documento che può contenere o meno quella parte, infatti è così versatile che possiamo creare un autore che contiene una proprietà chiamata libri per bambini e che altri autori non hanno, in questo modo non dovremo creare nuove relazioni o tabelle, semplicemente lo avrà il documento della collezione.
Avendo già coperto le basi corrette di tutto ciò che dobbiamo sapere prima di poterci connettere con PHP, esaminiamo ciò di cui abbiamo bisogno:
- Un server da gestire PHP, ad esempio Apache.
- Il servizio mongoDB installato e attivo in attesa di collegamenti.
- Ho installato il driver PHP a mongoDB.
- Un editor di testo semplice e la possibilità di funzionare sul nostro server PHP codice che scriviamo.
La prima cosa che dobbiamo fare è creare un oggetto della classe MongoClient, questo non dovrebbe essere un problema se abbiamo installato correttamente il driver, quindi con quell'oggetto stabiliamo il nome del nostro Banca dati, in questo caso poniamo biblioteca, quindi impostiamo il nome della raccolta e ora possiamo inserire i dati, vediamo il codice sorgente di questo esempio:
biblioteca; $ collezione = $ db-> autori; $ autore = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collezione-> inserisci ($ autore); $ autore = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collezione-> inserisci ($ autore); $ autore = array ('autorid' => 3, 'name' => 'Max Brooks'); $ collezione-> salva ($ autore); ?> var13 ->
Vediamo come ciascuno dei record che sono effettivamente documenti dalla nostra collezione li costruiamo sotto forma di Vettore nel nostro programma, quindi passiamo semplicemente quell'array all'oggetto collezione ed eseguiamo il metodo inserire, questo ci dà facilmente il modo di inserire i dati nella nostra raccolta in mongoDB, vediamo nell'immagine seguente come dopo aver eseguito il nostro codice sul nostro server, il nostro Banca dati chiamata biblioteca:
INGRANDIRE
Dato che abbiamo visto con quanta facilità inseriamo i dati, andiamo ora a fare una piccola query, in questo modo dimostreremo come funziona l'estrazione dei dati dai documenti.Per questo effettueremo nuovamente le connessioni necessarie come nell'esempio precedente, ma ora utilizzeremo il metodo trova uno () con l'oggetto collezione, in questo modo possiamo interrogare una qualsiasi delle proprietà del documento nella raccolta, come il autore che avevamo creato, vediamo il codice:
biblioteca; $ collezione = $ db-> autori; $ autore = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collezione-> inserisci ($ autore); $ autore = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collezione-> inserisci ($ autore); $ autore = array ('autorid' => 3, 'name' => 'Max Brooks'); $ collezione-> salva ($ autore); $documents = $ collection-> findOne (array ('autorid' => 2)); echo "Dati di ricerca:
"; buttato fuori"Chiave primaria Mongo: {$ documenti ['_ id']}
"; buttato fuori"Nome dell'autore: {$ documenti ['nome']} ";?> var13 ->
Finalmente possiamo scorrere i risultati come se fosse un array e indicare semplicemente l'indice di ogni proprietà che dobbiamo stampare, inoltre abbiamo incluso la proprietà nell'esempio _ID in modo che possiamo visualizzare come mongoDB genera la chiave primaria o il campo dell'identificatore univoco. Vediamo il risultato nel nostro browser quando eseguiamo il nostro codice:
Ci sono alcuni strumenti che possiamo usare per gestire le nostre pagine web. Banche dati in mongoDB.
Uno di questi è Gengis, per questo possiamo semplicemente scaricare o clonare il progetto nella nostra directory www o equivalente dove possiamo sollevare una pagina in localhost e possiamo vedere la nostra installazione di mongoDB e i tuoi dati, per finire vediamo come si presenta questo utile strumento:
INGRANDIRE
Con questo abbiamo finito questo tutorial, abbiamo già una base per poter entrare nel mondo di NoSQL, che è l'attuale tendenza nella gestione di grandi raccolte di dati, molti potrebbero mettere in dubbio la connessione in PHP avere alternative come nodo.js, la risposta è semplice, perché ci sono molti sistemi di backend realizzati in questa lingua e con questa conoscenza saremo in grado di riutilizzare i nostri codici per tutta la vita mentre ci aggiorniamo alle nuove tecnologie.