rdmbs, altså relasjonelle databaser, er i mange tilfeller mye enklere å bruke, og svært mye av logikken ligger ferdig innebygget i databasen.
Muligheten for enkle søk, spørringer som kan spesifisere nesten hva som helst, også på tvers av tabeller og databaser, dato og tidsfunksjoner, matematiske spørringer osv. gjør at databaser som MySQL fortsatt er svært populære.
Samtidig så er det slik at faren for å miste data er ofte er større i NoSQL, og hvis man har helt kritiske lagringer så er sannsynligvis ikke Couch eller Mongo det rette, selv om dette har blitt mye bedre de siste årene.
MySQL er også enkelt å sette opp, og det funker rett ut av boksen med PHP.
For nettsider som gjør enkle oppslag i ikke-kritiske data, så kan NoSQL være mer fornuftig, for eksempel når artikler, annonser, varer eller lignende kun skal hentes med en ID, så vil en "key/value store" være betydelig raskere og enklere å håndtere, men man mister en del muligheter.
Det vanligste nå i dag er å bruke det som passer.
Man bruker enkle key/value stores for data som kan hentes med enkle oppslag, og så kjøres backups i noe slik som ElasticSearch, som samtidig gir muligheten til å søke, faktisk langt bedre enn MySQL noen gang har gjort.
Redis brukes ofte for brukerdata som kan hentes rett fra minnet, Cassandra til interne meldinger og annet. Cassandra er vel faktisk nesten så nære man kommer SQL, men bruker i stedet noe som heter CQL som er nesten likt, men Cassandra er fortsatt NoSQL og kan utvides enkelt og er mye raskere.
Poenget er altså å bruke den databasen som passer, det finnes et utall å velge i, særlig blant Apache prosjektene hvor man har Hadoop/HBase, Cassandra, Couch, Riak, Voldemort, Hamster osv.
Det skal nevnes at Oracle har sin egen NoSQL løsning, og Berkeley er vel regnet for å være en av de raskere, men er fortsatt noe sær å bruke.
ElasticSearch er jo også en database, men det er ikke vanlig at den brukes til oppslag, man har som regel et eget oppsett med ElasticSearch som lagrer de samme dataene som hoveddatabasen, men som kun brukes til søk.
En oversikt over NoSQL løsninger finnes her ->
NOSQL Databases
Så finnes det ting som Apache's Kafka, Zookeeper osv. som gjør det enklere å holde orden på store systemer over flere servere/datasenter osv. og en hel haug med andre ting, det er nesten så vanskelig å finne frem til det optimale systemet nå at folk flest ender opp med MySQL eller Microsoft produkter, og de fleste store nettsidene ender opp med å skrive sitt eget, eller i det minste modifisere noe, og mange av de databasene som er tilgjengelige i dag kommer opprinnelig fra steder som Google, Amazon, E-Bay osv.
Jeg ville normalt anbefale Cassandra, den kan brukes til alt og virker ganske likt som MySQL, i det minste til å begynne med, selv om det er en helt annerledes database.
The Apache Cassandra Project
Ellers så er Mongo veldig poppis nå, særlig da i en MEAN stack (Mongo, Express; Angular, Node), som er en helt annen verden i forhold til PHP og MySQL.