Я привык использовать реляционные базы данных как MySQL или PostgreSQL, и объединенный с платформами MVC, такими как Symfony, RoR или Django, и я думаю, что он работает отлично.
Но в последнее время я услышал много о MongoDB, который является нереляционной базой данных, или, для заключения в кавычки официального определения,
масштабируемая, высокоэффективная, ориентированная на документ база данных без схем, с открытым исходным кодом.
Я действительно интересуюсь тем, чтобы быть в напряжении, и хотят знать обо всех опциях, которые я буду иметь для следующего проекта и выберу лучшие технологии там.
В котором использовании случаев MongoDB (или подобные базы данных) лучше, чем использование "классические" реляционные базы данных? И каковы преимущества MongoDB по сравнению с MySQL в целом? Или по крайней мере, почему это так отличается?
Если бы у Вас есть указатели на документацию и/или примеры, она очень помогла бы также.
Вот некоторые из преимуществ MongoDB для создания веб- прикладной:
Вам нужно будет прочитать больше об этом и поиграть с ним, чтобы получить лучшую идею. Вот онлайн-демонстрация:
Есть многочисленные преимущества.
Например, схема базы данных будет более масштабируемым, вам не придется беспокоиться о миграциях, код будет более приятным для записи ... Например, вот один из кода моей модели:
class Setting
include MongoMapper::Document
key :news_search, String, :required => true
key :is_availaible_for_iphone, :required => true, :default => false
belongs_to :movie
end
Добавление ключа Просто добавляю строку кода!
Существуют и другие преимущества, которые появятся в долгосрочной перспективе, как лучшая сила и скорость.
... Но имейте в виду, что не реляционная база данных не лучше , чем реляционный . Если ваша база данных имеет много отношений и нормализацию, может потребоваться немного смысла использовать что-то вроде MongoDB. Это все о нахождении правильного инструмента для работы.
Для большего количества вещей, чтобы прочитать, я бы порекомендовал взглянуть на «, почему, я думаю, что Mongo для баз данных о том, какие рельсы были в рамках » или на этом посте на веб-сайте MongoDB. Чтобы взволнованы, и если вы говорите по-французски, посмотрите на в этой статье , объясняющий, как настроить MongoDB с нуля.
Отредактируйте: Я почти забыл вам рассказать о этого Railscast Ryan . Это очень интересно и заставляет вас хотеть начать сразу!
Преимуществом без схемы заключается в том, что вы можете бросить любую нагрузку в нее, и никто никогда не будет иметь никаких оснований для жалоб на нее, или для того, чтобы сказать, что это было неправильно.
Это также означает, что все, что вы бросаете в него, остаются полностью пустыми значения после того, как вы сделали это.
Некоторые означают, что варный недостаток, некоторые другие не будут.
Дело в том, что реляционная база данных имеет устоявшуюся схему, является следствием того факта, что оно имеет хорошо установленный набор расширенных предикатов, которые являются тем, что позволяет нам придавать значение для того, что записано в базе данных, А какие также необходимые обязательные условия для нас это сделать.
Без устоявшейся схемы, никаких сложных предикатов, а без развлечений преодолевает, чтобы пользователю никакого способа сделать любое значение из того, что было набито.
MongoDB был показан на нищете еженедельно на этой неделе - http://twit.tv/floss105 База данных с использованием подобной концепции является CouchDB, которая была показана на другом FLOSS Weekly: http://twit.tv/floss36
Я думаю, что стоит слушать тех, кто в дополнение к ссылки предоставлены @marcgg
После вопроса о базах данных с текстовым хранением) Я посмотрел на Монгодб и подобные системы.
Если я правильно понял, они должны быть проще в использовании и настройке и намного быстрее. Возможно, также более безопаснее, так как отсутствие SQL предотвращает инъекцию SQL ...
Видимо, Mongodb используется в основном для веб-приложений.
По сути, и они утверждают, что сами по себе эти базы данных не подходят для сложных запросов, добычи данных и т. Д. Но они сияют при получении быстрого количества плоских данных.
Это все о компенсации. Монгодб быстро, но не кислота, оно не имеет транзакций. Это лучше, чем MySQL в некоторых случаях и хуже в других.