Issei Naruta @mirakui mongodb、ディスク容量を空けるために db.repairDatabase() したらディスク容量が足りないって言われるし、服を買いに行く服が無い状態になる 2012-10-16 18:52:59
RDBMSの場合 SELECT * FROM userlog WHERE timestamp BETWEEN '2011-11-01' AND '2011-11-02' ORDER BY timestamp; Mongo Shellの場合 var query = { "timestamp" : { "$gte" : ISODate("2011-11-01T00:00:00+09:00"), "$lte" : ISODate("2011-11-02T00:00:00+09:00") } }; db.userlog.find(query).sort({timestamp:1}); 境界値を含みたくない場合は、"$gt","$lt"と書きます。 var query = { "timestamp" : { "$gt" : ISODate("2011-11-01T00:00:00+09:00"),
やり方 普通にダンプしてリストアするだけです(mongodumpしてmongorestore)。 mongorestoreは普通に使うと「追記」が行われるので、このケースにはもってこいです。 準備 作業ミスが怖いので、事前に両方のデータをバックアップしておきます。 サーバAで mongodump --db newdb --out /tmp/mongodump ずらずらとbsonファイルが出力されます。 /tmp/mongodump/newdb/userlog.bson /tmp/mongodump/newdb/system.indexes.bson ダンプデータを転送 rsync -avz /tmp/mongodump hostB:/tmp/ サーバBで sudo /etc/init.d/mongod stop # デーモンを止めておく sudo mongorestore --dbpath
http://www.mongodb.org/ MongoDBは、高パフォーマンス、スキーマレス、オープンソースのドキュメント指向データベースである。C++言語で記述されている。MongoDBは、BSONというJSONのバイナリ版のような形式でドキュメントを表現し、コレクションとして管理する。この形式は複雑な階層を持たせることができ、かつクエリやインデックスが容易である。これにより多くのアプリケーションは自身のネイティブなデータ型や構造に合った自然な方法でデータを格納できる。 最近、業務で使うことが多くなってきたMongoDB。OracleやMySQLといったRDBと違って、複雑なデータを階層で表すことができるのが特徴。またRDBには基本的に備わっているトランザクションは省かれているためデータの信頼性は低くなるが、パフォーマンスは非常に高いとされる。 データベースの操作において基本中の基本
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負荷を出来る限り抑えたい。
はじめに 前回からMongoDBの非機能面に着目していますが、今回はMongoDBの監視について説明します。まず、MongoDBの監視で使うことができる機能やツールを紹介し、その後、これらのツールを用いてどのようにMongoDBを監視するかについて一般的な考え方を紹介します。MongoDBは最新バージョンの2.4を対象としています。 コマンド表記について$ : コマンドラインで実行するコマンド 監視機能の紹介 ロギング 最初に監視の基本ともいえる、ロギングについて説明します。MongoDBでは何も指定しないと標準出力にログが出力されますが、ファイルに出力する場合は「 --logpath 」オプションにてログの出力先を指定します。 $ mongod --logpath=/var/log/mongodb.log このままだと、次回起動時にログはローテーションされてしまいます。ログをローテーショ
@doryokujinです。今日も相変わらずMongoDBの、そしてShardingに関する記事を書こうと思います。 …と、その前にお知らせです!6月は2つのMongoDB勉強会を予定しております、是非ご参加下さい! ・2011年6月11日(土) 「第4回 MongoDB 勉強会 in Tokyo」@フューチャーアーキテクト ・2011年6月28日(火)「第1回 MongoDB ソースコードリーディング」@PFI さて、それでは本題に入りたいと思います。 MongoDBのShardingといえば、 ・初期設定やShardの追加・削除といった導入の容易さ ・Shardの面倒をMongo側がずっと見てくれるという管理の容易さ を備えていると言うことで興味を持っておられる方も多数いると思います。 しかしその一方で実際にSharding環境を導入している方々の中の多くは、遭遇する様々な不都合や不整
NUMA(英: Non-Uniform Memory Access)とは、共有メモリ型マルチプロセッサコンピュータシステムのアーキテクチャのひとつで、複数プロセッサが共有するメインメモリへのアクセスコストが、メモリ領域とプロセッサに依存して均一でないアーキテクチャである。日本語では「不均一メモリアクセス」や「不均等メモリアクセス」と訳される[1][2]。 定義[編集] プロセッサとメモリの対(これをノードと呼ぶ)が複数存在し、それらをインターコネクト(その詳細は問わない)で接続したものを学術的にはNUMAの定義としている。ただし共有メモリ型であるので各プロセッサが全ノードのメモリを利用可能である必要があり、各ノードのメモリを全プロセッサに共通の物理アドレス空間にマップできることが要件となる。あるプロセッサから見て同一ノードのメモリを「ローカル」メモリ、他ノードのメモリを「リモート」メモリと
This page details system configurations that affect MongoDB, especially when running in production. MongoDB Atlas is a cloud-hosted database-as-a-service. MongoDB Cloud Manager, a hosted service, and Ops Manager, an on-premise solution, provide monitoring, backup, and automation of MongoDB instances. For documentation, see Atlas documentation, the MongoDB Cloud Manager documentation and Ops Manage
デュアルCPUで計12コア24スレッド、メモリ48GBというマシンで MongoDB-2.0.8 をしばらく稼働させたところ、突然 CPU の system time が1コア分暴走したようになる、という現象が起きました。 最初は原因がよく分からず、とりあえず mongod のプロセスを kill して起動し直したら復旧したのですが、またしばらくすると同じ現象に。 mongoのメモリ使用量と Load Average をプロットしてみると、どうもある程度 (約24GB?) のメモリを使ったところで暴走が起きているような……とログを見直してみると、起動時に WARNING がでていました。 Sun Jan 20 00:10:01 [initandlisten] MongoDB starting : pid=12669 port=27017 dbpath=/var/lib/mongo 64-b
まずは,rubyでログを吐いてそのログをfluentdで拾ってみる. その後,mongoDBに保存する方法を書く. 準備 bundlerを使って管理するので以下を実行. $ mkdir sample $ cd sample $ bundle init bundle initで作成された./Gemfileに以下を追加. gem 'fluentd' gem 'fluent-logger' gem 'fluent-plugin-mongo' gem 'bson_ext' その後$ bundle insall --path vendor/bundleする. fluentdの設定ファイルを作る # カレントディレクトリに設定ファイル作成 $ bundle exec fluentd --setup ./fluent ./fluent/fluent.confに以下の設定を追加. portが8082でfl
The page has timed out If this page does not reload automatically, please refresh your browser.
久々の更新です。MongoDBのドキュメントのReplicationの部分の訳が一応完了しましたので、それに合わせてこのブログでもReplication機能について書いていきたいと思います。まだ解釈の甘い部分も残っていますので、今後もこの部分の勉強を続け修正を行っていきます。また、引き続きAdmin Zoneの訳を進めていくつもりです。 本日のアジェンダです: MongoDBのReplication機能について Master/Slave Replica pair Replica set MongoDBのバックアップ機能について ファイルのバックアップ mongodumpによるエクスポート MongoDBのReplication機能について MongoDBのReplicationは細かく分けると3種類あります。 Master/Slave 典型的なMasterとSlaveの構成です。Maste
某社との合同勉強会のLTで発表したMongoDBを半年運用してみたが、えらいはてブされててびっくり。。。あのままだとMongoDBは絶対使わないって結論になっちゃいそうなので、自分をフォローする形でエントリを書きたいと思います。 資料はこちら。 Mongo DBを半年運用してみた View more presentations from Masakazu Matsushita コネクションエラー多発 これは、7月にmongosの場所がmongodからSocketサーバ/Webサーバ/管理サーバに移動した件と関係しています。 まず、Socketサーバ/Webサーバ/管理サーバともにJavaで実装されているので、MongoDBへの接続はJavaの公式ドライバーを利用しています。当初のドライバーの利用方法は、 // Shard1, Shard2, Shard3のPRIMARYと同居してるmong
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く