You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
RailsやSinatraで画像をアップロードしたり、DBやAmazonS3に保存したりするためのライブラリとして、carrierwaveがあります。 あまり一般的では無いかもしれませんが、carrierwave-mongoidという拡張ライブラリを利用することで、 MongoDBのGridFSに画像を格納することが出来ます。 その場合、画像を表示する時に一番てっとり早いのは、 Rails上でGridFSに接続してバイナリを読み出し、send_dataでそのままクライアントに返す方法です。 しかし、この方法はRailsの処理を丸々通るので、画像のように細かくアクセスが多いものには不向きです。 そこで、次の手段がRackミドルウェアを使う方法です。 以下のようなミドルウェアを作成し、Rackのスタックに積んでおきます。 # config/initializer/carrierwave.rb
ドキュメント指向なKVSってことと、字面が似ていると言うことぐらいしか比較する意味がなさそうなCouchDBとMongoDBだけど、ここ2,3ヶ月で両方をそれなりに突っ込んで見てきたので比較してみた。実装面やパフォーマンス、ということよりはどちらかというと(私が感じる)思想的なものや、ユーザ側からの視点での比較。 共通するところ これはもう簡単に、 ドキュメント指向データベース - RDBMSのようなカラムと言ったものを持たずにスキーマレスで好きな情報を入れられる Javascript/JSONを使用 - データ自体もJSONというJavascript由来のフォーマットで持ち(MongoDBはJSONを元にしたBSONというものだが)、データベースのアクセスにはJavascriptを使用する スケールアウトするように考えられている NoSQLな流行 CouchDBの特徴 機能を限定している
前回(と言ってももう2ヶ月前か……1.5.8まででちゃってますね。(追記:丁度今日、1.6.0 安定版がリリースされました!)例によってビルドはクソ長いので注意して下さい)、「Mac OS X で MongoDB を動かす」で、Mac OS X での MongoDB インストール、起動、停止、デーモン化をしました。 今回は、付属のシェルで簡単なCRUD操作をしてみたいと思います。なので、OSやプログラミング言語は関係ありません。素の MongoDB を学ぶ目的で作成しました。SQL 知らないと ORM が満足に使えないように、今回の CRUD 操作を知っておけば、各言語用の ORM で悩むことが少なくなると思います。 なお、今回もいちいちイラッ☆とくる語りが入ります。 復習しておきましょうか、MongoDB っていうのは、 ドキュメント指向ストレージで インデックスをサポートしていて レプ
つい先日 1.6.0 がリリースされ、MongoDB の時代がいよいよキタ!って感じです。MongoDB 自体のインストール・操作などは下記の記事を参考にしてください。 Mac OS X で MongoDB を動かす ハンズオンで分かる MongoDB チュートリアル この記事では、Rails3 にふさわしい ORM として、Mongoid を紹介します。 MongoDB の Ruby ドライバーは、mongo ですが、これは素のドライバーで、Rails などと使用するときは、クラス・オブジェクトに自動でマッピングしてくれる ORM を使用したいところです。 その候補として、 MongoMapper MongoDoc MongoModel Candy Mongoid MongoRecord があります、 この内、プロダクションで使われているのは、MongoMapper と Mongoid
まずは、インストールの解説です。 $ gem install mongoid --pre Rails3 対応の最新版は執筆時点で 2.0.0.beta.16 で、ベータ版なので、--pre オプションを使ってインストールします。2.0.0 リリースの際には、--pre を取って下さい。 そして、mongo ドライバー自体のパフォーマンスを上げるために、bson_ext をインストールしましょう。 $ gem install bson_ext bson_ext には、boost が必要です。MongoDB のインストール時にインストールされていると思いますので、問題ないと思います。もし、インストールできなくても動きますので、気にしないで下さい。 Rails 3 でのインストール Rails3 は Bundler を使用しており、必要な Gem を、Gemfile というファイルに書くことにな
第31回に続いて、今回はMongoDBをRubyから使う方法をご紹介します。 MongoDBをRubyから使うためのライブラリ MongoDBをRubyから使うには、以下のライブラリ等を利用する必要があります。 Ruby driver for MongoDB [GitHub, チュートリアル] RubyからMongoDBを使う上で基本となるのが、公式のRubyドライバです。 MongoDBのほぼ全機能にアクセスできるため、複雑なことをしたいときには頼りになるでしょう。後述する他のライブラリも内部ではこのドライバを使っています。 ドキュメントをオブジェクトにマッピングしてActiveRecordライクに扱う、オブジェクトマッパーの機能を提供するライブラリもあります。今回は代表的なものを2つご紹介します。 MongoMapper [GitHub, 作者による紹介] 比較的ActiveRecor
はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く