2. 自己紹介 名前:松尾康博 ( @understeer ) 所属:アマゾンデータサービスジャパン 職種:ソリューションアーキテクト 好きなサービス: HPCインスタンス EC2 (+ 分散ミドルウェア) MongoDB-JP 専属Ustreamer Copyright © 2012 Amazon Web Services

Index RealTimeAccess集計 Capped Collection Tailable Cursor まとめ RealTimeAccess集計 RealTimeAccess集計をするためにMongoDBの利用を考えます。サーバーの構成は上図のようなイメージで各種ApplicationServerからFluentdでLogAggregatorにRealTimeでLogデータを転送し、LogAggregator MasterがMongoDBにFluentdで書き込んで行きます。ここで言うRealTimeAccess集計の機能要件を整理すると以下のようになります。 Access発生後、1分以内で集計結果をWebツール上で確認したい。集計区間も1分単位など。 複数条件が指定可能で、柔軟なCross集計がしたい。 RealTimeAccess集計のSystem負荷を出来る限り抑えたい。
New RelicのプラグインであるMongoDB Pluginを入れて、MongoDBのリソース状況を監視してみたので、手順を書きます。 今回はEC2のAmazon Linuxにインストールしました。 なお、MongoDBのリソース監視には本家が作っているMMS(MongoDB Management Service)というものもあります。こちらは12月後半に登場予定です。 New Relic とは クラウドでサーバのリソース状況を監視してくれるサービスです。各リソースに閾値を設定できて、超えるとメールで通知してくれます(例: CPU 90%以上など)。サービスの生死確認もできます。 今回の利用範囲は無料で使えます。 アカウントを作成して、License Keyを取得しておきましょう。 MongoDB Pluginで何ができるの? 以下のデータがグラフィカルに確認できます。 データベース
はじめに エンジニアの@ryooo321です。 よろしくお願いします。 今回は弊社で運用中の全アプリで利用している行動分析プラットフォームについてご紹介したいと思います。 2012年の6月に作ってから、約9ヶ月ほど運用しています。 特徴 ・手がかからないデータストア ・さまざまな問い合わせ対応で利用できる柔軟なクエリ ・機敏なMap/Reduceによる集計 ・集計結果をCSVやグラフで可視化 目的 ・ユーザーの問い合わせに効率的に対応し、アプリの企画・開発に集中するため ・ユーザーの行動を抽象化・可視化することでPDCAの質を向上させるため 行動ログのフロー 1. ユーザーからRuby on Rails製のソーシャルゲームにリクエスト 2. Railsからローカルのfluentdにログ出力(fluent-logger-ruby) 3. ローカルのfluentd
はじめに mongodbでのデータ集計で 配列のn番目の要素に関して集計したかったときのメモ 特にjsというよりはphpで この記事のサンプルのメインはjavascriptです。 実際はMongoDB PHP ドライバからMongoへアクセスする必要があったので javascriptで試す ↓ phpに置き換えてバッチとか作成 って流れでやったのでその所感もつづっておきます。 とはいえ文書だと説明しずらいのでまずは事例から 集計したい事例 集計したいデータ データは以前の記事で1億件つっこんでみたデータと同じものにしました ただしドキュメント数は100分の1(100万件)ほど。 どんなデータか ゲームやらなんやらでポイントGETするたびに1ドキュメントinsert insertされるのはポイントの総計と内訳 内訳は、[GETしたポイント + ボーナスポイント]の配列 ボーナスポイントはGE
「第3回 MongoDB 勉強会 in Tokyo」 : ATND 先週土曜日(2011年5月14日)にフューチャーアーキテクトさんのセミナールームにて行われたMongoDBの勉強会に行ってきました。 MongoDBの仕様・機能などの体系的な話からチューニングの話、開発に利用する話、プロダクションとして運用している話と、バランスよくまとまっていてとても勉強になりました。 RDBとの違いや特有の挙動をきちんと把握して利用すれば、十分プロダクションで利用出来るというビジョンが見えました。 詳細は各発表者の方のスライドを見るとわかると思いますが、当日会場でメモしたものでダイジェスト的にまとめました。 MongoDB勉強会は毎月開催(予定)しているそうなので、興味を持たれた方は是非参加して見てください。 MongoDBコミュニティー:MongoDB JP | Google グループ 【発表1】Mo
この記事はMongoDB Advent Calender2013の21日目です。 MongoDBで手軽にMapReduceする方法について書かせていただきます。 #MongoDBでMapReduce 世間的にMongoでM/Rするのは情弱、世間知らず、自殺行為などと色々disられてはおりますが、やはりスキーマレスで好きなデータを突っ込んでおいて、あとで集計をかけるというお手軽さからいうとMongoのM/Rも充分選択肢としてありだと思います。 #前準備 実際に自分が今やっているプロジェクトのうちの1つに、apacheのアクセスログをfluentd経由でMongoに書き出しているものがあります。 ちなみにデフォルトのfluentdのプラグインだとpathが1フィールドに登録されてM/Rしずらいので、クエリストリングスをパースして1クエリを1フィールドに入れるout_exec_filterを自作
まずは「集計ができる」と覚えておきましょう。 最初はこれだけで十分でしょう。 利用事例 ある日、ピカチューがつぶやきサービスでつぶやき始めました。 ピカチューのつぶやきに対して、仲間からたくさんの「いいね!」ボタンが押されました。 あなたはつぶやきサービス管理人として、ピカチューのつぶやき数と、ピカチューがゲットした「いいね!」のトータル数を集計してみましょう。 準備 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',
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security In
はじめに 基本編では、ログ収集サーバーおよび、クライアントのインストールと基本的な設定について解説しました。応用編では、サーバーが収集したログをデータベースに集積し、検索する方法を解説します。 データベースへのログ集積 基本編では、fluentdが収集したログは全てファイルとして保存していますが、保存されたログファイルのサイズが大きくなると、ログの解析も困難になります。 そこで、公式プラグインとして用意されているmongoプラグインを使用して、収集したログをMongoDB上に集積します。 なお、セットアップはサーバー上で行って下さい。 MongoDBレポジトリ設定 インストールに先立ち、MongoDBのリポジトリを設定します。 $ sudo vi /etc/yum.repos.d/mongo.repo [mongo] name=MongoDB Repository baseurl=http
Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/test'); const Cat = mongoose.model('Cat', { name: String }); const kitty = new Cat({ name: 'Zildjian' }); kitty.save().then(() => console.log('meow'));Mongoose provides a straight-forward, schema
2.6対応版 MongoDBの薄い本 The Little MongoDB Book Karl Seguin 著 / 濱野 司 訳 i 目次 目次 i この本について iii ライセンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 著者について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 謝辞 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 最新バージョン . . . . . . . . . . . . . . . . . .
fluentdを多段構成にして、mongodbに出力するところでハマったのでメモ。 上の構成のように、各サーバにfluentd + out_forwardを置き、集約するログサーバにfluentd + out_mongoでmongodbに出力している場合に、上段のfluentdでbuffer_chunk_limitを10mより大きい値にしていると、エラーになることがあります。 まず、out_mongoでbuffer_chunk_limitを10m以内にしないといけない理由は、fluentdからMongoDBへ連携する際の注意点 #fluentdを参考にしてください。 ここで多段構成の場合、上流の buffer_chunk_limitが大きいと上流から大きなサイズのデータの塊が流れてくることがあります。それを受けとったfluentdはそれをそのままoutput pluginに流す実装となって
Amazon LinuxはRPMのバイナリがCentOSやRedHatと互換なので、そのままyumのリポジトリに10genのリポジトリを追加して、yumでインストール可能 まず、yumリポジトリに追加 詳細はこちら(CentOS and Fedora Packages - MongoDB) $ sudo vi /etc/yum.repos.d/MongoDB.repo $ cat /etc/yum.repos.d/MongoDB.repo [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1 そしてyumでインストール $ sudo yum -y install mongo-10gen mongo-10gen-s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く