Этот вопрос может быть очень близок к тому, чтобы быть субъективным (хотя на самом деле это не так), вы говорите о NoSQL, как будто это всего лишь одна вещь, а это не так.
У вас есть
- графовые базы данных (Neo4j и т. Д.),
- отображение / уменьшение базы данных документов в стиле (Couch, Raven),
- базы данных документов, которые пытаются чувствовать себя как обычные базы данных (Mongo),
- Ключ / хранилище значений (Кассандра и т. Д.)
- моар идет сюда.
Каждый из них пытается решить другую проблему с помощью различных средств, и вы будете использовать один из них в традиционном реляционном хранилище -
- Вопрос о пригодности
- Вопрос личных предпочтений
В конце концов, для первичного хранилища данных для одной системы, база данных документов или реляционное хранилище, вероятно, то, что вам нужно, хотя для разных частей вашей системы вы вполне можете закончить использование графической базы данных (для вычисления соседей и т. д.) или хранилища ключей / значений (как Facebook делает / делал для входящих сообщений).
Основное преимущество выбора хранилища документов в качестве основного хранилища по сравнению с реляционным хранилищем состоит в том, что вам не нужно беспокоиться о попытке сопоставить ваши объекты в коллекцию таблиц, а также требуется меньше затрат на настройку. при этом.
Другим недостатком / недостатком будет то, что вам придется узнавать что-то новое и на этом пути совершать ошибки.
Итак, мой ответ, если я собираюсь быть прямым?
- Подойдет RavenDB
- Подойдет SQL
Что вы предпочитаете использовать? В эти дни я, вероятно, просто выбрал бы Raven, зная, что могу выгружать данные в реляционное хранилище для целей отчетности и, вероятно, делать то же самое для других частей моей системы, и получать свободный текстовый поиск и fastish-write / fast-reads без благодаря определению отдельных хранилищ для чтения / записи общий выигрыш.
Но это я, и я пристрастен.