Статьи

На голову выше остальных: почему стоит использовать MongoDB

Один из самых распространенных вопросов, который задают не пользователи, это «Почему я должен использовать MongoDB?»

Есть множество причудливых ответов: вы можете масштабировать его (webscale!), Вы можете использовать его для MapReduce, вы можете хранить в нем файлы. Все это правда, но каждая стоящая за ней база данных может масштабироваться (есть кластеры MySQL с десятками тысяч узлов), каждая новая база данных, которую я знаю, поддерживает MapReduce, а файловые системы довольно хороши для хранения файлов.

Я думаю, что причина гораздо проще:

MongoDB убирается с вашего пути.

Например, пользователь (в IRC) спросил: «Как мне сохранить данные формы в MongoDB?» Исходя из вопроса, я предположил, что он использует PHP, поэтому я вставил следующие три строки:

$m = new Mongo();
$m->test->formResults->insert($_POST);
print_r($m->test->formResults->findOne());

«Эй, это работает!» он сказал.

(Для тех из вас, кто не знаком с MongoDB (или PHP), он сохраняет и извлекает все из запроса POST и может быть запущен без предварительной настройки базы данных. * )

Итак, все навороты хороши, но я думаю, что реальная выгода — это простота. MongoDB — это язык сценариев для баз данных: вы можете просто выполнить работу быстро.

В этом духе первая тема ежемесячного конкурса блогов 10gen заключалась в том, чтобы написать что-то, что вы быстро разработали с помощью MongoDB. Записи были классные: люди создавали действительно интересные приложения смехотворно быстро.

Скриншот Mojology с отображением записей системного журнала

Некоторые из моих любимых записей были:

Быстрое (-иш) развитие BugRocket

Райан Фундук написал о создании баг-трекера.

«Без MongoDB я бы с легкостью перенес бы более тысячи миграций баз данных».

Рождение моологии

Gergely Nagy создал приложение с открытым исходным кодом для просмотра и ведения статистики сообщений системного журнала.

«Примерно через четыре часа [после установки MongoDB] я опубликовал первую версию моего целевого драйвера mongodb в списке рассылки syslog-ng».

От 0 до 1 миллиона за 6 часов

Брэдли Гржешак писал о программировании VoiceRally.

«В пятницу, на следующий день после написания VoiceRally, мы отправили более 1,5 миллиона сообщений WebSocket».

Семейная ложка и MongoDB

Том Майарото пишет о создании сайта рецептов.

«Да, вам нужно знать о« схеме », и вы не можете взбеситься, но вы также получаете больше прощения, и MongoDB работает с вами, чтобы решить ваши проблемы. Это очень гибкий. Это не то, что вам нужно обойти, это то, с чем вы можете работать. Каждый раз, когда вы, как разработчик, сталкиваетесь с подобной ситуацией, ваш день будет гораздо более счастливым и продуктивным ».

Проверьте другие записи , а также. Жаль, что мы можем выбрать только одного, чтобы выиграть!

В этом месяце мы просим людей написать о приложении с открытым исходным кодом, используя MongoDB, и приз — iPad2!

Отредактировано, чтобы добавить: некоторые комментаторы расстроены из-за моего совета хранить $ _POST в MongoDB. Вы не должны хранить какие-либо пользовательские данные без присмотра. Для людей, знакомых с SQL, приведенный выше код не допускает традиционную инъекционную атаку с MongoDB (как это было бы с SQL). После первой попытки успеха я велел парню не делать этого таким образом и идти читать документацию. Вставка $ _POST была инструментом обучения, а не решением, и я попытался прояснить это с помощью IRC, если не в этом посте.