Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yoshitaka Kawashima
40,543 views
イミュータブルデータモデル(世代編)
第1回 しょぼべん ( http://connpass.com/event/10849/ ) で話しした、イミュータブルデータモデル(世代編)です。
Software
◦
Read more
90
Save
Share
Embed
Embed presentation
Download
Downloaded 206 times
1
/ 16
2
/ 16
3
/ 16
4
/ 16
5
/ 16
6
/ 16
Most read
7
/ 16
8
/ 16
9
/ 16
Most read
10
/ 16
11
/ 16
Most read
12
/ 16
13
/ 16
14
/ 16
15
/ 16
16
/ 16
More Related Content
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PDF
強いて言えば「集約どう実装するのかな、を考える」な話
by
Yoshitaka Kawashima
PDF
PostgreSQLアンチパターン
by
Soudai Sone
PDF
例外設計における大罪
by
Takuto Wada
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
強いて言えば「集約どう実装するのかな、を考える」な話
by
Yoshitaka Kawashima
PostgreSQLアンチパターン
by
Soudai Sone
例外設計における大罪
by
Takuto Wada
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
What's hot
PPTX
イベント・ソーシングを知る
by
Shuhei Fujita
PDF
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
REST API のコツ
by
pospome
PPTX
データモデリング・テクニック
by
Hidekatsu Izuno
PPTX
分散システムについて語らせてくれ
by
Kumazaki Hiroki
PDF
Tackling Complexity
by
Yoshitaka Kawashima
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣
by
Yoshitaka Kawashima
PDF
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
PDF
ドメイン駆動設計 本格入門
by
増田 亨
PDF
データベース設計徹底指南
by
Mikiya Okuno
PDF
なぜデータモデリングが重要なのか?
by
Yoshitaka Kawashima
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PDF
MySQLで論理削除と正しく付き合う方法
by
yoku0825
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
PDF
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
イベント・ソーシングを知る
by
Shuhei Fujita
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
Where狙いのキー、order by狙いのキー
by
yoku0825
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
REST API のコツ
by
pospome
データモデリング・テクニック
by
Hidekatsu Izuno
分散システムについて語らせてくれ
by
Kumazaki Hiroki
Tackling Complexity
by
Yoshitaka Kawashima
ソフトウェア設計における 意思決定とそのレビューの秘訣
by
Yoshitaka Kawashima
リレーショナルな正しいデータベース設計
by
Mikiya Okuno
ドメイン駆動設計 本格入門
by
増田 亨
データベース設計徹底指南
by
Mikiya Okuno
なぜデータモデリングが重要なのか?
by
Yoshitaka Kawashima
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
MySQLで論理削除と正しく付き合う方法
by
yoku0825
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Viewers also liked
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
PDF
If文から機械学習への道
by
nishio
PDF
片手間MySQLチューニング戦略
by
yoku0825
PDF
エスイーが要件定義でやるべきたったひとつのこと
by
Yoshitaka Kawashima
PDF
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
PPTX
良いコードとは
by
Nobuyuki Matsui
PDF
DB設計でこだわりたい三つの要素
by
Takahiro YAMADA
PDF
プログラミング言語Clojureのニャンパスでの活用事例
by
sohta
PDF
マテリアルデザインを用いたデザインリニューアル [フリル編]
by
YUKI YAMAGUCHI
PDF
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
by
Yuki Anzai
PDF
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
PDF
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
PDF
JobStreamerではじめるJavaBatchのクラウド分散実行
by
Yoshitaka Kawashima
PDF
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
by
kyon mm
PDF
データモデルは時空を越える
by
terahide
PDF
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
by
Shinichi Kozake
PDF
Java web application testing
by
Tokuhiro Matsuno
PDF
Droid kaigiプレゼン
by
Suguru Oho
PDF
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
by
bitter_fox
PDF
Dependency injection in PHP 5.3/5.4
by
Fabien Potencier
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
If文から機械学習への道
by
nishio
片手間MySQLチューニング戦略
by
yoku0825
エスイーが要件定義でやるべきたったひとつのこと
by
Yoshitaka Kawashima
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
良いコードとは
by
Nobuyuki Matsui
DB設計でこだわりたい三つの要素
by
Takahiro YAMADA
プログラミング言語Clojureのニャンパスでの活用事例
by
sohta
マテリアルデザインを用いたデザインリニューアル [フリル編]
by
YUKI YAMAGUCHI
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
by
Yuki Anzai
Android学ぶを君へ。生き抜くためのナレッジ共有
by
Shinobu Okano
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
JobStreamerではじめるJavaBatchのクラウド分散実行
by
Yoshitaka Kawashima
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
by
kyon mm
データモデルは時空を越える
by
terahide
あなたとAndroid 今すぐダウンロード!? Android開発で変わる SIerのJava技術事情について
by
Shinichi Kozake
Java web application testing
by
Tokuhiro Matsuno
Droid kaigiプレゼン
by
Suguru Oho
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
by
bitter_fox
Dependency injection in PHP 5.3/5.4
by
Fabien Potencier
More from Yoshitaka Kawashima
PDF
ソフトウェアにおける 複雑さとは何なのか?
by
Yoshitaka Kawashima
PDF
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
PDF
ブルックスのいう銀の弾丸とは何か?
by
Yoshitaka Kawashima
PDF
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
by
Yoshitaka Kawashima
PDF
Grokking Simplicity探訪
by
Yoshitaka Kawashima
PDF
Mavenの真実とウソ
by
Yoshitaka Kawashima
PDF
Atomic Architecture
by
Yoshitaka Kawashima
PDF
Are Design Patterns Dead?
by
Yoshitaka Kawashima
PDF
アンチフラジャイルの世界
by
Yoshitaka Kawashima
PDF
システムダウンのひみつ
by
Yoshitaka Kawashima
PDF
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
by
Yoshitaka Kawashima
PDF
たとえ日本人同士でも必要な異文化理解力
by
Yoshitaka Kawashima
PDF
ウォーターフォールとアジャイルのフェアな比較
by
Yoshitaka Kawashima
PDF
既婚プログラマの時間捻出術
by
Yoshitaka Kawashima
PDF
Antifragile Clojure
by
Yoshitaka Kawashima
PDF
本番障害に至る病
by
Yoshitaka Kawashima
PDF
Antifragile Java - Java Day Tokyo 2017 D1-E1
by
Yoshitaka Kawashima
PDF
Boilerplate vs Magic
by
Yoshitaka Kawashima
PDF
How to find tech books
by
Yoshitaka Kawashima
PDF
SIerにとっての越境 @ DevLOVE 199
by
Yoshitaka Kawashima
ソフトウェアにおける 複雑さとは何なのか?
by
Yoshitaka Kawashima
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
ブルックスのいう銀の弾丸とは何か?
by
Yoshitaka Kawashima
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
by
Yoshitaka Kawashima
Grokking Simplicity探訪
by
Yoshitaka Kawashima
Mavenの真実とウソ
by
Yoshitaka Kawashima
Atomic Architecture
by
Yoshitaka Kawashima
Are Design Patterns Dead?
by
Yoshitaka Kawashima
アンチフラジャイルの世界
by
Yoshitaka Kawashima
システムダウンのひみつ
by
Yoshitaka Kawashima
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
by
Yoshitaka Kawashima
たとえ日本人同士でも必要な異文化理解力
by
Yoshitaka Kawashima
ウォーターフォールとアジャイルのフェアな比較
by
Yoshitaka Kawashima
既婚プログラマの時間捻出術
by
Yoshitaka Kawashima
Antifragile Clojure
by
Yoshitaka Kawashima
本番障害に至る病
by
Yoshitaka Kawashima
Antifragile Java - Java Day Tokyo 2017 D1-E1
by
Yoshitaka Kawashima
Boilerplate vs Magic
by
Yoshitaka Kawashima
How to find tech books
by
Yoshitaka Kawashima
SIerにとっての越境 @ DevLOVE 199
by
Yoshitaka Kawashima
イミュータブルデータモデル(世代編)
1.
イミュータブルデータモデル ジェネレーションズ(世代編) kawasima
2.
たくさんの方々に見ていただきありがとうございます! http://www.slideshare.net/kawasima/ss-40471672
3.
入門編の続編として、 リレーショナルデータモデルで もっとも厄介な「世代」を扱いかた についてお話します。 入門編まだの方はそちらをまずご覧ください!
4.
ありがちな例 日付属性をもったリソース? イベントではないよなぁ… 商品コード 適用開始日 商品名 価格 注文番号 注文日 注文番号 商品コード 適用開始日 注文 注文明細 商品(R)
5.
「イベントは更新不可」の性質を利用 「過日のイベント」と「未来の予定イベント」 は区別して扱おう ● 過去の価格は変更できない ● 未来の価格は変更できるし、変更の予定を取り消すこともできる
6.
イベントの予実として扱う 商品コード 商品名 商品コード 適用予定日 価格 注文番号 注文日 商品コード 適用開始日 (適用終了日) 価格 値付け実績(E) 商品(R) 注文番号 商品コード 予定価格 注文明細 注文 適用予定日が来たものを値 付け実績として反映させる
7.
簡単ですね!
8.
もう少し複雑な例
9.
例題 番組ID 番組名 番組ID 芸能人ID 芸能人ID 芸能人名 番組名も、出演者の名前も改編期やウッチャンによって変え られるが、名前が変わっても同じものとみなして扱いたい。 番組 レギュラー出演 芸能人 番組名
適用開始日 ウンナンの気分は上々。 1996年7月19日 - 1999年3月19日 新・ウンナンの気分は上々。 1999年3月26日 - 2003年3月28日 ウンナンの気分は上々。 2003年4月4日 - 2003年9月26日 芸能人名 適用開始日 海砂利水魚 〜2001年9月27日 くりぃむしちゅ〜 2001年9月28日〜
10.
ありがちな汚モデル 番組ID 適用開始日 (適用終了日) 番組名 番組ID 番組適用開始日 芸能人ID 芸能人適用開始日 レギュラー出演開始日 レギュラー出演終了日 芸能人ID 適用開始日 (適用終了日) 出演者名 番組 芸能人レギュラー出演 ※ちなみにこの適用開始日・終了日の問題は、”動的参照関係”を考慮しなくて はならないという、難しめの問題もあります。 http://watanabek.cocolog-nifty.com/blog/2011/12/post-a77b.html
11.
サロゲートキーを導入する 番組ID 番組コード 適用開始日 (適用終了日) 番組名 番組コード 芸能人コード レギュラー出演開始日 レギュラー出演終了日 芸能人ID 芸能人コード 適用開始日 (適用終了日) 出演者名 番組 芸能人レギュラー出演 課題: ID属性がIdentifiableではない。 少しはスッキリしたが…
12.
イミュータブルモデル fashion 番組ID 番組ID 出演者ID レギュラー出演開始日 レギュラー出演終了日 番組ID 適用開始日 番組名 芸能人ID 芸能人ID 適用開始日 芸能人名 番組 芸能人 レギュラー出演 番組属性 芸能人属性
13.
こういうモデルを キレイめに扱いたくば イミュータブルなデータベースを使おう!
14.
こういうモデルを キレイめに扱いたくば イミュータブルなデータベースを使おう!
15.
Datomic ● UPDATEというものは存在しない。 ● スキーマ全体でトランザクション管理され ており、履歴が積み重なっていてもデフォ ルトで最新のデータにアクセスされる。 ● すべてのデータはEAVTのタプルで格納 される。 http://www.datomic.com E Entity A Attribute V
Value T Transaction
16.
ノーデプロイ分散ジョブ実行環境 JobStreamer job-streamer.github.io 近日発表 そんなDatomicを使ったプロダクトを作っております… よろしくお願いします!
Download