In meinem System kann ein Benutzer sehr große Dateien hochladen, die ich in Couchbase speichern muss. Ich brauche solche sehr großen Objekte nicht, um im Speicher zu bleiben, aber ich will, dass sie immer von/auf Platte gelesen/geschrieben werden. Diese Dateien sind schreibgeschützt (nie geändert). Der Benutzer kann sie hochladen, löschen, herunterladen, aber niemals aktualisieren. Bei einigen technischen Einschränkungen kann mein System diese Dateien nicht im Dateisystem speichern, sodass sie in der Datenbank gespeichert werden müssen.Große Objekte in Couchbase speichern - Best Practice?
Ich habe etwas recherchiert und einen Artikel [1] gefunden, der besagt, dass das Speichern großer Objekte in einer Datenbank generell eine schlechte Idee ist, vor allem bei Couchbase, aber gleichzeitig gibt es einen Ratschlag: Erstelle einen sekundären Bucket mit niedriges RAM-Kontingent, Abstimmung der Richtlinie für Wert/vollständige Räumung. Meine Sorge ist die vom Autor erwähnte Grenze von 20Mb. Meine Dateien wären viel größer als das.
Was ist der beste Ansatz, um große Dateien in Couchbase zu speichern, ohne sie im Speicher zu behalten? Ist es möglich, das Limit von 20 MB zu erhöhen, falls? Soll ich einen sekundären Bucket mit einem sehr niedrigen RAM-Kontingent und einer vollständigen Räumungsrichtlinie erstellen?
[1] http://blog.couchbase.com/2016/january/large-objects-in-a-database
Es ist nicht so, dass das Speichern von Objekten eine schlechte Idee "besonders in Couchbase" ist. Es ist nicht einzigartig auf Couchbase. – Kirk
Ich habe das, obwohl ich immer große binäre Objekte in RDBMs (Oracle, MS SQL Server, Postgres, MySQL) ohne besondere Probleme gespeichert habe. Wenn es darum geht, die gleichen Informationen in Couchbase zu speichern, bin ich ein wenig besorgt über die Tatsache, dass eine solche Menge an Daten im Speicher erhalten bleibt. Gibt es eine Best Practice, die man einhalten sollte, wenn man große Objekte in Couchbase speichern möchte? –
Dann ist das obige Zwei-Eimer-Szenario wahrscheinlich die beste Option. Zum Speichern von Objekten, die größer als 20 MB sind, müssen Sie sich in mehrere Objekte aufteilen. Für größere RDBMS-Datenbanken hatte ich Probleme mit ihnen im Maßstab. Ich verwaltete eine 15 TB Oracle-Datenbank und der Grund, warum es so groß war, war, weil alle binären Daten. Der Service kostete mehr als eine Million Dollar pro Jahr wegen der benötigten Speicherkapazität und der benötigten Hardware. Diese Kosten waren ein Faktor für den letztendlichen Niedergang dieses Dienstes. – Kirk