ページ

2010年12月24日金曜日

拾い読み:【レポート】MySQLからCouchDB(NoSQL)へデータベースを移行するために知るべきこと

【レポート】MySQLからCouchDB(NoSQL)へデータベースを移行するために知るべきこと

CouchDBサイトの移行ガイドの紹介ですね。本体はCouchDBサイトの以下のページ。


データをJSONで持つということは、そのままJSのオブジェクトとして参照できる(ORマップ済)になるわけですね。なるほどこれは簡単でいいですね。

ここに出ているサンプルですが、例えばレシピに栄養表を付けたいとかいう話になったらどうするのでしょう。RDBベースであれば材料と栄養のマップを作って、レシピに関連した材料から栄養の集計簡単に求められますよね。CouchDBではどうするのがそれらしい方式なのでしょう。JSON内に栄養表まで入れてしまうと、栄養表改訂なんかに対応できなくなります。結局、別に材料に対する栄養表を作って、レシピ側の材料から検索掛けることになりませんかね。そうすると結局RDBと同じようにテーブル構造を持つことになります。RDBでいうところの正規化が無意味になるだけで、結局データの独立性とか相互の関係とかはDB形式に関係なくきちんと設計されるべきものなのではないでしょうか。


こちらは、SQLによるファイル操作をCouchDBのJSコードに置き換えてのサンプルです。で、見ていくと全く以てLINQぽいですね。LINQのメソッド形式と考え方は同じで、無名(匿名)オブジェクトを返すあたりも同じです。他にもSQL対応例がリストされていますが、ところどころ空白です。まあ、見当つくからいいのでしょう。

後、データ移行とDBインターフェースの話が出ていますが、データ移行についてはAutoIncrement IDがちゃんとサポートされています、というぐらいですか。他のところはとりたてて重要なことでも無さそうです。インターフェースの解説は概念イメージですね。URL形式で指定されるのでWEBアプリとの相性はいいのでしょう。

まあ、実際に使うとなるとこれだけでは済まないのでしょうが、躊躇しているひとへのイントロといったものなのでしょう。実に大雑把ですが、如何にも使えそうな気分を持たせるドキュメントでした。個人的に移行に関して一番気になる点はデータ量の問題なのですが、そのあたりには全く触れられていません。ひょっとしてやばいのでしょうかね。

0 件のコメント:

コメントを投稿