NOSQL. MongoDB и Node.js

Home » MongoDB » NOSQL. MongoDB и Node.js
MongoDB, Node.js Комментариев нет

ВНИМАНИЕ данную статью следует воспринимать как вольное сочинение автора(меня), на основе первого знакомства..Цель этой статьи – заинтересовать читателя и соблазнить его самолично проверить возможности node.is и mongodb.

Технологии node.js и mongodb

Технологии баз данных mongodb и node.js получают все большую и большую известность изза своей возможности к масштабированию. Продвигающие эту технологию позиционируют ее как отличный в плане доступности и мощный в плане масштабируемости и легкости администрирования инструмент веб- разработки. Так в чем же ее суть и каковы основные особенности?

Реализация сервера node.js

Сервер node.js асинхронно обрабатывающий запросы.
Веб-приложения этого сервера пишутся на чистом JavaScript и на уровне исходного кода и представляют из себя совокупность файлов с расширением js формата json. Важно отметить, что синтаксически, код не отличается от привычного всем JavaScript, только данный код интерпретируется сервером node.js как любой серверный скрипт, например, тот же PHP. В некотором смысле, структура простейшего веб-приложения на основе JavaScript чем то напоминает сервлет Java с его методом service(), содержащим входной и выходной параметры request и response. Что, помимо прочего,заставляет задуматься о возможном сходстве и более сложных структур веб-приложений.

Простейший показательный пример Node.js

Простейший сервлет java

Однако, конечно же, разработчикам не придется с нуля продумывать логику приложения, возьмись они за разработку под node.js. Для работы с сервером, уже есть готовые решения. Например mvc- фреймворк Express.

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

MongoDb как NoSQL-технология

Технологию mongodb также называют noSQL- технологией. Причем nosql расшифровывается не как – без SQL, а как not only SQL, так как база данных на основе этой технологии может хранить данные как SQL так и не SQL. Лозунг этой технологии – “made your Giant project”.

Отличительные особенности mongodb

Mongodb- база данных, вобщем то, внешне, ничем не похожа на SQL базы. Данные в ней хранятся в виде обьектов JavaScript, физически в виде откомпилированного определенным образом js – бинарного js или, сокращенно bson(элементы данных аналогичные таблицам SQL в mongo называются “коллекциями”). Данные в базу можно импортировать из обычных файлов js, в которых определенным образом синтаксически представлены обьекты.

Минусы базы MongoDB

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

Однако этот минус не столь существенен, как некоторые плюсы mongodb.

Плюсы MongoDB

Удобный поиск по геоданным и хороший полнотекстовый поиск

Удобный шардинг

Одна коллекция бьется на осклоки(шарды)

Удобная и хорошо настраиваемая репликация

Механизм реализации репликации(хранение запасных копий данных в разных базах, балансировка нагрузки, распределение данных по базам) баз, очень прост и эффективен в действии. Кроме того, он имеет множество различных вариантов настройки, с “умным поведением” серверов(главные сервера(primary), подчиненные сервера(secondary), сервера арбитры(arbiter)(не хранящие данных но учавствующие в “голосовании” серверов, в случае выхода из работы главного сервера). За счет такого развитого механизма хранения данных и достигается та масштабируемость и безопасность хранения информации, о которой говорят разработчики.

Еще один заметный плюс как node.js, так и mongodb, – это легкая установка на Unix систему.

LEAVE A COMMENT