Redis. Nehmen wir an, Sie haben eine Website in php geschrieben; aus welchem Grund auch immer, sie wird populär und ist ihrer Zeit voraus oder enthält Pornos. Du stellst fest, dass dieses php so verdammt langsam ist, dass du denkst: "Ich verliere meine Fans, weil sie einfach keine 10 Sekunden auf eine Seite warten wollen." Plötzlich wird dir klar, dass eine Webseite eine konstante URL hat (sie ändert sich nie, wow), einen Primärschlüssel, wenn man so will, und dann erinnerst du dich daran, dass der Speicher schnell ist, während die Festplatte langsam ist und php noch langsamer ist :( Dann bastelst du einen Speichermechanismus, der den Speicher und diese URL benutzt, die du "Schlüssel" nennst, während du den Inhalt der Webseite "Wert" nennst. Das ist alles, was Sie haben - Schlüssel und Inhalt. Sie nennen es "Meme-Cache". Sie mögen Richard Dawkins, weil er großartig ist. Sie speichern Ihre HTML-Seiten im Cache, wie Eichhörnchen ihre Nüsse im Cache speichern. Du brauchst deinen beschissenen php-Code nicht umzuschreiben. Du bist glücklich. Dann siehst du, dass andere das auch gemacht haben - aber du wählst Redis, weil das andere verwirrende Bilder von Katzen hat, einige mit Reißzähnen.
Mongo. Sie haben eine Website geschrieben. Oder besser gesagt, Sie haben schon viele geschrieben, und zwar in jeder Sprache. Ihnen ist klar, dass Sie einen Großteil Ihrer Zeit damit verbringen, diese stinkenden SQL-Klauseln zu schreiben. Sie sind kein Datenbankadministrator, und doch schreiben Sie dumme SQL-Anweisungen... nicht nur eine, sondern überall. "select this, select that". Aber vor allem erinnern Sie sich an die irritierende WHERE-Klausel. Where lastname equals "thornton" and movie equals "bad santa". Urgh. Sie denken: "Warum machen diese Datenbanken nicht einfach ihren Job und geben mir ein paar gespeicherte Prozeduren?" Dann vergisst man irgendein unbedeutendes Feld wie Nachname und muss die Tabelle löschen, alle 10 GB großer Daten exportieren und eine neue Tabelle mit diesem neuen Feld erstellen und die Daten importieren - und das geht in den nächsten 14 Tagen 10 Mal so weiter, während man sich immer wieder an Mist wie Anrede und Titel erinnert und einen Fremdschlüssel mit Adressen hinzufügt. Dann stellen Sie fest, dass Nachname zu Nachname werden sollte. Fast eine Änderung pro Tag. Dann sagen Sie: Verdammt. Ich muss eine Website/ein System schreiben und mich nicht um dieses Datenmodell kümmern. Also googeln Sie: "Ich hasse es, SQL zu schreiben, bitte kein SQL, machen Sie, dass es aufhört", aber es erscheint 'nosql', und dann lesen Sie etwas und es heißt, dass es nur Daten ohne Schema ausgibt. Du erinnerst dich an das Fiasko von letzter Woche, als du weitere Tabellen löschen musstest und lächelst. Dann entscheidest du dich für Mongo, weil einige große Unternehmen, wie z.B. airbud", die Website für Wohnungsvermietung, es benutzen. Super. Keine Datenmodelländerungen mehr, weil man ein Modell hat, das man einfach immer wieder ändert.