Кассандра хороша для хранения файлов? - PullRequest
18 голосов
/ 13 января 2012

Я занимаюсь разработкой платформы php, которая будет широко использовать изображения, документы и любые форматы файлов, которые мне придут в голову, поэтому мне было интересно, является ли Cassandra хорошим выбором для моих нужд.

Если нет, можете ли вы сказать мне, как я должен хранить файлы? Я хотел бы продолжать использовать cassandra, потому что он отказоустойчив и использует автоматическую репликацию между узлами.

Спасибо за помощь.

Ответы [ 3 ]

13 голосов
/ 13 января 2012

Из 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.

Так что, если ваши файлы <10 МБ, у вас все будет хорошо, просто убедитесь, что вы ограничили размер файла или разбили большие файлы на куски. </p>

5 голосов
/ 13 января 2012

Вы должны быть в порядке с файлами 10 МБ.На самом деле, DataStax Brisk помещает файловую систему поверх Cassandra, если я не ошибаюсь: http://www.datastax.com/products/enterprise.

(я никак не связан с ними - это не реклама)

3 голосов
/ 20 сентября 2013

В качестве свежей информации Netflix предоставляет утилиты для своего клиента cassandra под названием astyanax для хранения файлов в качестве хранилищ обработанных объектов. Описание и примеры можно найти здесь . Это может быть хорошей отправной точкой для написания некоторых тестов с использованием astyanax и оценки Cassandra как хранилища файлов.

...