|
先日も書いたように、今週は世界中の SE を集めた技術トレーニング CEC に来ています。毎日、セッションの内容が変わりますが、今日は MySQL でした。これまで Sun のイベントで RDBMS に触れることはそれほど多くなかったんですが、今年は MySQL がメインのセッションの1つになっています。Sun の社員だから、というわけではなく、RDBMS の中で一番好きなデータベースだっただけに、MySQL を仕事として学べるのはうれしい限りです。
MySQLはデータベースの種類を選べる「ストレージエンジン」という機能がある、ということは比較的有名ですが、その中に CSV というエンジンがあることをご存知でしょうか?この CSV というストレージエンジンを使うと、データベースの実体が CSV ファイルで作成されます。つまり CSV ファイルに SQL のインタフェースが付いたようなカンジです。CSV ストレージエンジンはインデックスが使えない、といった一面も持っていますが、データベースをCSVに手軽に吐かせたい方にはもってこいのエンジンです。
この特長を利用してIdentity Managerと組み合わせると、Identity Managerが管理するユーザ情報を簡単に・高速にCSV形式で出力することができます。
やり方は非常に簡単です。
まず、利用している MySQL で CSV ストレージエンジンが利用できるようになっているかどうか確認して下さい。show engines と実行してみて下さい。
mysql> show engines \G
*************************** 1. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 2. row ***************************
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 3. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
7 rows in set (0.00 sec)
|
私が利用している Windows 版 MySQL 5.1 ではデフォルトで利用できるようになっています。お試しになりたい方は是非ダウンロードしてみて下さい。
そして、MySQLを使って CSV テーブルを作成しておきます。私の環境では以下のようになっています。
mysql> show create table db4csv \G
*************************** 1. row ***************************
Table: db4csv
Create Table: CREATE TABLE `db4csv` (
`LAST` varchar(20) NOT NULL,
`EMAIL` varchar(255) NOT NULL,
`ID` varchar(20) NOT NULL,
`FIRST` varchar(20) NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
|
次に、Identity ManagerでMySQLデータベーステーブルとしてリソースの登録を行います。

特別な設定は必要ありません。ウィザードに従って必要なパラメータを埋めて行きます。
そしてユーザを作成し、先ほど作成したリソースを割り当てます。

ここでは、ユーザに MySQL CSV Table と名付けたリソースを割り当てています。

すると、CSV形式でユーザ情報が生成されます。
"moriya","satoshi.moriya@acme.com","12345","satoshi"
|
これだけです!
これまでは Identity Manager から CSV ファイルを出力する際に Shell Script リソースアダプタを使って Unix のシェルスクリプトを介して生成する事もありましたが、こちらの方が手軽に、しかも高速に実現できそうです。
|
弓弩 http://www.168gongnu.cn
弩 http://www.168gongnu.cn
新奇特批发 http://www.jsxqt88.com
新奇特产品 http://www.xqt007.cn
成人玩具 http://www.jsxqt88.com/tupianl.htm
剪板机 http://www.jxwjs.cn
弩 http://www.jsxqt88.com/indexi.htm
弓弩 http://www.jsxqt88.com/indexi.htm
乳化机 http://www.ntdyjx.cn
过滤器 http://www.dryent.com
卷板机 http://www.nthljc.cn
弓弩 http://www.gongnuw.cn
弩 http://www.gongnuw.cn
弓弩 http://www.gongnuw.com
弩 http://www.gongnuw.com
通风机 http://www.qdwdl.com.cn
三面翻 http://www.gr-door.com
混合机 http://www.85399888.cn
搅拌机 http://www.85399888.cn/jiaobanji-01.html
呼吸阀 http://www.ntdyjx.cn/product_29.html
阻火器 http://www.ntdyjx.cn/product_26.html
Posted by 弓弩 on 11月月 16日, 2008年 at 09:52 午後 JST #
ナイスコンテンツ!!
http://blogs.sun.com/kimimasa/entry/idenetity_manager_%E3%81%A7csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E5%90%90%E3%81%8D%E5%87%BA%E3%81%99%E6%96%B9%E6%B3%95
でも紹介しました。
Posted by kimimasa on 11月月 17日, 2008年 at 12:02 午後 JST #