Подтвердить что ты не робот

Mongodb vs Postgres в приложении Nodejs

Я создаю приложение nodejs и полностью разрывается между nosql mongodb vs rmds PostregresSql. Мой проект заключается в создании проекта примера с открытым исходным кодом для регистрации посетителей и отображения статистики посетителя в режиме реального времени на веб-странице с помощью nodejs. Сначала я планировал использовать mongodb, потому что множество примеров nodejs и учебников, в основном, более старых, использовали его, и хосты paas со свободным teir изобилуют. Тем не менее, в последнее время я много раз встречался с mongodb и обнаружил, что люди, которые пытались использовать mongodb, переключились на postgres. http://blog.engineering.kiip.me/post/20988881092/a-year-with-mongodb http://dieswaytoofast.blogspot.com/2012/09/mysql-vs-postgres-vs-mongodb.html http://www.plotprojects.com/why-we-use-postgresql-and-slick/ Я также поклонник героку и много слышал о postgress, потому что считаю, что запросы sql иногда могут быть приятными.

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

У меня есть несколько критериев:

  • Так как я хочу, чтобы это было примером, было бы неплохо иметь способ размещения данных с приличным размером. Я знаю, что mongodb вызывающе предлагает это, но postgres paas, как heroku, похоже, имеют довольно небольшие базы данных (поскольку я регистрирую каждого посетителя на веб-сайте)

  • База данных, упрощенная и легко объясняющая другим.

  • Производительность не имеет большого значения, но скорость не может повредить

Спасибо за помощь!

Примечание: Пожалуйста, никаких пламенных войн, у каждого есть свое мнение:)

4b9b3361

Ответ 1

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

NoSQL имеет нишу группы применений, где данные хранятся в больших тесно связанных пакетах, называемых документами, а не в реляционной модели. В двух словах, данные, которые тесно связаны с одним объектом (например, все текстовые документы, используемые одним пользователем), лучше сохраняются в модели документа NoSQL. Данные, которые ведут себя как таблицы Excel и хорошо вписываются в строки и подпадают под совокупные вычисления, лучше сохраняются в базе данных SQL, из которых postgresql является лишь одним из нескольких хороших вариантов.

Третий вариант, который вы можете рассмотреть, - redis (http://redis.io/), который представляет собой простое хранилище данных с ключевыми значениями, которое чрезвычайно быстро при запросе как SQL, но не так жестко типизирован.

Пример, который вы цитируете, кажется простой проблемой столбца/столбца. Синтаксис SQL будет гораздо менее загадочным, чем синтаксис запроса для MongoDB. Node есть много вещей, чтобы рекомендовать его, и набор инструментов значительно созрел в прошлом году. Я бы рекомендовал использовать пакет monogoose npm, так как он уменьшает количество кода шаблона, которое требуется для родного mongodb, и я не заметил снижения производительности.

http://slashdot.org/topic/bi/sql-vs-nosql-which-is-better/

http://www.infoivy.com/2013/07/nosql-database-comparison-chart-only.html