タグ

mongodbに関するnorisuke3のブックマーク (15)

  • MongoDB における 集計 (Aggregatioin) の 基本

    今回は「MongoDB における 集計 (Aggregation) の基」についてまとめます。 あまり細かいところは触れませんが、大まかな概略はつかめるようにまとめました。 集計手続き(Aggregation Pipeline) 一般に「集計を行う」となると「さまざまな処理を経て目的とする値を取得する」ようになっていると思います。 例えば、「今月売れた商品を売れた数順に取得する」のであれば「売上データを対象に今月の売り上げで絞り込み→商品ごとに売り上げ個数を集計→数が多い順にソート」といった流れで処理します。 これはRDBだと複数のサブクエリを作成して実現しているかと思いますが、 MongoDB だと aggregate([<stages>]) のように個別処理(ステージ)を配列にして aggregate() へ渡すことで実現します。 前述のサンプル(「今月売れた商品を売れた数順に取得す

    MongoDB における 集計 (Aggregatioin) の 基本
  • MongoDB Storage Statistics (MMAPv1) | mLab Documentation & Support

  • MongoDB Support Policies

  • 俺でもわかるシリーズ: MongoDBのレプリケーション - Qiita

    この記事はMongoDB Advent Calendar 2015の17日目です。 概要 何を今更感満載のおさらい記事です。 意図せず嘘を含む可能性がゼロではないので、ドキュメント Replication — MongoDB Manual 3.0 併読推奨です。 Replica Setとは? Replication Introduction — MongoDB Manual 3.0 Replica Setとは、MongoDBが備える強力なレプリケーションと自動フェイルオーバーの仕組みです。 複数台のMongoDBサーバーで構築されたReplica Setは、もう一つのMongoDBの強力な機能であるSharding (水平分割)においてShardとして追加することが可能です。 どちらも大規模で高可用なMongoDBデータベースを構築する際に欠かせないものであり、これを標準機能として持ってい

    俺でもわかるシリーズ: MongoDBのレプリケーション - Qiita
  • Loading...

  • Mongo 3.6 performance issue

  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
  • MongoDBのAggregationを使ってみる - Qiita

    MongoDBでAggregation=集計を行う方法は3つあります。 Aggregation Pipeline map-reduce function single purpose aggregation method 今回はこのうちのAggregation Pipeline(以下、pipeline)を使ってみました。pipelineがMongoDBで集計を行う上では好ましい方法であるとされています。 pipelineの使い方 実例を挙げてみます。orderコレクションの中に次のようなデータがあったとします。_id列は省略してあります。 > db.order.find() { "cust_id" : "A123", "amount" : 500, "status" : "A" } { "cust_id" : "A123", "amount" : 250, "status" : "A" }

    MongoDBのAggregationを使ってみる - Qiita
  • 開発者が知っておくべき、ドキュメント・データベースの基礎

    開発者が知っておくべき、ドキュメント・データベースの基礎:特集:MongoDBで理解する「ドキュメント・データベース」の世界(前編)(1/3 ページ) ドキュメント・データベースの最大の特長は、「パフォーマンス、大量データ、スケーラブルといった課題を克服するためのシンプルなセットを提供している」という点だ。 もちろん既存の多くのリレーショナル・データベース(以下、RDB)でも、ドキュメント・データベースが備えている特徴的な各機能に類似することが実現可能だし、さらに広範な概念や機能性を提供している。例えばシャーディング(Sharding。詳細後述)についても、既存の多くのRDBでデータの分散化が可能だ。しかしドキュメント・データベースでは、「そもそもデータ構造がこうした構成に適している」という点と、「それに付随して、考え方もシンプルである」という点が優位な特徴である。 万人が、データベースが

    開発者が知っておくべき、ドキュメント・データベースの基礎
  • MongoDBとRavenDBの違いから読み解く、ドキュメント・データベースごとの設計思想

    MongoDBとRavenDBの違いから読み解く、ドキュメント・データベースごとの設計思想:特集:MongoDBで理解する「ドキュメント・データベース」の世界(後編) 前回の前編では、MongoDBを例にドキュメント・データベース(Document Database)の基的な機能を見てきたが、いくつかMongoDB独自の考え方や特徴も含まれていた。今回の後編では、MongoDB以外のドキュメント・データベースとして「RavenDB」(インストールや基的な使い方についてはこちらを参照)を見ていくことで、同じドキュメント・データベース同士での相違を簡単に確認したい。 いくつかのドキュメント・データベースを見ていくことで、同じ「ドキュメント・データベース」という共通の概念ではあるが、それぞれがどのような位置付けであるか、その相違を発見できるだろう(なお、ここではデータベースごとの機能比較表を

    MongoDBとRavenDBの違いから読み解く、ドキュメント・データベースごとの設計思想
  • 開発者が知っておくべき、ドキュメント・データベースの基礎

    開発者が知っておくべき、ドキュメント・データベースの基礎:特集:MongoDBで理解する「ドキュメント・データベース」の世界(前編)(3/3 ページ) 柔軟で容易なスケールアウト(Sharding) MongoDB、RavenDBなどのドキュメント・データベースは、データ量の増加に伴う分散化やスケールアウト(scale-out)に配慮されており、シャーディング(Sharding)(=1つのデータベースを分割し、複数に分散させて管理・運用すること)やレプリケーション(Replication)(=データベースのレプリカを作成すること)が容易に実現可能という点も特長の1つだ。今回は、シャーディングを例に、簡単に見て行こう。 ●MongoDBのシャーディング(Sharding) MongoDBにおけるシャーディングは、RavenDBのそれと比べて自動化されている要素が多く、そのトレードオフとして構

    開発者が知っておくべき、ドキュメント・データベースの基礎
  • MongoDBとブラウザだけで旅の記録をつけてみるか その1 - Qiita

    MongoDBしか信じない。百歩譲ってJavaScriptは許そう。 そんなあなたにこの記事を。 MongoDB Advent Calendar 2013 第1日目の投稿です。 このテーマにいたる思考プロセス 人手不足なMongoDB Advent Calendarを埋めるためにも連載ものっぽくアプリを作っていくか。 そういえば、あまり知られてなさそうなMongoDBのREST API機能を使ってみようかな。こんな時くらいしか使い道ないし。 旅してる途中だし、MongoDBのGeo Index機能を使ってみる。こちらはけっこう使われている模様。 Backbone.jsを使いたかった。 TODOアプリはいっぱいあるから位置情報使ってみる。 こんなアプリ作る 旅を振り返って一人でニヤニヤするのが目的。 ブラウザでアクセスしたら位置情報とって記録するやつ。なんかHTML5になってGeolocat

    MongoDBとブラウザだけで旅の記録をつけてみるか その1 - Qiita
  • MongoDBの薄い本

    2.6対応版 MongoDBの薄い The Little MongoDB Book Karl Seguin 著 / 濱野 司 訳 i 目次 目次 i このについて iii ライセンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 著者について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 謝辞 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 最新バージョン . . . . . . . . . . . . . . . . . .

  • Rails 3 + mongoDB + haml + RSpec + jQuery のインストール - 1 - Masatomo Nakano Blog

    (2010-08-30: Rails 3.0.0がリリースされたのでそれにあわせて更新。generator関連が少し変わってる) 会社用の、小物Webアプリを作ろうかと思い、せっかくなのでRuby on Rails 3でmongoDB使ってみようかな、と思い、とりあえず環境を作るところまでのメモ。 Rails 3 のインストール とりあえず Rails 3 のインストール。Bundlerで入れる。Bundler自体のバージョンが1.0以上でないとダメみたいなんで、もしそれ未満しか入っていない場合にはBundlerのインストールからする。 プロジェクトのトップディレクトリとなるところを作成し、そこにGemfileを作る。 $ mkdir ~/workspace/hoge_prj $ cd ~/workspace/hoge_prj Gemfile source 'http://rubygems

  • なぜMongoDBなのか - Masatomo Nakano Blog

    ここを見てもらってる人に、「MongoDBって何がいいの?」と改めて聞かれてしまって、ああ、そっか、そういうこと書いてなかったな、と思ったので、なぜ自分がMongoDBに興味を持っているのか、ということを書いてみた。いざ自分の思いを書いてみたらRails中心の話になってしまったけど、モダンなフレームワークならそんなに話は変わらないのかな、と思っている。 そもそものきっかけは、ここ半年間くらいRuby on Rails(以下RoR)で開発していることにある。 ここ半年弱ほどRoRで開発をして、それなりに満足しているのだけど、ActiveRecordに関しては色々とひっかかるところがあった。 「ActiveRecordがRoRの素晴らしいところそのものだ」と評価している人もいるが、自分の中では逆で、ActiveRecordはRoRの中でもかなりいまいちな部分。 いや、ActiveRecordと

  • 1