SlideShare a Scribd company logo
1 of 27
Download to read offline
O/R Mapperの話
MySQL Casual Talks vol.4 (2013/04/17)
@tagomoris
13年4月17日水曜日
TAGOMORI Satoshi (@tagomoris)
LINE corp.
rubygems: mysql2-cs-bind
13年4月17日水曜日
13年4月17日水曜日
13年4月17日水曜日
disりに来たわけでは
ないですよ
13年4月17日水曜日
O/R Mapper
使ってる?
13年4月17日水曜日
使う
クエリの変更頻度
クエリの複雑度
Modelベースでのスキーマ定義、マイグレーション
WAFと強結合
13年4月17日水曜日
使わない
クエリのパターンが限られる
モデルがシンプル
DBA的わかりやすさ
13年4月17日水曜日
使う
データ操作が複雑すぎてSQLを隠 しないとやっ
てられないケース
13年4月17日水曜日
ところで
13年4月17日水曜日
バージョニングつき
データストア
HBaseくらい?
履歴調査、監査、過去時点での集計、歴史改変
13年4月17日水曜日
Versioning with SQL
SCHEMA
object-id
version (sequense) ( unique: object-id + version )
modified at
modified by (optional)
HEAD and/or REMOVED flag (optional)
13年4月17日水曜日
Versioning with SQL
OPERATION
CREATE: INSERT -> INSERT
READ: SELECT(id) -> SELECT (object-id,version)
related object -> releated object & version
UPDATE: UPDATE -> (UPDATE +) INSERT
single record update -> transaction
DELETE: DELETE -> UPDATE or INSERT
13年4月17日水曜日
SQL書いてたら
身がもたない
13年4月17日水曜日
三大はしか
WAF作りたい期
テンプレートエンジン作りたい期
O/R Mapper作りたい期
13年4月17日水曜日
つくった
13年4月17日水曜日
つくった
at 2010/11
13年4月17日水曜日
Stratum: model
13年4月17日水曜日
Stratum: create, update
13年4月17日水曜日
Stratum: retrospect
13年4月17日水曜日
Stratum: reference
13年4月17日水曜日
Stratum: reference(2)
13年4月17日水曜日
Stratum: Pros/Cons
Pros:
データの編集履歴を扱うアプリ実装が超楽に
作っててたのしかった
Cons:
使える人が自分以外にいない
性能的にいろいろアレ
機能はいろいろあるが使いかたがちょっとアレ
スキーマ定義は自分でやらないとダメ
ドキュメントがまったくない
13年4月17日水曜日
https://github.com/tagomoris/stratum
13年4月17日水曜日
rubygems...
13年4月17日水曜日
13年4月17日水曜日
やる気なくした……。(イマココ)
Thanks!
13年4月17日水曜日

More Related Content

Similar to O/R Mapper Stratumの話 (10)

地域Ruby会議に参加してきた話とか
地域Ruby会議に参加してきた話とか地域Ruby会議に参加してきた話とか
地域Ruby会議に参加してきた話とか
 
NFC
NFCNFC
NFC
 
Scala-driven Engineering Life
Scala-driven Engineering LifeScala-driven Engineering Life
Scala-driven Engineering Life
 
12 13-lecture
12 13-lecture12 13-lecture
12 13-lecture
 
Slimの紹介
Slimの紹介Slimの紹介
Slimの紹介
 
魔法少女 Laravel
魔法少女 Laravel魔法少女 Laravel
魔法少女 Laravel
 
Where Should Developers Go
Where Should Developers GoWhere Should Developers Go
Where Should Developers Go
 
Hakyllで遊んでみた。
Hakyllで遊んでみた。Hakyllで遊んでみた。
Hakyllで遊んでみた。
 
Sassを導入したはなし
Sassを導入したはなしSassを導入したはなし
Sassを導入したはなし
 
Ruby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてRuby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けて
 

More from SATOSHI TAGOMORI

More from SATOSHI TAGOMORI (20)

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speed
 
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsGood Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
 
Maccro Strikes Back
Maccro Strikes BackMaccro Strikes Back
Maccro Strikes Back
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of Ruby
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
 
Make Your Ruby Script Confusing
Make Your Ruby Script ConfusingMake Your Ruby Script Confusing
Make Your Ruby Script Confusing
 
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubyHijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
 
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsLock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
 
Data Processing and Ruby in the World
Data Processing and Ruby in the WorldData Processing and Ruby in the World
Data Processing and Ruby in the World
 
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamPlanet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
 
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessTechnologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
 
Ruby and Distributed Storage Systems
Ruby and Distributed Storage SystemsRuby and Distributed Storage Systems
Ruby and Distributed Storage Systems
 
Perfect Norikra 2nd Season
Perfect Norikra 2nd SeasonPerfect Norikra 2nd Season
Perfect Norikra 2nd Season
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToTo Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
How To Write Middleware In Ruby
How To Write Middleware In RubyHow To Write Middleware In Ruby
How To Write Middleware In Ruby
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
 
Fluentd Overview, Now and Then
Fluentd Overview, Now and ThenFluentd Overview, Now and Then
Fluentd Overview, Now and Then
 

Recently uploaded

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

O/R Mapper Stratumの話