Ключевым преимуществом реляционной базы данных является возможность связывать и индексировать информацию. Большинство систем NoSQL не предоставляют реляционную алгебру или отличный язык запросов.
Вы должны спросить себя, имеет ли смысл переключение для моего предполагаемого варианта использования?
Вы упустили момент. Дело в том, что у вас иногда нет индекса (как в любом случае, как в случае с обычной реляционной БД). Даже если у вас есть индекс, трудно связать его вместе и в чем превосходные реляционные базы данных. Решения NoSQL имеют ряд новых структур, которые упрощают многие случаи использования, например, Redis - это БД, ориентированная на структуру данных, хорошо подходящая для быстрого построения чего-либо с очередями или архитектурой pub-sub. MongoDB - это база данных документов произвольной формы, которая хранит документы в формате JSON (BSON) и отличается высокой скоростью разработки. Решения BigTable немного менее структурированы, но расширяют идею строки, чтобы семейства столбцов - пары ключ-значение, содержащиеся в каждой строке, были эффективно расположены на диске. Вы можете построить инвертированный индекс на основе такой технологии, как ElasticSearch.
Не всем нужны гарантии согласованности или структура диска традиционной СУБД. Другим важным примером использования NoSQL является масштабируемая масштабируемость, многие решения (например, BigTable - HBase / Cassandra) предназначены для простого сегментирования и горизонтального масштабирования (не так просто с SQL!). Кассандра, в частности, не предназначена для SPOF. Кроме того, ориентированные на столбцы хранилища данных предназначены для оптимизации скорости диска посредством последовательного чтения (и уменьшения усиления записи ). При этом, если вам это не нужно, традиционный SQL-сервер, как правило, достаточно хорош.
Есть свои преимущества и недостатки. Лично я использую смесь обоих. Используйте правильный инструмент для правильной работы, которая может оказаться PostgreSQL или MySQL чаще, чем нет.
Вы можете сравнить базовую систему ключ-значение с созданием таблицы SQL с двумя столбцами, уникальным ключом и значением. Это довольно быстро. Вам не нужно делать какие-либо отношения или корреляции или сопоставление данных. Просто найдите значение и верните его. Это упрощение, базы данных NoSQL имеют много интересных функций и приложений, помимо простых хранилищ K, V.
Я не знаю, насколько ваши научные данные подходят для большинства реализаций NoSQL, это зависит от данных. Если вы посмотрите на HBase или Cassandra, он вполне может удовлетворить потребности учёного (при правильном дизайне ключа - метка времени не должна быть первой, посмотрите OpenTSDB). Я знаю много компаний, которые хранят показания датчика в Cassandra, используя разделитель случайного порядка и UUID датчика, чтобы свести показания в ежедневные жирные ряды. Каждый день новые базы данных создаются вокруг конкретных вариантов использования, так что ответ может меняться. Для конкретных случаев использования вы можете получить огромное вознаграждение за использование определенных хранилищ данных за счет гибкости и инструментов.