Какие важные факторы следует учитывать при выборе решения NoSQL? - PullRequest
2 голосов
/ 30 января 2011

Я оцениваю (без конкретных случаев использования), просто пытаюсь понять NoSQL (нереляционные) решения в ширину.

Итак, я в значительной степени понимаю Динамо в терминах ( взято из бумаги Динамо ):

  1. Разбиение -> Последовательное хеширование
  2. Высокая доступность -> Векторные часы
  3. Обработка временных сбоев -> Небрежный кворум
  4. Восстановление после сбоя -> Меркель. Деревья
  5. Членство и обнаружение ошибок -> Протокол Gosisp

Мой вопрос таков: каковы другие способы решения каждого из этих 5 (может быть, больше «проблем») в других решениях, таких как:

  1. Системы на базе Bigtable,
  2. Просто хранилище значений ключей, таких как Redis и BDB.
  3. другие гибридные системы.

Ответы [ 2 ]

1 голос
/ 30 января 2011

Другие важные вопросы:
1) Вторичные индексы : Если они вам не нужны, вы, вероятно, сможете найти приемлемый способ использования большинства хранилищ данных.
2) НесколькоЦентры обработки данных : если вы работаете с несколькими центрами обработки данных, возможно, вы не сможете использовать архитектуру ведущий-ведомый.Многоуровневые системы намного сложнее.
3) Транзакции : если вам нужно совершать транзакции (многошаговые операции, которые должны действовать как один шаг), у вас могут возникнуть трудности смногие нереляционные системы, потому что они имеют тенденцию жертвовать больше, чем им строго необходимо в отношении ACID (атомарность, согласованность, изоляция и долговечность).

0 голосов
/ 30 января 2011

Прекрасное место, чтобы узнать об этом, прочитать о теореме CAP:

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

http://blog.nahurst.com/visual-guide-to-nosql-systems

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...