Ich entwerfe eine interne Firmenwebsite, auf der Benutzer Jobs zur Berechnung einreichen können. Ein wichtiger Faktor in meinem Design ist es, den Job in der Warteschlange zu halten, bis er abgeschlossen ist, selbst wenn ein Systemfehler auftritt.Wann ist es sinnvoll, eine Datenbank für eine Jobwarteschlange zu verwenden?
Es scheint, dass das Internet gegen die Idee ist, da es "nicht wirklich der Zweck einer Datenbank" ist und besser für einen Schlüssel/Wertspeicher wie Redis geeignet ist (oder eine Jobwarteschlange, die Redis verwendet, wie Kue for Node). js). Ich denke, dass ich es in dem Sinne verstehe, dass der Zweck dieses Entwurfs darin besteht, die Datenbank nicht mit Lese-/Schreibvorgängen für ziemlich flüchtige Daten zu überlasten, wie sie in einer Jobwarteschlange vorkommen würden. In meinem Anwendungsfall wäre die Datenbanknutzung jedoch ziemlich niedrig und es scheint, dass die Persistenz von Daten, die eine Datenbank bietet, das Schlüsselmerkmal ist, nach dem ich hier suche.
In meiner Lesung habe ich festgestellt, dass einige Schlüssel/Wert speichert, wie Redis, eine persistente Funktion, aber es ist nicht wirklich gebaut, um sicherzustellen, dass alle Daten wiederhergestellt werden können, wenn das System ausfällt.
Fehle ich etwas hier oder klingt das richtig?
Ich würde sagen, dass ich dem Internet darin zustimme, dass dies besser für ein "leichteres" Datenspeichersystem wie "redis" oder sogar "mongo" übrig bleibt. Meine Fragen wären A.) Benutzt das Unternehmen die DB bereits und wie oft? und B.) Wenn Sie es verwenden, wie viel Einfluss haben Sie auf seine Lese-/Schreibzeiten? – Derek
Ich würde auch empfehlen 'rabbitmq'. – sobolevn
Ich benutze Mongo für meine Datenbank, und nein, bis jetzt ist es nur meine Anwendung, die die Datenbank benutzt. Ich bin mir nicht sicher, welchen Einfluss das auf Lese-/Schreibzeiten haben würde. – Leif