This document discusses NoSQL databases and MongoDB. It introduces MongoDB and its data structure and queries. It then describes MongoMapper, a Ruby library that provides an ActiveRecord-like interface for MongoDB. It shows how to define MongoDB document schemas and queries using MongoMapper.Read less
shard環境中では、すべてのshardで並行してデータ処理が走ります。 (注意: 2010/2/2: shard内でのmap/reduceはペンティング中ですが、すぐに戻ります) map/reduce はデータベース [command] を経由して、呼び出されます。 データバースは一時的なコレクションを出力結果用に作成します。この一時的なコレクションは、クライアントのコネクションが閉じたとき、または明示的にdropされた場合削除されます。また、永続的な出力用のコレクション名を指定することもできます。 map と reduce ファンクションはJavaScriptで書き、サーバ上で実行されます。 コマンドの文法: db.runCommand( { mapreduce : <collection>, map : <map ファンクション名>, reduce : <reduce フ
2010年03月22日23:44 NoSQL Ruby MongoDBでちょっとしたアクセス解析を実装する 最近、NoSQL が流行ってますね。その流れで MongoDB の記事もよく見かけます(自分だけ?)。MongoDB というのはドキュメント指向型データベースでスキーマレスなので、カラムを気にせずとにかく色んなデータを突っ込めて便利そうじゃないですか!公式サイト にはこんな説明がありました。 MongoDB (from "humongous") is a scalable, high-performance, open source, schema-free, document-oriented database. これはなんだか凄そうです。では早速つかってみることにしましょう。 あ、その前に一つ注意。RDB で テーブル に相当するものが、MongoDB では コレクション といい
MongoDBとは 10gen社が中心となって開発している非リレーショナルデータベース。 特徴 MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (the simplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデータの効率的な保存 large objects (例:写真や動画) レプリケーション とフェイルオーバーのサポート。 クラウドレベルのスケーラビリティな 自動的なsharding 複雑な集約のための MapReduce 商用
RailsTips One man, lazily posting some of the things he learns. subscribe » A few weeks ago, I wrote about Mongo and how awesome it is. Towards the end of the article (and in the slideshow) I mentioned MongoMapper, a project I’ve been working on. Over the past few weeks my buddies at Squeejee and Collective Idea have started using MongoMapper and they’ve helped me squash a few bugs and add a few f
1 require 'mongo_mapper' 2 MongoMapper.database = "app1" # DB名 1 class Player 2 include MongoMapper::Document 3 key :name, String, :required => true 4 key :policy, Integer 5 key :renkei, String 6 key :note, String 7 timestamps! 8 9 validates_uniqueness_of :name 10 end 1 Player.count 2 => 822 3 4 Player.count(:renkei=>'萩原型') 5 => 135 6 7 Player.first 8 => #<Player label: "萩原 忠志" ..
日本語翻訳に関して まだ全然終わってないので、リンク先によって英語だったり日本語だったりします。右のNavigation Spaceでは翻訳されたドキュメントだけが表示されています。翻訳については、 こちら を参照ください。 ドキュメントデータベース、key-value store、RDBMS、最高の機能の組み合わせ MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (the simplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデ
Markus Gattolさんの Webサイト にあるすばらしいFAQも参照してください。 "namespace" とは何ですか MongoDB は [BSON] オブジェクトを コレクション の中に格納します。 データベース名とコレクション名(両方をピリオドで結んだもの)の合わせたものが、 namespace と呼ばれています。 たとえば、 acme.users は、namespaceで、acme がデータベース名で、 users がコレクション名です。ピリオド自体をコレクション名に入れることができるので、 acme.blog.posts のような名前も問題ないです。 (この場合 blog.posts がコレクション名です) どうやってコレクションの中のオブジェクトを全件別のコレクションにコピーできますか? 下記参照。下のコードは eval() メソッドを使い、ハイパフォーマンスにサーバ
追記: 最新情報はこちらです。 MongoDBが流行ってきてる風なので、これだけ読んでおけばMongoDBの雰囲気がわかるだろうってところを、日本語訳が終わっているところから集めてみた。 なるべく順に読めるように並べたつもりだけど、前後してるところもあると思うので、とりあえず読み進めるのをお勧め。 まず、何はなくとも、 コレクション (Collections) 次にコレクションを触るためのシェル。MongoDBのシェルというのは、RDBMSでいうとSQLを直接叩くところで、PostgreSQLのpsqlコマンド, MySQLのmysqlコマンドみたいなもの。 実際にMongoDBを使って開発する場合、直接MongoDBを操作するよりも、各言語(PHPとかRubyとかJavaとか)のマッパー経由で使うことが多いとは思う。しかし、SQLを知らないとO/Rマッパーを使いこなすのが難しいように、シ
はじめに 今回はドキュメント指向型データベースの代表としてMongoDBを取り上げます。ドキュメント指向型データベースはRDBMSと違って、スキーマ(テーブル定義)が必要ないことが大きな特徴です。 今回も利用したコードやプログラムはgithubに置いてあるので適宜参照してください。 MongoDBの特徴 前々回、前回と紹介したmemcachedやTokyoTyrantは基本的にRDBMSと組み合わせて、「RDBMSの弱い部分を補う」という使い方でした。しかしMongoDBは少し違っていて、JOINが行えないこととトランザクションをサポートしていないこと以外は、ほぼRDBMSと同じように扱うことができるため、「RDBMSの代替として使う」ことが可能です。 上述したようにMongoDBはRDBMSと違ってJOINはできませんが、代わりに基準となるオブジェクトに別のオブジェクトをあらかじめe
第31回に続いて、今回はMongoDBをRubyから使う方法をご紹介します。 MongoDBをRubyから使うためのライブラリ MongoDBをRubyから使うには、以下のライブラリ等を利用する必要があります。 Ruby driver for MongoDB [GitHub, チュートリアル] RubyからMongoDBを使う上で基本となるのが、公式のRubyドライバです。 MongoDBのほぼ全機能にアクセスできるため、複雑なことをしたいときには頼りになるでしょう。後述する他のライブラリも内部ではこのドライバを使っています。 ドキュメントをオブジェクトにマッピングしてActiveRecordライクに扱う、オブジェクトマッパーの機能を提供するライブラリもあります。今回は代表的なものを2つご紹介します。 MongoMapper [GitHub, 作者による紹介] 比較的ActiveRecor
3. MongoDB Stable 1.4.4 Devlopment 1.5.4 hu mongo uss(huge + monstrous) 超でかい Document Database C++ Open Source GNU AGPL v3.0 Licence OSX,Linux,Windows,Solaris |32bit,64bit Development and Support:10 gen 4. MongoDB vs CouchDB MongoDB RDBMS,KeyValuc,DocumentDatabase のいいとこどりのデータベース なんでもできる。 REST ではなく、独自プロトコルを利用しているので早い CouchDB CouchDB も同じドキュメントデータベース JSON 、 Map/Reduce, スキーマレス N-Master Replication 似
はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く