私はnodejsアプリケーションを構築していますが、nosql mongodbとrmds PostregresSqlの間で完全に破れています。私のプロジェクトは、nodejsを使用してWebページに訪問者を記録し、訪問者の統計をリアルタイムで表示するためのオープンソースのサンプルプロジェクトを作成することです。私は最初、mongodbを使用することを計画していました。なぜなら、多くのnodejsの例とチュートリアル(ほとんどが古いもの)が使用しており、無料のテアを持つpaasホスティング業者がたくさんあるからです。しかし、最近、mongodbで多くのバッシングが発生しており、mongodbを使用しようとした人が最終的にpostgresに切り替えることに気付きました。 http://blog.engineering.kiip.me/post/20988881092/a-year-with-mongodbhttp://dieswaytoofast.blogspot.com/2012/09/mysql- vs-postgres-vs-mongodb.htmlhttp://www.plotprojects.com/why-we-use-postgresql-and-slick/ 私もherokuのファンであり、聞いたことがあるそのため、postgressについて多くのことを学び、SQLクエリがときどきナイスになることがあります。
私はデータベースの専門家ではありませんので、どの道を行くべきか私には一生わかりません。検討すべきものとその理由についてアドバイスをいただければ、本当に助かります。
いくつかの基準があります:
これを例にしたいので、適切なサイズのデータをホストする方法があるといいでしょう。 mongodbはこれに反抗的に提供することを知っていますが、herokuのようなpostgres paasはかなり小さなデータベースを持っているようです(私はすべての訪問者をウェブサイトに記録しているため)
単純化され、他の人に説明しやすいデータベース。
パフォーマンスは重要ではありませんが、速度は低下しません
助けてくれてありがとう!
注:火炎戦争はありません、誰もが自分の意見を持っています:)
SQLデータベースとNoSQLデータベースのどちらを選択するかは、今まさに議論されており、このテーマに関する多くの優れた記事があります。最後にカップルをリストします。特定のニーズに合わせてNOSQLよりもSQLを推奨することに問題はありません。
NoSQLには、リレーショナルモデルではなく、ドキュメントと呼ばれる大規模な密結合パッケージにデータが保存されるニッチグループのユースケースがあります。簡単に言えば、単一のエンティティに緊密に結合されたデータ(単一のユーザーが使用するすべてのテキストドキュメントなど)は、NoSQLドキュメントモデルに保存する方が適切です。 Excelスプレッドシートのように動作し、行にうまく収まり、集計計算の対象となるデータは、postgresqlがいくつかの適切な選択肢の1つに過ぎないSQLデータベースに保存する方が適切です。
考えられる3番目のオプションはredis( http://redis.io/ )です。これは、SQLのようなクエリでは非常に高速ですが、厳密に型指定されていない単純なキー値データストアです。
あなたが引用する例は、単純な行/列タイプの問題のようです。 SQL構文は、MongoDBのクエリ構文よりも難解であることがわかります。 Node推奨事項が多くあり、ツールセットは過去1年間で大幅に成熟しています。ボイラープレートコードの量を減らすため、 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