MOONGIFT

オープンソース・フリーウェアを毎日紹介するブログ。日々の業務の効率化、新しいサービスのネタ探しにどうぞ。SNS、SBS、CMS、オフィス、画像編集、ユーティリティ、Firefoxアドオン、テキストエディタ、ゲーム…ジャンルは様々。

MySQLでNoSQL「Friendly」

タグ: [] [] [] [] [] [] []

buzz_button

FriendlyはRuby製のオープンソース・ソフトウェア。ここ最近話題になっているのがNoSQLという概念だ。NoSQLというのはRDBMSのようにスキーマを定義してリレーションを組んだものではなく、いわゆるスキーマレスで柔軟なシステム開発を可能にするデータベースだ。

ピクチャ 61.png
こんな感じで定義する。まさにNoSQL

 

AmazonのSimpleDBやGoogle App EngineのDataStoreなどが良く知られているが、同様のNoSQLをMySQLで実現するのがFriendlyだ。FriendlyはRails用に開発されているライブラリで、スキーマを定義することなくデータベースを利用できるようにするものだ。

Friendlyはクラス名をテーブル名とし、クラスの中で定義した属性を利用できるようにする。特にその要素名でフィールドを作る訳ではなく、attributesというテキストフィールドに全て入れてしまうようだ。とは言え検索は自由にでき、inを使ったデータ抽出にも対応している。

ピクチャ 62.png
アソシエーションにも対応

 

インデックスにも対応しており、定義すると自動的に別なテーブルが作られるようになっている。さらにキャッシュ機能もあり、memcachedを使ってデータをキャッシュできるようになっている。その他スコープやアソシエーションにも対応しているので、O/Rマッパーとして必要そうな機能は揃っていそうだ。

DataStoreを使いこなそうと思うと経験とそれに合わせたデータの持たせ方が重要だが、FriendlyはRDBMSとNoSQLの間にも成り得そうだ。色々な場面で活用できそうなソフトウェアだ。

執筆時のバージョン
 0.4.1

 

jamesgolick’s friendly at master - GitHub
 http://github.com/jamesgolick/friendly

December 25th, 2009 Posted by admin | コメントはありません

No Comments »

No comments yet.

Leave a comment

MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding