2013-06-21 4 views
1

Существуют ли какие-либо преимущества для использования MongoDB для приложения Node.js, а не для традиционной базы данных SQL, такой как MySQL, если я не планирую иметь большие (более 1000 элементов) коллекций и уже удобен с SQL?MongoDB для небольших наборов данных

+0

не очень, нет, я могу думать о – Sammaye

+0

@Sammaye вы шутите? вся модель данных полностью различна и намного ближе к тому, что уже выглядит в структуре данных в приложении node.js. Какое значение имеет количество данных? –

+0

@ AsyaKamsky И другая структура данных может заметно отличаться от разработки приложения? Как с точки зрения производительности и т. Д.? Я думаю, что он ищет преимущества на самом деле, и если он устраивает SQL, у него будет ORM или что-то, что формирует плоские структуры SQL в структурах node.js, что делает очень небольшую разницу между сайтом MongoDB и SQL. Это означает, что разная структура данных не такая уж большая польза, как может показаться, так как SQL с некоторым причудливым программированием может действовать одинаково, и разработчик никогда не узнает. – Sammaye

ответ

6

MongoDB - это база данных, основанная на использовании схемы. Это означает, что вы можете вставить объект JSON с другими вложенными объектами. Это может сделать разработку проще, особенно для прототипирования.

Для небольшого проекта, почему бы и нет? Для более крупного проекта вы должны сделать больше исследований. Большие или маленькие, не мешает делать исследование в любом случае. Вы хотите рассмотреть, как ваше приложение использует базу данных (читает vs пишет) и как MongoDB масштабируется горизонтально и как он обрабатывает сбои.

Существует вещь, называемая теоремой CAP, которая определяет базы данных NoSQL. MongoDB - CP. В этом visual guide показаны отношения между различными базами данных. Что для вас и вашего приложения наиболее важно?

Что-то еще следует учитывать, так это то, что большинство баз данных NoSQL не соответствуют требованиям ACID. Если вы используете MySQL с InnoDB, это может быть чем-то значительным, чтобы отказаться, в зависимости от вашего приложения. Например, transactions может быть чем-то, что вы, возможно, не захотите сдаться.

Множество плюсов и минусов. Лучше всего спросить себя: что я набираю? Что я сдаюсь? Есть много вещей, и это действительно зависит от вашего прецедента.

1

Существует множество причин придерживаться простых dbms для мелкомасштабного приложения. Одним из них является широко распространенная доступность дешевых услуг хостинга, предоставляющих MySQL. Другим является простота развертывания и обслуживания.

Конечно, если вы пытаетесь научиться использовать MongoDB, идите на это!

+0

Я не знаю, что такое maintanence part и т. Д., Я использовал и то, и другое, как только вы получили базовые схватки. MongoDB легче разрабатывать для и так же легко для администратора, главное - это хостинг, вероятно. – Sammaye