2014-11-12 4 views
0

Прежде всего, у нас есть приложение, которое должно хранить как json-данные, так и медиа-ресурсы (изображения, записанные звуки).Какой должен выбрать: Riak, Riak CS или оба одновременно?

Когда я смотрю на Riak, я вижу, что прямо сейчас нам будет хорошо с «нормальным» Riak, так как мы не обрабатываем очень большие файлы.

Однако в ближайшее время нам нужно будет обрабатывать гораздо большие файлы (собственные бинарные файлы измерений и видеофайлы), а затем Riak CS представляется привлекательной альтернативой.

Мой вопрос заключается в следующем: каким образом я могу объединить эти две версии Riak?

  1. Могу ли я просто перейти непосредственно к Riak CS, а также хранить в нем файлы данных JSON?
  2. Можно ли начинать с Riak, а затем переходить к Riak CS, но хранить данные из хранилищ Riak?
  3. Могу ли я запускать Riak и Riak CS на тех же серверах (multi backend), является ли Riak CS совместимым с Riak client api?
  4. Должен ли я просто разделить их и развернуть на двух кластерах (мин. 10 узлов, 5 Riak + 5 Riak CS)?

ответ

1

Это 4 связанных вопросов в 1! Я собираюсь избегать убежденного «что вам делать» и просто указать, что возможно.

  1. Да, вы можете хранить небольшие файлы в Riak CS. Однако это еще один слой поверх Riak, поэтому запросы, скорее всего, пройдут немного дольше.

  2. Да, можно использовать экземпляр Riak как напрямую, так и для Riak CS. Я уверен, что Riak CS имеет несколько зарезервированных имен ведра, но пока вы не перекрываете их, теоретически вы должны иметь возможность хранить другие данные в одном экземпляре Riak. Обратите внимание, что Riak CS использует имена/ключевые слова Riak, которые не конвертируются в JSON правильно, поэтому операции с листингом, выполняемые на уровне Riak через HTTP, могут иметь проблемы.

  3. Я не думаю, что API-интерфейсы совместимы, но вы, теоретически, могли бы запустить 2 экземпляра Riak на том же сервере, если они используют разные имена узлов, разные каталоги и прослушивают разные порты. Это было бы большим количеством дескрипторов файлов, бара и т. Д., Но это было бы возможно.

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