Ich arbeite an einer "Echtzeit" -Website mit Nodejs . Derzeit verwende ich Redis , da ich für Lesezugriff hohe Leistung benötige. Die Schreibzugriffe sind für meinen Anwendungsfall nicht wirklich signifikant.
Darüber hinaus verfügt Redis über keine Abfragesprache für die Suche. Also erstelle ich meine Indizes manuell und verwende einige unions / intersections / ..., um einige Werte zu finden.
Ich denke, dass es einfacher sein wird MongoDB mit einem eingebetteten Suchsystem und einem ORM-ähnlichen ( Mangusten zum Beispiel). Das Problem ist, dass ich nicht sicher bin, dass MongoDB die beste Wahl für meinen Anwendungsfall ist.
Was sind Ihre Ratschläge zur benötigten NoSQL-DB? Redis? CouchDB ? MongoDB? Kassandra ? usw.
Ich wiederhole: Ich möchte eine wirklich gute Leistung für die Lesezugriffe und für die Suchvorgänge haben (die Schreibzugriffe sind nicht signifikant), das einfachste mögliche (orm-like? finding system? etc .)
Danke.
Ich glaube, dass redis aus folgenden Gründen die bessere Lösung wäre.
Sie benötigen schnellen Lesezugriff und Redis bietet die schnellste Lösung, da die Schlüssel im Speicher sind, wenn nicht die meisten.
Obwohl mongodb im allgemeinen Fall einfacher abzufragen ist, ist Ihre Problemdomäne eng und sobald Sie entscheiden, wie Sie die Daten abfragen möchten, können Sie die korrekten Datenstrukturen und Indizes an Ort und Stelle setzen.
>Ich würde sagen, dass Redis gut zu deiner DB passt, und du solltest etwas wie Solr oder elasticsearch um Ihre Suche zu ermöglichen.
CouchDB wird es besser machen, eine schwere Umgebung zu schreiben. Ich benutze es aber nicht. MongoDB wird es besser machen, wenn eine schwere Umgebung gelesen wird.
Zum Suchen und Indexieren: MongoDB würde für jedes Ihrer Suchkriterien einen separaten Index für bessere Leistung benötigen (zumindest erinnere ich mich daran).
Der richtige Index ist in MongoDB wichtig. Und keine Joins !!
Hier sind einige Links, die Sie durchgehen könnten:
Hoffe, dass diese Ihnen helfen werden, die richtige db
zu findenViel Glück