タグ

MongoDBに関するhrfmsdのブックマーク (21)

  • MongoDBの集計機能が便利過ぎて泣けてくるお話し - Y's note

    MongoDBイン・アクション 作者: Kyle Banker,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/12/14メディア: 大型購入: 5人 クリック: 55回この商品を含むブログ (4件) を見る MongoDB集計機能 CentOSでNginxのログをFluentdを使ってMongodbにリアルタイムで格納する - Yuta.Kikuchiの日記 時給3000円のCEOと揶揄されている@yutakikucです。今日は簡単にMongodbのログ集計機能を紹介します。機能が豊富過ぎて泣けてくるんで、ログ解析する人は是非使ってみて下さい。FluentdでMongodbNginxLogを流し込む設定は上のエントリーを参照して下さい。次回はAggregationFramework/MapReduce周りについて触れたいと思います。 泣ける話 : 集

    MongoDBの集計機能が便利過ぎて泣けてくるお話し - Y's note
  • MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp

    まとめ 超長くなったのでまとめを上に持ってきた。 巷で言われているチューニングは結構嘘が多い事が解ってきた。 ツール等 workingSet Analyzer は信用ならない。(overSecondsはまあ良い) mongoperfの値は完全に参考にならない。 insert mongoperfの値はinsert性能と関連しない。(何を測ってるんだ?) カラムのプリアロケーションによるUPDATE時のデータ肥大化回避($setOnInsert)はMUST。 クリティカルな時間帯にストレージファイル(2GB)の生成を避けるチューニングの効果は懐疑的。 レコードプリアロケーション・チューニングは頑張る価値が無い。(むしろ逆効果) update 上記の通り必ずin-placeになるようにする。 paddingFactorが動くようだとお話にならない性能劣化 remove かなり高速。 全件削除の場

    MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp
  • MongoDB のベストプラクティス (翻訳版) - Engine Yard Blog JP | Engine Yard Blog JP

    記事は英語版ブログで2011年12月20日に公開された記事の翻訳版です。 Engine Yard のデータ チームからご挨拶申し上げます。今回は、当チームで前回のブログ(英語版)以来どのような努力をしてきたかをお知らせしたいと思います。 今年当チームが編成された当初、最初に与えられた仕事は MongoDB を使ってスタックの機能を拡張することでした。しかし、NoSQL データストアをスタックに追加するだけで、当社がサポートするリレーショナル データベースを更新しないのでは、かえってお客様に迷惑をかけることになると私たちは感じました。そのため MongoDB の開発を一時中断し、MySQL と PostgreSQL の両方を更新することにしたわけです。今日現在、MySQL 5.5 はベータ版が公開されており、PostgreSQL 9.1 のベータ版も近日中に公開されます。両方とも 2012

  • MongoDB : サルでもわかるMapReduce · DQNEO日記

    まずは「集計ができる」と覚えておきましょう。 最初はこれだけで十分でしょう。 利用事例 ある日、ピカチューがつぶやきサービスでつぶやき始めました。 ピカチューのつぶやきに対して、仲間からたくさんの「いいね!」ボタンが押されました。 あなたはつぶやきサービス管理人として、ピカチューのつぶやき数と、ピカチューがゲットした「いいね!」のトータル数を集計してみましょう。 準備 Mongoクライアントを起動して、DBを作成しましょう。 ./mongodb/bin/mongo MongoDB shell version: 2.0.1 connecting to: test > use sample; switched to db sample サンプルデータ ピカチューが3回つぶやいて、「いいね!」がたくさんつきました。 > db.entries.save( {username:'pikachu',

  • 【CyberAgent】技術情報/TechReport - テックレポート/MongoDBの運用について | 株式会社サイバーエージェント

    ■はじめに 弊社でも、ピグライフをはじめとしてモバイルゲームなどのサービスでMongoDBを使い始めています。 運用に関してはMySQL等にはまだノウハウ的にはかなわないものの、NoSQLのジャンルの中では有用なプロダクトであるといえるかと思います。 ですが、運用に関しての共有ができておらず、有効な使い方ができていないパターンも多いです、そのため運用に関してノウハウを共有するための資料を作成しました。 ■概要/特徴 MongoDBには以下のような特徴がある ●      BSONによる、JSONによるスキーマレスなデータ運用 これにより、柔軟なデータ構造をわかりやすく表現できる。 加えてスキーマレスなため、データの構成を柔軟に帰ることが出来る ●      レプリカセットによる冗長化対応 MySQLでも、マスタを冗長化するためには、MySQLCluster、MHAなどのプロダクトがあ

  • 開発者が知っておくべき、ドキュメント・データベースの基礎

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

    開発者が知っておくべき、ドキュメント・データベースの基礎
  • 「MongoDBのはじめての運用テキスト」を書いてみた - 256bitの殺人メニュー

    MongoDB使いましょって時に、やれ、レプリカセットだの、シャーディングだの、いちいち手順とか教えていくのがめんどくさくなったので、これを見たらコマンド的な手順はひと通りいけますよ。だから後は自分で調べてね、っていう資料をつくってみたのだ。 というわけで、「MongoDBのはじめての運用テキスト」SlideShareにあげました。 MongoDBのはじめての運用テキスト from Akihiro Kuwano 内容 PDFには、以下の様な内容を盛り込んでいます。 インストール レプリカセット構築 シャーディング設定 基的なオペレーション Stat系ツールの見方。 ただし、徐々に古い情報にはなってくると思うので、詳しい情報や、最新の情報を見たい方には公式のWikiなり、ソースなり見ていただくのを推奨いたしますw 意図 以前MongoDBの薄いなどもあって、あれはすごくわかりやすい入門テ

    「MongoDBのはじめての運用テキスト」を書いてみた - 256bitの殺人メニュー
  • Node.js、Socket.IO、MongoDBでリアルタイムWeb

    Node.js+Socket.IO+MongoDB こんにちは! 著者は、マインドフリーという会社でNode.jsを使ってWebアプリなどを作成している。この連載では、最新Webテクノロジを使った研究開発の事例や実績を発信する弊社のサイト“Tech Release”のリニューアルで培ったNode.jsに関する知識を分かりやすくお伝えする。 Tech Releaseは一見、普通のブログに見えるが、実は記事の更新内容がリアルタイムにView画面に反映されている。管理者が、記事の文章(データ)に変更を加えると、その記事を見ている人にもページをリロードせずに、リアルタイムに文章(データ)が変化していく。 このUXを実現するために開発したシステムが、REALTIME BLOG ENGINE「REABLO」というエンジンだ。「REABLO」はNode.jsとSocket.IO、MongoDBを使用して

    Node.js、Socket.IO、MongoDBでリアルタイムWeb
  • あにみた!(PHPカンファレンス用資料)

    3. 自己紹介 名前:石山 宏幸(Hiroyuki Ishiyama)/ @ishiyama_amn 会社:アジャイルメディア・ネットワーク株式会社(AMN) 所属:システム部 役職:HWE(ハイパーウェブエンジニア) 2010年9月よりJOIN! 今のお仕事: ・Fans:Fans 「ファンでつながるファンサイト」 ・Profill「プロフィール登録サービス」 ・あにみた!「あなたが見たアニメを楽しく記録するサービス」 他、雑務色々w\(^o^)/

    あにみた!(PHPカンファレンス用資料)
    hrfmsd
    hrfmsd 2012/10/01
    WEBサービス
  • MongoDB - Tech Note

    このページではドキュメント指向データベースのMongoDBに関するメモを書いています。また、ここに記載するサンプルコードはPythonで書かれており(一部はC++)、MongoDBドライバのPyMongo(バージョン2.0未満だとサポートされていない機能も多いので2.0以上を推奨)を利用しています。 C++ドライバについてはブログでも紹介しています(MongoDB C++クライアント)。 環境 CentOS 5.8 (x86_64) MongoDB 2.0.7 C++ Driver v2.0-latest PyMongo 2.2 概要 スキーマレス ドキュメント指向データベースはRDBMSと違ってスキーマを定義する必要がない。データは''BSON''(Binary jSON)と呼ばれるフォーマットで保存される。ドキュメントの集まりは''コレクション''と呼ばれるが、これはRDBに置き換える

  • 『MongoDBを用いたモバイルゲーム開発について』

    こんにちは。アメーバ事業部のブログDivでエンジニアをしている@ygenkiと申します。 今回は、2010年12月末から2011年3月にかけて開発したモバイルソーシャルゲーム(以下、モバイルゲーム)で導入したMongoDBの話をさせていただきたいと思います。 MongoDBについては、すでに当エンジニアブログで津田氏によって紹介されております。 ドキュメント指向データベース「MongoDB」 ■MongoDBを使った理由 今回のゲームは私にとって2つめのモバイルゲーム開発になりました。 前回の開発ではMySQLを使用しておりましたが、モバイルゲーム開発の以下の特徴からMongoDBを採用いたしました。 ○開発効率の向上 モバイルゲーム開発は短期間での開発が求められ、ゲームという特性上仕様変更が頻繁に行われます。スキーマレスであるMongoDBはデータ構造の変更に柔軟に対応する事ができると

    『MongoDBを用いたモバイルゲーム開発について』
  • MongoDBを今日から始めるためのドキュメント - Masatomo Nakano Blog

    追記: 最新情報はこちらです。 MongoDBが流行ってきてる風なので、これだけ読んでおけばMongoDBの雰囲気がわかるだろうってところを、日語訳が終わっているところから集めてみた。 なるべく順に読めるように並べたつもりだけど、前後してるところもあると思うので、とりあえず読み進めるのをお勧め。 まず、何はなくとも、 コレクション (Collections) 次にコレクションを触るためのシェル。MongoDBのシェルというのは、RDBMSでいうとSQLを直接叩くところで、PostgreSQLのpsqlコマンド, MySQLmysqlコマンドみたいなもの。 実際にMongoDBを使って開発する場合、直接MongoDBを操作するよりも、各言語(PHPとかRubyとかJavaとか)のマッパー経由で使うことが多いとは思う。しかし、SQLを知らないとO/Rマッパーを使いこなすのが難しいように、シ

  • WebベースのMongoDB管理インタフェース·mViewer MOONGIFT

    mViewerはWebベースのシンプルなMongoDB管理インタフェースです。 最近はNoSQLを運用の一部に使うことが増えてきました。そうなると必要になるのが管理ツールです。すぐに使えて手軽なものが良ければmViewerを使ってみましょう。起動コマンドも用意されていて簡単です。 トップページです。ログインします。 ログインしました。左側にデータベースが並んでいます。 データベースを選択するとコレクションが表示されます。 コレクションはツリーテーブルで表示もできます。 サーバの状況表示。 データベースの状況表示。 ツリーを開いてさらに内部の値を確認できます。 Flashベースの利用状況モニタリング。 新しいデータベースの作成もできます。 コンテクストメニュー。 デモ動画です。 mViewerはデータベースの作成や削除、コレクションの作成、更新と削除、GridFSファイルの追加、表示、ダウン

  • PHPとMongoDBで部分一致検索をやってみた - F.Ko-Jiの「一秒後は未来」

    先日ドットインストールに MongoDB の基礎レッスンを追加したこともあって、最近よく MongoDB をさわるようになりました。 PHP から MongoDB を扱うには、PECL の Mongo というライブラリを使います。 <?php $mongo = new MongoClient(); $cursor = $mongo->test->foo->find( array( 'is_new' => 1 ) ); foreach ($cursor as $doc) { print_r($doc); } これは is_new の値が 1 のデータを取得する例。PHPなので find()の取得条件を構築するには配列を使います。 同じ処理を MongoDB 自身の書き方で書くと、 $db.foo.find( { is_new: 1 } ); このようになります。find() の引数はオブジェ

    PHPとMongoDBで部分一致検索をやってみた - F.Ko-Jiの「一秒後は未来」
  • MongoDBの薄い本(The Little MongoDB Book) - cuspy diary

    Karl Seguinさんの「The Little MongoDB Book」を和訳しました。 このはMongoDBの基礎を実際に手を動かして学ぶチュートリアルです。 MongoDBの基礎から、データモデルの設計方法、MapReduceなど幅広い内容をカバーしています。 また、特別MongoDBに興味が無くても筆者のNoSQLへの考え方は一読の価値があるだろう。 ダウンロードPDF版 the-little-mongodb-book-ja.pdf epub版 the-little-mongodb-book-ja.epub(あんまりきれいに組版できてないけど…) 誤訳などあれば @hamano まで ソースはこちら: https://github.com/hamano/the-little-mongodb-book 更新履歴2012/04/17 v1.0 初版公開。 2012/06/15 v

  • cloudrop

    「第3回 MongoDB 勉強会 in Tokyo」 : ATND 先週土曜日(2011年5月14日)にフューチャーアーキテクトさんのセミナールームにて行われたMongoDBの勉強会に行ってきました。 MongoDBの仕様・機能などの体系的な話からチューニングの話、開発に利用する話、プロダクションとして運用している話と、バランスよくまとまっていてとても勉強になりました。 RDBとの違いや特有の挙動をきちんと把握して利用すれば、十分プロダクションで利用出来るというビジョンが見えました。 詳細は各発表者の方のスライドを見るとわかると思いますが、当日会場でメモしたものでダイジェスト的にまとめました。 MongoDB勉強会は毎月開催(予定)しているそうなので、興味を持たれた方は是非参加して見てください。 MongoDBコミュニティー:MongoDB JP | Google グループ 【発表1】Mo

    cloudrop
  • MongoDBにおける関連(Relation)のスキーマ設計 - masa_wの日記

    前回、MongoDBSNSつくるぞという記事を書いてから随分時間がたってしまいました。単に私がだらけていたということもあるのですが、一番ひっかかって時間を取られていたのが、MongoDBにおけるスキーマ設計の考え方です。 いまだに試行錯誤中ではありますが、現時点において私がこうあるべきと理解しているところをアウトプットしてみたいと思います。 1.One to Many のケース たとえば注文と注文明細のケースを考えてみます。RDBで1対多のリレーションを設計する場合、 というように、注文明細を別テーブルにするのが普通かと思います。しかし、ドキュメント指向のMongoDBにおいては、RDBと違ってオブジェクト内に柔軟なデータ構造を実現できるため、 というように一つのCollection内にデータを埋め込んでしまうのが、パフォーマンスの点からも良しとされています。 ただし、以下の2点について

    MongoDBにおける関連(Relation)のスキーマ設計 - masa_wの日記
  • スキーマデザイン - Docs-Japanese - 10gen Confluence

    導入 Mongoでは、リレーショナルデータベースのデザインでするような"正規化"はそれほど必要ありません。サーバサイドでの"join"がないからです。一般的には、1つの最上位のオブジェクトレベルに対して、1つのデータベースコレクションを作ることになるでしょう。 すべての"class"について、コレクションを作ることはあまりしません。代わりにembedオブジェクトを使います。例えば、下記の図では、studentsとcoursesの2つのコレクションがあります。studentドキュメントは、courseコレクションを参照する"address"ドキュメントをembedします。 scoreを他のテーブルに入れ、外部キーとしてstudentテーブルにリレーションを持つことになるであろうリレーショナルなスキーマと対比してみてください。 Embed (組み込み) vs. Reference (参照) M

  • 7分半で作るNode.js+MongoDBアプリ - PolyPeaceLight

    先日のJJUG SpringのLTをしてきた「7分半で作るNode.js+MongoDBアプリ」の動画を撮り直しました。 番ではmongoose.Schemaのところをmongoose.modelとしてしまい、まさかのライブデバッグを初めるハメになり、結果として13分となってしまいました。 リベンジとして今日何回かトライしたところ10分を2分半も上回る7分半、スリークォーターの記録を出すことができました。 動画中でやってること 1 環境を証明 nvmとかnodeとかnpmとかがインストールされてないことを証明 env.shは確認するコードが書かれているだけです 2 nvmとmongodbをググる 3 nvmをgitで取得 $ git clone git://github.com/creationix/nvm.git ~/.nvm 4 nvmを環境に読み込む $ . ~/.nvm/nvm.

    7分半で作るNode.js+MongoDBアプリ - PolyPeaceLight
  • 第31回 RubyistのためのMongoDB入門(1) | gihyo.jp

    はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー

    第31回 RubyistのためのMongoDB入門(1) | gihyo.jp