Почему все хотят NOSQL, кроме крупномасштабных кластеров Oracle?

oracle имеет хорошую репутацию для работы с крупномасштабными приложениями, а также гибко распространяется на кластерную среду. Почему все хотят NOSQL?

потому что nosql db намного дешевле? почему бы не использовать объектно-ориентированные БД?

5 ответов

Во-первых, не все хотят NoSQL. Упакованное программное обеспечение (например, ERP) - все это в основном основной компонент СУБД. Не путайте количество усилий по разработке с использованием.

Произошло то, что NoSQL открыл целый ряд приложений, которые просто не подходили для реляционных технологий, и поэтому было множество приложений, которые МОЖНО разрабатывать. Большая часть материала, который может быть разработан на платформах RDBMS, уже находилась и находится на стадии технического обслуживания / обновления. Вероятно, с меньшей модернизацией, чем обычно, из-за всего мирового финансового климата.

Так что через десять-пятнадцать лет, когда эти приложения NoSQL перейдут на тот же уровень зрелости, безумие утихнет, и волнения будет меньше.

У Oracle также есть решение NoSQL: http://www.oracle.com/technetwork/database/nosqldb/overview/index.html

Решение SQL не обязательно то, что вы хотите, независимо от масштаба. Существуют ситуации, когда вы не можете легко предсказать схему вашей модели, или, что еще хуже, ваши данные не имеют схемы. В этих ситуациях вам нужна модель данных, которая не ограничивает вас, а скорее дает вам гибкость, необходимую для развития ваших данных, при этом сохраняя основные возможности, такие как быстрые индексы.

Другая причина состоит в том, что SQL не представляет естественного способа, которым вы хотите посмотреть на свои данные, в основном БД графов, такие как Neo4J или GraphDB, позволяют разработчикам или пользователям подходить к модели связанных графов более интуитивно.

Конечно, есть способ решить все эти проблемы в СУБД Oracle, но это больше похоже на взлом БД в соответствии с вашими потребностями, а не на использование БД, которая подходит вам. Это звучит как перк, но на самом деле это имеет большое значение для простоты разработки и анализа вашего приложения.

Теперь, если мы говорим о масштабировании, Oracle, вероятно, может превзойти базы данных на основе столбцов, такие как HBase или Hypertable, но важно отметить, что СУБД Oracle не просто дороже, она намного дороже. В современном мире даже у небольших стартапов есть терабайты данных, которые они должны ежедневно анализировать. Даже небольшие компании могут использовать кластеры из 100 машин в облаке для хранения своих данных, в такой компании Oracle не является жизнеспособным вариантом, поскольку ежегодная стоимость лицензирования и найм администраторов баз данных не позволят стартапам использовать ее.

Наконец, последняя причина, по которой вы должны начать с NoSQL, - это скорость, запуск MongoDB и начало разработки может быть выполнено за 5 минут, и иногда вы хотите решить проблемы по мере их появления и избежать преждевременной оптимизации.

Если вы готовы отказаться от согласованности, теоретических ограничений на то, как вы можете масштабировать некоторые решения NoSQL, не существует.

Некоторые СУБД могут масштабироваться, и Oracle является одним из лучших из них, но ни одна СУБД не позволяет сократить согласованность, и поэтому даже самые лучшие имеют довольно четкие теоретические ограничения для масштабирования, не говоря уже о реальных ограничениях.,

Некоторые громкие имена в сети просто не могут больше полагаться только на СУБД, а многие другие следуют просто как большие. Наконец, некоторые решения действительно лучше всего подходят для структуры без схемы, но я полагаю, что они не учитывают большую часть пользователей NoSQL. Суть в том, чтобы масштабировать веб 2.0.

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

Вот разбивка с моей точки зрения.

Тип БД: Если вы сравниваете реляционную базу данных с базой данных NOSQL, вам следует обратиться к этой ссылке.

Стоимость: если вы сравниваете с точки зрения затрат, у каждого своя стоимость. Oracle будет взимать плату за лицензию, в то время как база данных NOSQL (на примере MongoDB) имеет открытый исходный код, и вам не нужно платить за лицензию. Но вам понадобится кто-то, кто хорошо разбирается в NOSQL, чтобы администрировать и поддерживать сайт, который гораздо сложнее найти.

Приложение: Какое приложение вы пишете? Вы должны понимать требования к базе данных для вашего приложения. Если вам нужно хранить много неструктурированных данных в качестве записи значения ключа, лучше использовать NOSQL. С другой стороны, вы бы предпочли SQL db, если вы объедините множество таблиц и выполните сложный SQL.

Вы упомянули объектно-ориентированную БД, и это другой тип базы данных из NoSQL или реляционной БД. В конце концов, это зависит от ваших потребностей. Чтобы расширить выбор горизонта, некоторые могут услышать об иерархической базе данных, которая в основном находится в среде мэйнфреймов.:-)

Другие вопросы по тегам