База данных NoSQL и множество полубольших блобов - PullRequest
4 голосов
/ 25 октября 2010

Существует ли база данных NoSQL (или другого типа), подходящая для хранения большого количества (то есть> 1 миллиарда) «средних» BLOB-объектов (то есть от 20 КБ до 2 МБ). Все, что мне нужно, - это сопоставление от A (идентификатора) до B (большого двоичного объекта), возможность извлечения «B» из заданного A, согласованный внешний API для доступа и возможность «просто добавить другой компьютер» для масштабирования системы .

Что-то более простое, чем база данных, например распределенная система ключ-значение, может быть, прекрасно, и я был бы признателен за любые мысли в том же духе.

Спасибо за чтение.

Brian

Ответы [ 3 ]

2 голосов
/ 25 октября 2010

Если ваши требования API полностью соответствуют принципам «Получить (ключ), Положить (ключ, блоб), Удалить (ключ)», то хранилище значений ключа (или, точнее, «Постоянная распределенная хеш-таблица»)именно то, что вы ищете.

Их довольно много, но без дополнительной информации трудно дать твердую рекомендацию. На какую ОС вы ориентируетесь?На каком языке вы разрабатываете?Каковы характеристики ввода / вывода вашего приложения (холодные / неизменные данные, такие как изображения? Высокая загрузка записи или твиты?)

Некоторые из систем KV, на которые стоит обратить внимание: - MemcacheDB - Berkeley DB - Voldemort

Вы также можете просмотреть такие хранилища документов, как CouchDB или RavenDB *.Хранилища документов похожи на хранилища KV, но они понимают формат постоянства (обычно JSON), поэтому они могут предоставлять дополнительные услуги, такие как индексирование.

  • Если вы разрабатываете в .Net, тогда переходите непосредственно к RavenDB (выПоблагодаришь меня позже)
1 голос
/ 27 октября 2010

Вы также захотите взглянуть на Riak . Riak очень сосредоточен на том, чтобы делать именно то, что вы просите (просто добавьте узел, легко получить доступ).

1 голос
/ 25 октября 2010

А как насчет Крольчиха ?

Apache Jackrabbit ™ - это полностью соответствующая реализация Репозиторий контента для технологии Java API (JCR, указанный в JSR 170 и 283).

Хранилище контента является иерархическим магазин контента с поддержкой структурированный и неструктурированный контент, полнотекстовый поиск, управление версиями, транзакции, наблюдения и многое другое.

Я знал Jackrabbit, когда работал с Liferay CMS. Liferay использует Jackrabbit для реализации библиотеки документов . Хранит пользовательские файлы в файловой системе сервера.

...