2012-01-12 2 views
18

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

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

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

+0

Насколько велики файлы? –

+0

Не думайте, что файлы будут больше 10 МБ – siannone

ответ

11

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

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

5

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

(я не связан с ними в любой ПУТЬ это не реклама)

3

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

Смежные вопросы