Есть ли что-то, что mongoDB не может делать, но делает MySQL, и наоборот?
MYSQL —
- Это популярная система управления реляционными базами данных (РСУБД) с открытым исходным кодом, которая разрабатывается, распространяется и поддерживается корпорацией Oracle.
- Она хранит данные в таблицах и реализует реляционные концепции данных. Она хранит данные в нормализованной форме, как и любая другая реляционная система баз данных.
- Он использует структурированный язык запросов (SQL) для взаимодействия с таблицами или объектами базы данных.
- В основе всего этого лежат фундаментальные математические основы, такие как - теория множеств и логика предикатов. (Так же, как T-SQL)
- Вы должны определить/объявить схему базы данных в соответствии с вашими требованиями. Вы должны установить некоторые основные правила, чтобы ваша база данных не нарушала концепцию RELATIONAL.
- Вся идея реализации концепции RELATIONAL заключается в том, чтобы минимизировать избыточность данных (достигается путем применения правил нормализации), что, в свою очередь, увеличивает сложность доступа к ним через запрос (множественные соединения).
МОНГОДБ —
- Это база данных с открытым исходным кодом, разработанная компанией MongoDB, Inc.
- Он хранит данные в JSON-подобных документах, которые могут отличаться по структуре.
- Связанная информация хранится вместе. (Денормализация) Дублирование данных не имеет значения, так как это полезно для более быстрого поиска данных. (Высокая скорость)
- Он использует язык запросов MongoDB для взаимодействия с базой данных.
- Он использует динамические схемы баз данных - вы можете создавать записи (документы) без определения/декларирования базы данных, структуры таблиц, полей данных и их типов. (Схема создается в соответствии с вашими данными - это как вода принимает форму в соответствии с ее емкостью).
- Структура/схема записей (документов) может быть изменена простым добавлением новых полей или удалением существующих.
ТЕРМИНОЛОГИИ И КОНЦЕПЦИИ:
СРАВНЕНИЕ ХАРАКТЕРИСТИК:
MongoDB это больше, чем просто “key-value” хранилище данных. Он предлагает —
ЯЗЫК ЗАПРОСОВ:
ПРИЧИНЫ ВЫБОРА MONGODB ВМЕСТО MYSQL:
- Используя MongoDB, мы можем создавать приложения намного быстрее, работать с различными типами данных и более эффективно управлять приложениями в масштабе. (для реляционных СУБД управление и поддержка - сравнительно сложная работа)
- Документы MongoDB естественным образом отображаются на современные объектно-ориентированные языки программирования —, в результате чего нет необходимости в сложном уровне объектно-реляционного отображения (ORM), который переводит объекты в коде в реляционные таблицы.
- Гибкая модель данных MongoDB’ означает, что схема вашей базы данных может развиваться в соответствии с требованиями бизнеса.
- Самое большое преимущество —
ПРИЧИНЫ ВЫБОРА MYSQL ВМЕСТО MONGODB :
- MySQL предпочтителен для приложений, требующих сложных, многорядных транзакций. Например, система бронирования путешествий - которая предполагает сложные транзакции.
- Поскольку MySQL является реляционной базой данных (RDBMS), она следует свойствам ACID — Atomicity, Consistency, Isolation, Durability. И если вы хотите использовать эти свойства, то MySQL будет идеальным вариантом, потому что MongoDB не следует свойствам ACID.
- Choosing MYSQL over Mongodb (Отличный пример покупки в магазине)
ПРИМЕЧАНИЕ —
Существует множество примеров гибридного развертывания MongoDB и MySQL. В некоторых случаях это вопрос использования правильного инструмента для работы.
Например, многие приложения электронной коммерции используют комбинацию MongoDB и MySQL.
Источник: MongoDB and MySQL Compared
Удачи :)
Любезно, ваш дружелюбный сосед - Человек-паук!!!
Comments