Как база данных MongoDB может лучше организовать ваши данные

Любой, кто когда-либо работал с базами данных, которые организуют данные в таблицы, также называемые реляционными базами данных, вероятно, может подробно рассказать о его недостатках. Как бы ни была велика система хранения данных, она не без проблем и не предназначена для интерпретации людьми, что делает организацию с ней запутанной, избыточной и с крутой кривой обучения.

Отсюда и движение NoSQL. SQL расшифровывается как язык структурированных запросов и используется для связи с базами данных. Но это не так здорово в более широком масштабе. Когда, например, приложения становятся вирусными, необходима поддержка, чтобы пользователи могли использовать приложение без каких-либо проблем. Но SQL становится сложнее в таком масштабе, чем многие разработчики.

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

Что такое MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (от «humongous») — это кроссплатформенная документно-ориентированная база данных, используемая в качестве альтернативы MySQL. Но что это значит? Ну, база данных представляет собой структурированный набор данных

Однако MongoDB отличается тем, что имеет тенденцию быть менее строгим относительно структуры этих данных. Информация сгруппирована, а не разбита на связанные документы и таблицы, такие как MySQL, популярная СУБД или система управления реляционными базами данных, которая использует SQL.

Многие базы данных, использующие SQL, хранят данные в таблицах на страницах. Подумайте о чем-то вроде электронной таблицы Excel с кусочками кода. Эти страницы представляют собой самые маленькие фрагменты данных на сервере, и каждая страница посвящена одной таблице. Это становится запутанным в больших масштабах, тогда как с MongoDB разработчик может решить, как структурировать информацию в соответствии с их потребностями.

MongoDB использует BSON для хранения информации. BSON (комбинация «двоичного» и «JSON» или JavaScript Object Notation) может рассматриваться как двоичное или числовое представление документов JSON. JSON

это формат открытого стандарта (например, с открытым исходным кодом) для организации данных.

Также добавлена ​​поддержка определенных типов данных, которые не поддерживаются в JSON, например, тип данных «дата», который обычно не поддерживается и поэтому не может использоваться разработчиком. В этом случае разработчик не сможет включить какую-либо дату в качестве части данных.

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

Документы не должны быть структурированы определенным образом в соответствии с коллекцией или группой связанных объектов, в которых они организованы, что позволяет разработчику легко приступить к работе с MongoDB. Это привело к тому, что он стал одной из самых популярных баз данных NoSQL.

Что отличает его от MySQL?

Mysql-скриншот

Поскольку MySQL является, пожалуй, наиболее широко используемой СУБД из всех существующих, хотя она и может быть ошибочной, вполне естественно, что альтернативы будут появляться. Поскольку NoSQL является альтернативой SQL, MongoDB считается альтернативой MySQL. MySQL использует таблицы для организации своих данных и основана на классической реляционной модели данных двадцатого века, хотя, как и MongoDB, ее можно модифицировать для улучшения функциональности.

Тем не менее, два сильно различаются. Они предназначены для разных целей, для одного. MongoDB больше предназначен для более крупного (очень большого) масштаба, в то время как MySQL может справиться только с таким количеством вещей. Как упоминалось ранее, MySQL использует таблицы для организации данных, которые могут оказаться очень запутанными. Тем не менее, они оба являются очень хорошими системами, и на самом деле гибриды внедряются на определенных сайтах в Интернете. Craigslist известен как один из наиболее успешных сайтов, использующих гибрид MongoDB / MySQL.

Как это работает?

документ mongodb

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

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

Разработчики могут получить доступ к документам через драйверы, которые они могут прочитать и понять, а документы доступны на самых популярных современных языках программирования. В MongoDB документы естественным образом сопоставляются с объектами, поэтому нет необходимости в слое ORM (объектно-реляционное сопоставление), который вручную отображает документы на соответствующие объекты. Проще говоря, документы связаны с объектами естественным образом, поэтому для их подключения не требуется отдельная команда или программа.

MongoDB использует оболочку на основе JavaScript и поддерживает разработчиков, пишущих собственный код с использованием функций JavaScript, и, вероятно, станет более распространенным, поскольку JavaScript продолжает развиваться

по популярности.

Кто это использует?

Несмотря на то, что MongoDB все еще относительно молод, он используется на многих популярных веб-сайтах. К ним относятся деловой журнал Forbes, а также подарочный Buzzfeed.

Forbes воспользовался MongoDB для быстрой разработки нового веб-и мобильного портфолио. Скорость и мощь MongoDB позволили им создать веб-сайт за два месяца и мобильное приложение за один месяц. Это сильно повлияло на их читательскую активность и трафик. По словам разработчиков MongoDB:

За ночь мобильный трафик подскочил с 5% до 15% общего трафика Forbes.com и быстро вырос до 50%.

Buzzfeed страдает от проблем, с которыми сталкивается любая крупная медиа-организация. Их распределенные сотрудники пишут такое огромное количество контента

Огромной аудитории. MongoDB позволяет Buzzfeed быстро масштабироваться в зависимости от трафика, который они получают, а также определять, какой тип контента резонирует с их читателями.

Как вы используете его?

MongoDB — отличный инструмент для разработчиков веб-приложений, игр и программного обеспечения. Мы знаем, что это быстро и масштабируемо. И мы знаем, что это легко читать и учиться. Но как вы на самом деле используете это?

оболочка mongodb в браузере

Официальный веб-сайт MongoDB предлагает пользователям возможность попробовать оболочку MongoDB в своих браузерах. TutorialsPoint предлагает несколько очень подробных руководств по использованию MongoDB, от начинающих до продвинутых. Есть также проекты на GitHub

связанных с MongoDB, в том числе Книгой Маленького MongoDB Карла Сегина, почти для всего, что вам нужно знать о MongoDB.

Если вы просто хотите узнать, как установить MongoDB, обязательно ознакомьтесь с этим руководством на официальном сайте MongoDB.

Вы должны использовать это?

Это зависит от вашей индивидуальной ситуации.

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

MongoDB также использует всю доступную память в качестве системного кэша. В результате на компьютерах, работающих в 32-разрядных системах, возникают проблемы с производительностью, которые могут занимать не более 4 ГБ памяти. Чтобы узнать больше об использовании оперативной памяти на вашем компьютере, обязательно прочитайте эту статью Брэда Джонса

,

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

Тем не менее MongoDB — это невероятно быстрая и эффективная система, которая может помочь в повышении производительности труда разработчиков.

MongoDB также удобен для пользователя, так как не требует единой структуры данных для всех объектов, хотя для простоты использования рекомендуется настроить ее. Структура данных не обязательно должна быть одинаковой во всей системе, поэтому единый голос не является абсолютно необходимым.

Наконец, по словам писателя Мэтью Хьюза, MakeUseOf

Команда MongoDB ведет отличный блог с высококачественным, хорошо написанным техническим контентом, предназначенным для технической аудитории.

Заключение

Если у вас нет системы с достаточным объемом оперативной памяти, которая не поддерживает большую базу данных, или вы вообще не хотите иметь большую базу данных, MongoDB не для вас. Он имеет тенденцию продавать себя только в больших масштабах. Для небольших проектов использование RDBMS, вероятно, проще. Однако, если вам нужна скорость и простота, и вы можете поддерживать систему, возможно, стоит обратить на это внимание.

Есть ли у вас опыт работы с MongoDB? Хотите попробовать это? Оставьте комментарий ниже и мы поговорим!

Изображение предоставлено: «Подключение к оболочке MongoDB» Уларугейаниной через Wikimedia Commons, «Mysql-screenshot» Стефантом через Wikimedia Commons

Ссылка на основную публикацию
Adblock
detector