タグ

2014年6月13日のブックマーク (4件)

  • CappedCollectionのススメ - Qiita

    Gunosyではログ解析周りや推薦エンジンでMongoDBを使っています。 ちょっと前に勉強会でMongoDBMapReduceでログ解析やってるよって話をしたところ、 MongoDBMapReduceって遅くない? データ量増えるとリソース相当使わない? とのツッコミを頂きました。 指摘自体は正しいと思っていて、データ増えるとすぐ計算時間やサーバのリソース使用量が大変なことになります。 それを避けつつ、節約して運用するためにGunosyのログ解析周りではCapped Collectionを使ってます。 Capped Collectionって? ご存知の方も多いと思いますが、念のため家から引用すると、 Capped collections are fixed-size collections that support high-throughput operations that i

    CappedCollectionのススメ - Qiita
  • CPUを最大限活かそう。Nodeでclusterを使ってみる

    Node, iOS, Android, HTML5, JavaScriptの話題。ときどきMacLinux。 Nodeでは、クラスタを簡単に実装できます。こんなに簡単でいいのか。 server.js var cluster = require('cluster'); var http = require('http'); // CPUの数 var numCPUs = require('os').cpus().length; if(cluster.isMaster) { for(var i=0; i<numCPUs; i++) { // マスターだったらforkします var worker = cluster.fork(); console.log('worker forked: pid=' + worker.pid); } // worker終了時のイベントハンドラ cluster.on

  • コンソール画面でのコマンド操作 - matsukaz's blog

    MongoDBに対する操作は、基的にコンソール画面から行うので、コマンドさえ理解出来れば大抵のことが出来ます。というわけで今回はコマンドの説明。 mongod/mongosへ接続 何はともあれ接続。コマンドは以下の通り。 > MONGODB_HOME/bin/mongo.exe [ホスト名]:[ポート番号]/[データベース名]あとから接続先のデータベースを変更することも出来る。 > use [データベース名]mongod/mongosの両方に接続できるけど、Sharding構成の場合は必ずmongosに接続すること。mongodに接続した場合は、他のmongodにShardingされている情報が取得出来ない。 mongosに接続した場合 > MONGODB_HOME/bin/mongo.exe localhost:28101/hoge MongoDB shell version: 1.8

    コンソール画面でのコマンド操作 - matsukaz's blog
  • MongoDBにおける関連(Relation)のスキーマ設計 - masa_wの日記

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

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