2012-01-12 11 views
18

Pracuję nad platformą php, która będzie ogromnie wykorzystywać obrazy, dokumenty i dowolny format plików, który przyjdzie mi do głowy, więc zastanawiałem się, czy Cassandra jest dobrym wyborem dla moich potrzeb.Czy Cassandra jest dobra do przechowywania plików?

Jeśli nie, czy możesz mi powiedzieć, jak mam przechowywać pliki? Chciałbym dalej używać Kasandra, ponieważ jest odporny na awarie i używa automatycznej replikacji między węzłami.

Dzięki za pomoc.

+0

Jak duże są pliki? –

+0

Nie myśl, że pliki będą większe niż 10 MB – siannone

Odpowiedz

11

Z 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. 

Więc jeśli pliki są < 10MB powinno być w porządku, po prostu pamiętaj, aby ograniczyć rozmiar pliku lub podzielić duże pliki na porcje.

5

Powinieneś być w porządku z plikami o wielkości 10 MB. W rzeczywistości DataStax Brisk umieszcza system plików na górze Cassandry, jeśli się nie mylę: http://www.datastax.com/products/enterprise.

(nie jestem związany z nimi w dowolny drodze, to nie jest reklama)

3

Jako świeża informacja, Netflix udostępnia narzędzia dla klienta kasynowego o nazwie astyanax do przechowywania plików jako obsługiwanych magazynów obiektów. Opis i przykłady można znaleźć here. Może to być dobry punkt wyjścia do napisania testów za pomocą astyanax i oceny Cassandra jako magazynu plików.

Powiązane problemy