developerssummit2011 【17-e-1】 dbも変化せよ - jiemamy
DESCRIPTION
TRANSCRIPT
![Page 1: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/1.jpg)
Developers Summit 2011
DBも進化せよDB変更に強い開発方法論を導入するために
JiemamyのチャレンジJiemamy Project / トライクレオ株式会社
都元ダイスケ【17-E-1】
(2011.02.17)
![Page 2: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/2.jpg)
Developers Summit 2011
自己紹介•都元ダイスケ•はてなid:daisuke-m
http://d.hatena.ne.jp/daisuke-m/
• twitter @daisuke_m http://twitter.com/daisuke_m/
• Jiemamy Projectチーフコミッタ
Javaオブジェクト指向 Eclipse酒ライセンス
薬
Maven OSGiXML
Android
JiemamyDDD
SQLER
Hadoop
GAEHaskell
Scala
![Page 3: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/3.jpg)
Developers Summit 2011
今日のポイント
• Jiemamyとは何なのか?
•どういう考えに基づいているのか?•「環境と戦う」とは何か?• Jiemamyは必須じゃない。
![Page 4: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/4.jpg)
Developers Summit 2011
Agenda
• Jiemamyについて
• Jiemamy開発モデル
• Jiemamyモデルエディタ
• Jiemamy API構想のご紹介
![Page 5: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/5.jpg)
Developers Summit 2011
アンケート• ソフトウェア開発をしている。• ソフトウェアの構成管理をしている。• 構成管理のおかげで、昔の状態がいつでも呼び戻せるから安心である。このメリットは重要だ。
• 昔の状態のソフトウェアをいつでも動かせる。• 昔の状態のソフトウェアをいつでも動かせる...
• 昔の状態のソフトウェアを今でも動かせる...!?
![Page 6: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/6.jpg)
Developers Summit 2011
本当ですか?•WebアプリがSVNに置いてあります。このアプリを無事に起動できますか?
DBのインストール
DBの設定整備
スキーマ構築
アプリケーションに対するDB情報の
設定
ドキュメントがない or よくわからない
手順はどこに書いてあるの?
![Page 7: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/7.jpg)
Developers Summit 2011
本当ですか?
•過去のリビジョンでも大丈夫ですか?
•その時、DBも整備構築できますか?
![Page 8: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/8.jpg)
Developers Summit 2011
という問題を解決
• Jiemamyは開発モデルを提唱します
•単なるツール提供プロジェクトではない
![Page 9: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/9.jpg)
Developers Summit 2011
Martin Fowler
• Planning Extreme Programming
• Refactoring
• Pattern of Enterprise Application Architecture(PoEAA)
![Page 10: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/10.jpg)
Developers Summit 2011
DBの進化的設計
DB設計も早い時期にフリーズできない 進化を前提にした設計をしよう
DB構成情報はスキーマだけではない データも重要な管理対象である
計画的設計
Evolutional Database Design— Martin Fowler, 2003
http://www.objectclub.jp/community/XP-jp/xp_relate/evodb-jp
![Page 11: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/11.jpg)
Developers Summit 2011
•目指すはDBの進化的設計の実現•それを補助するツール• Jiemamyモデルエディタ
•maven plugin, その他(いろいろ企画中)
•副産物的に出来たAPIを公開(β)
Project
![Page 12: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/12.jpg)
Developers Summit 2011
進化的設計Smart
VersionControl
SmartModel
SmartBuild
![Page 13: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/13.jpg)
Developers Summit 2011
Smart Build
A
![Page 14: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/14.jpg)
Developers Summit 2011
環境と戦う•アプリは環境の中で動く•アプリの制御下にない前提条件•オペレーションシステム(OS)•環境変数• Javaランタイム•DBサーバ・APサーバ
•自動化(automated)または文書化(documented)重要
![Page 15: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/15.jpg)
Developers Summit 2011
Java界ではMaven•Apache Projectによる、ビルドツール
•coしたらpom.xmlがあるディレクトリで
"mvn package" 等のコマンド実行
•プロジェクト構成・ビルド手順の標準化
スマート・ビルド
![Page 16: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/16.jpg)
Developers Summit 2011
あるあるネタ•チェックアウト•(コンパイル と パッケージング)
•デプロイして起動(localhost辺りに)
•ブラウザからアクセスして操作• ...動かない
![Page 17: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/17.jpg)
Developers Summit 2011
NOT automated•DBは別途、このSQLを流してください
CREATE TABLE T_GROUP (
ID integer NOT NULL,
NAME varchar(32) NOT NULL DEFAULT 'default group',
STATUS integer NOT NULL,
CREATED_DATE DATE DEFAULT now(),
UPDATED_DATE DATE DEFAULT now(),
DELETED_DATE DATE,
PRIMARY KEY (ID)
);
CREATE TABLE T_USER (
ID integer NOT NULL,
NAME varchar(32) NOT NULL DEFAULT 'default user',
STATUS integer NOT NULL,
CREATED_DATE DATE DEFAULT now(),
(...略...)
マルチDBだと作る方も使う方も不幸です。。
![Page 18: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/18.jpg)
Developers Summit 2011
明日からできること•アプリが、どんな環境でも、チェックアウトしたら1コマンドでビルドでき、そのまま実行できる環境を整備せよ。
•1コマンドが無理なこともある。ただし、その場合は documented を意識せよ。
•README.txtを置く、など。
![Page 19: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/19.jpg)
Developers Summit 2011
Jiemamyでは•DBはアプリにとって「環境」
•maven-jiemamy-pluginを提供(後述)
• pom内にスキーマ情報ファイルと適用先DB情報を明記
•ビルドの一環としてDBも整備する
•Webアプリのビルド完了と共にDBも完成
•今後、Antタスク等も提供したい
![Page 20: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/20.jpg)
Developers Summit 2011
SmartVersion Control
B
![Page 21: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/21.jpg)
Developers Summit 2011
チェンジセット•1つ以上のファイルの変更を1つの論理的な単位にまとめたもの
class Emp { String name; Busyo busyo;}
class Busyo { String name; // ...}
class Dept { String name; // ...}
class Emp { String name; Dept dept;}
![Page 22: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/22.jpg)
Developers Summit 2011
構成の同期•各アプリケーションのrevisionには対応するDB構成がある
•アプリだけ過去に戻せても全く意味がない
•全てのリビジョンを、後から呼び出して動かせるように
アプリケーション
アプリケーション
アプリケーション
アプリケーション
DB構成
DB構成
DB構成
rev1000
rev1001
rev1002
rev1003
rev1004
rev1005
アプリケーション
DB構成
![Page 23: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/23.jpg)
Developers Summit 2011
DB変更もチェンジセット•同時に変わらないと、壊れる
CREATE TABLE HOGE( ID integer ...);
@Table("HOGE")class Foo { // ...}
@Table("FOO")class Foo { // ...}
CREATE TABLE FOO( ID integer ...);
![Page 24: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/24.jpg)
Developers Summit 2011
明日からできること
•アプリだけではなく、環境(を再現するための情報)もコミットせよ。
•前提環境が変わるとアプリも変わる。アプリだけをコミットせず、環境と同期したコミットを心がけよ。
![Page 25: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/25.jpg)
Developers Summit 2011
Jiemamyでは•ツールの補助は無い(無理w)•プラクティスを提唱(再掲↓)•環境再現手段もコミットせよ。•アプリと環境情報を同期コミットせよ。(チェンジセットを意識せよ)
![Page 26: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/26.jpg)
Developers Summit 2011
開発フェーズ
ビルドフェーズ
DBモデリング
プログラミング
構成管理
コミット
チェックアウト
コンパイルデプロイ(配備)等by Maven2
DBServer
SQL等
Repo-sitory
Source Package AppServer
![Page 27: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/27.jpg)
Developers Summit 2011
DB構成情報の成分
DB初期化の為の情報テーブル(E)
外部キー(R)
インデックス等データ重要!
テーブル
1
関連(外部キー)
2インデックス
他
3
初期データ
4
![Page 28: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/28.jpg)
Developers Summit 2011
DB構成情報の表現
•SQL文
•DB仕様書
•ER図
どれも必要
![Page 29: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/29.jpg)
Developers Summit 2011
DB構成情報•具体的に何を管理する?
SQLファイル
ER図データ(バイナリ)
…両方?
アプリケーション
アプリケーション
アプリケーション
アプリケーション
rev1000
rev1001
rev1002
rev1003
rev1004
rev1005
アプリケーション
DB構成
DB構成
DB構成
DB構成DRY違反
スマートビルド妨害
編集困難
![Page 30: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/30.jpg)
Developers Summit 2011
Smart Model
C
![Page 31: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/31.jpg)
Developers Summit 2011
DRY原則
•情報の重複を防ぐ考え方•情報の重複が起こると変更が困難•透明性(明確性)を低下•不一致(不整合)の可能性が増大
Don't Repeat Yourself.
![Page 32: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/32.jpg)
Developers Summit 2011
1つの事実を1箇所に•複数箇所で1つの事実を表現しない
class Emp { String name; Dept dept;}
class Dept { String name; List<Emp> members;}
![Page 33: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/33.jpg)
Developers Summit 2011
2箇所で持っている例•「加藤さんは技術部に所属している」
Dept tech = new Dept("技術部");Emp kato = new Emp("加藤");kato.setDept(tech);tech.addMember(kato);
![Page 34: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/34.jpg)
Developers Summit 2011
Jiemamyモデルとは•唯一の(DRYな)DB情報記述場所
•これを元にSQL, DB設計書(予定)等の派生リソースを生成できる
•実体はXMLファイル→SVNコミットする
•マージの可能性を考慮•そこそこの可読性が必要
![Page 35: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/35.jpg)
Developers Summit 2011
Jiemamy モデルの特徴•実体はXML
•XMLでも読みやすい
•つまりSCMによるマージが容易
•GUIでER図として編集できる(後述)
•一般的なXMLエディタで「補完」と「validation」ができる(後述)
![Page 36: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/36.jpg)
Developers Summit 2011
JiemamyModel
DBServer
SQL等SQL等
Repo-sitory
Source Package AppServer
開発フェーズ
ビルドフェーズ
DBモデリング
プログラミング
構成管理
コミット
チェックアウト
コンパイルデプロイ(配備)等by Maven2
![Page 37: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/37.jpg)
Developers Summit 2011
明日からできること•DRYを心がけよ
•ただし、あくまでも「原則」は「原則」•従えない場合は、注意深く違反せよ•違反した場合、documentedを忘れるな
•仮にERとSQL両方コミットする場合
•正副関係を明確にする•同期していない可能性を念頭に置く
![Page 38: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/38.jpg)
Developers Summit 2011
補助ツールJiemamyモデルエディタ
![Page 39: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/39.jpg)
Developers Summit 2011
XML…•かといって手書きでXML編集は基本的に嫌
•ならばGUIによるER図エディタを提供
•しかし マージ時等に、手編集も必要
•XML Schemaを提供
•XMLエディタによる補完・validation
![Page 40: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/40.jpg)
![Page 41: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/41.jpg)
Developers Summit 2011
Jiemamyモデルエディタ•よくあるER図エディタ
•AmaterasERD, Clay, DBDesigner4,
ERWin, SI Object Browser, JUDE...
• Jiemamy開発モデルを強力にサポート
•データファイル形式を考え抜いた•まだ引き続き考えています
![Page 42: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/42.jpg)
Developers Summit 2011
Demoせっかくなので
![Page 43: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/43.jpg)
Developers Summit 2011
Jiemamy APIversion 0.3
![Page 44: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/44.jpg)
Developers Summit 2011
Jiemamy Model/API• Jiemamyモデルを自由に操作できる
database
tablecolumn
Javaコードから操作
Java object
SQL
β
![Page 45: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/45.jpg)
Developers Summit 2011
XML → Java model
•シリアライザを取得して• InputStreamから読み込む
![Page 46: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/46.jpg)
Developers Summit 2011
Java model → XML
•新しいcontextはnewして作る
•同じくJiemamySerializerを使って
•OutputStreamに書き出す
![Page 47: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/47.jpg)
Developers Summit 2011
Java model → SQL
•SqlExporterをnewして
•設定オブジェクトを作って•exportModelする
![Page 48: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/48.jpg)
Developers Summit 2011
実DB → Java model
•DbImporterをnewして
•同じように設定オブジェクト作って• importModelする
![Page 49: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/49.jpg)
Developers Summit 2011
Javadoc完備!
•ドキュメンテーションコメントによるAPI仕様を出来る限り整備しています。
•今後もより一層充実させていきます。
![Page 50: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/50.jpg)
Developers Summit 2011
これ使ったら•色々面白い事できそうじゃないですか?•初回起動時に(ServletFilter辺りを使って)
自動でDB整備するWebアプリとか
•Smart Install / Update
•テスト用ダミーデータのジェネレータ•作ったらcontributeくださいw
![Page 51: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/51.jpg)
Developers Summit 2011
まとめ
![Page 52: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/52.jpg)
Developers Summit 2011
導入は段階的に!廃止も簡単!
Jiemamyの導入• Smart Build
• Maven / Ant / スクリプト
• Smart Version Control
• SCMの導入
• 環境の同期コミット• Smart Model
• 正副関係を明示• DB情報をDRYに管理
![Page 53: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/53.jpg)
Developers Summit 2011
地豆も進化を続けます
• Jiemamyでアプリの進化的設計を。
•そしてJiemamyも進化します。
•そろそろコードベースは落ち着く予定•年内にv1.0出します。
![Page 54: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/54.jpg)
Developers Summit 2011
Jiemamyの歩み•v0.0~v0.1系•v0.0.1 release 2007/6/21 ...
•v0.1.0 release 2008/2/29
•v0.1.1 release 2008/3/20
•v0.2系•v0.2.0 release 2009/5/6
•v0.3系•v0.3.0 release 今日!
![Page 55: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/55.jpg)
Developers Summit 2011
•商用サポート•コンサルティング•などなど• Jiemamyと無関係でも、開発環境・開発プロセスなどのご相談もお受けします。
http://tricreo.jp/[email protected]
トライクレオ株式会社からのメッセージをお読み下さい
![Page 56: DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy](https://reader034.vdocuments.net/reader034/viewer/2022051514/54b87b994a795920198b4587/html5/thumbnails/56.jpg)
Developers Summit 2011
ご静聴ありがとうございました
Any Questions?
Evolutional Database Design...