2016-04-04 2 views
0

Использование MongoDB/CouchDB или любой базы данных на основе документов имеет обширную и обширную документацию с Node.js. Однако использование SQL (как raw, так и ORM) с узлом значительно меньше документации и поддержки сообщества. Почему очень немногие люди (по крайней мере, в учебниках, публичных проектах) используют Node.js с SQL или ORM по сравнению с теми, кто использует NoSQL?Почему NoSQL гораздо больше используется, чем РСУБД с Node.js?

Все, что я вижу для Node.js, представляет собой стек MEAN и различные настройки NoSQL (в комплекте с такими вещами, как метеорит). Мне очень странно видеть столь малое содержание и очень небольшое сообщество, работающее над Node и SQL. Хотя у ORM есть недостатки производительности, я также слышу множество недостатков использования нереляционных баз данных (например, неудачи запуска и т. Д.), В отличие от надежности и возраста SQL, плюс ORM решают проблему несоответствия Object-Impedence.

Мне пришлось использовать SQL в проекте Node и, чтобы справиться с этим, я использовал самый популярный Node ORM Sequelize для сопоставления кода JavaScript с SQL-запросами, чтобы я мог сосредоточиться на использовании одного языка, но документация и сообщество и в результате мне потребовалось много времени, чтобы узнать, как использовать его простыми способами, которые потребуют от меня минут на MongoDB.

Узел и SQL не предназначены для совместной работы?

ответ

1

Для сравнения, даты выпуска:

Oracle: 1979
Java: 1995
Node: 2009
MongoDB: 2009

Узел представляет собой новую технологию который часто используется с другими новыми концепциями и трендовыми архитектурами. Нет ничего плохого в использовании ORM/RDMS с узлом, но обычно, когда большая компания мигрирует для разработки новых систем с узлом или при запуске, решает строить вещи с помощью Node, они также хотят попробовать новые архитектуры и решения, такие как NoSQL, память базы данных, облачные сервисы и т. д.

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


Кроме того, узел использует JavaScript, которые имеют лучшую поддержку JSON, который отлично подходит для баз данных NoSQL и JavaScript является untyped/weakly typed language, что создает некоторые небольшие проблемы, чтобы использовать ORM инструменты.

+0

У Oracle Database есть поддержка данных JSON http://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246 –

+0

Это, с 2014 года, я думаю. Postgres также поддерживает JSON, и SQL Server будет поддерживать его в vNext. Однако предоставление поддержки не означает, что эта функция не хуже, чем в MongoDB. Кроме того, ему требуется больше рекламы, поскольку люди избегают тестирования подхода NoSQL от компании, специализирующейся на Relational. – Zanon

+0

Спасибо за редактирование и спасибо за фоновый –

Смежные вопросы