Распределенное файловое хранилище для чтения. - PullRequest
8 голосов
/ 16 апреля 2011

У меня есть приложение на C # / .NET, которое должно хранить двоичные двоичные объекты переменного размера (10–100 МБ) в центральном хранилище.MogileFS точно отвечает моим потребностям (однократная запись, высокодоступная, прозрачная горизонтальная масштабируемость, оптимизированная для стандартного оборудования), но отсутствие привязок .NET указывает на то, что есть еще один способ сделать это .NET.

Или мне просто написать эти привязки?

Ответы [ 3 ]

1 голос
/ 17 апреля 2011

Вы можете рассмотреть Raven DB для этого. Он оптимизирован для более высокого отношения чтения к записи, чем другие решения, и он специфичен для .NET. Поддержка распределенных сценариев, включая шардинг, многопользовательский режим и т. Д.

Веб-сайт Raven DB

0 голосов
/ 18 апреля 2011

Я собираюсь выйти на конечности здесь и предложить MySQL.Если вы используете MySQL с MyISAM, мне кажется, он вполне соответствует вашим потребностям.Если вы хотите высокой доступности, вы можете использовать репликацию для зеркалирования данных на многих машинах.Если вы хотите еще более высокую доступность, вы можете перейти на MySQL Cluster.Привязки .Net для MySQL работают довольно хорошо.Если вам действительно не нужно что-то более специализированное, что, по вашему небольшому описанию, кажется, вам не нужно, тогда MySQL может справиться с этой задачей.Преимущество использования стандартной СУБД, даже если вам не нужны все ее функции, заключается в том, что легко найти разработчиков, которые уже знают, как с ней работать.

0 голосов
/ 18 апреля 2011

Я бы посоветовал вам взглянуть на CloudIQ Storage от Appistry.Это полностью распределенное хранилище данных, которое работает на обычном оборудовании.Вы можете определить количество копий файла, который он поддерживает между узлами, для каждого файла отдельно.Таким образом, если вы записываете файл один раз, но у вас есть много одновременных операций чтения, вы можете установить значение N (число копий файла) в большое число, чтобы получить больший параллелизм.

Система реализует REST на основеинтерфейс для PUT и GET, а метаданные возвращаются в JSON, поэтому в .NET доступно много хороших библиотек.

...