Frage

Ich entwickle eine PHP -Plattform, mit der Bilder, Dokumente und jedes Dateiformat verwendet werden, das mir in den Sinn kommt. Deshalb habe ich mich gefragt, ob Cassandra eine gute Wahl für meine Bedürfnisse ist.

Wenn nicht, können Sie mir sagen, wie ich Dateien speichern soll? Ich möchte Cassandra weiterhin verwenden, weil es fehlertolerant ist und die automatische Replikation zwischen Knoten verwendet.

Danke für die Hilfe.

War es hilfreich?

Lösung

Von dem Cassandra Wiki,

Cassandra's public API is based on Thrift, which offers no streaming abilities 
any value written or fetched has to fit in memory. This is inherent to Thrift's 
design and is therefore unlikely to change. So adding large object support to
Cassandra would need a special API that manually split the large objects up 
into pieces. A potential approach is described in http://issues.apache.org/jira/browse/CASSANDRA-265.    
As a workaround in the meantime, you can manually split files into chunks of whatever 
size you are comfortable with -- at least one person is using 64MB -- and making a file correspond 
to a row, with the chunks as column values.

Wenn Ihre Dateien also <10 MB sind, sollten Sie in Ordnung sein, stellen Sie einfach sicher, dass Sie die Dateigröße einschränken oder große Dateien in Stücke zerlegen.

Andere Tipps

Sie sollten mit Dateien mit 10 MB in Ordnung sein. Tatsächlich setzt DataStax BRISC ein Dateisystem auf Cassandra, wenn ich mich nicht irre: http://www.datastax.com/products/enterprise.

(Ich bin in keiner Weise mit ihnen verbunden- das ist keine Anzeige)

Als frische Informationen bietet Netflix Dienstprogramme für ihren Cassandra -Kunden an, der auf dem Cassandra Calling steht Astyanax zum Speichern von Dateien als Handel -Objektspeicher. Beschreibung und Beispiele finden Sie hier. Es kann ein guter Ausgangspunkt sein, um einige Tests mit Astyanax zu schreiben und Cassandra als Dateispeicher zu bewerten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top