Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MySQL 5.7のJSON型について | MySQL Casual Talks in Fuk...
Search
Manabu Matsuzaki
December 13, 2016
Technology
0
1.2k
MySQL 5.7のJSON型について | MySQL Casual Talks in Fukuoka vol.6 #mysql_casual_fukuoka /mysql-casual-talks-fukuoka-vol6
Manabu Matsuzaki
December 13, 2016
Tweet
Share
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
2.6k
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
matsumana
1
1.1k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
850
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
2.6k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
810
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.2k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
540
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.4k
Other Decks in Technology
See All in Technology
再考 アクターモデル/ reconsider actor model
ytake
0
360
Discovering AI Models
picardparis
4
3.9k
「認証認可」という体験をデザインする ~Nekko Cloud認証認可基盤計画
logica0419
2
450
JEP 480: Structured Concurrency
aya_ebata
0
130
Segment Anything Model 2
tenten0727
3
710
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
260
Functional TypeScript
naoya
11
4.8k
【株式会社ELYZA】|GENIAC成果報告会 自社開発モデルプレゼンテーション
elyza
1
310
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
390
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
930
AI前提のサービス運用ってなんだろう?
ryuichi1208
1
430
『GRANBLUE FANTASY Relink』キャラクターの魅力を支えるリグ・シミュレーション制作事例
cygames
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
The Language of Interfaces
destraynor
153
23k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
What's new in Ruby 2.0
geeforr
340
31k
In The Pink: A Labor of Love
frogandcode
139
22k
Optimizing for Happiness
mojombo
375
69k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Transcript
MySQL 5.7 ͷJSONܕ ʹ͍ͭͯ MySQL Casual Talks in Fukuoka vol.6
2016/11/09 @matsumana
ࣗݾհ • ໊લɿ দ࡚ ֶ • ॴଐɿ LINE Fukuokaגࣜձࣾ ιϑτΣΞΤϯδχΞʢ։ൃɾӡ༻ʣ
• Twitterɿ @matsumana
ΞδΣϯμ • JSONܕͷಛ • Java͔ΒͬͯΈͨ
5.7͕ϦϦʔε͞Εͯ Ұ͕ա͗·ͨ͠Ͷ
MySQLͷྺ࢙ • MySQL 5.7 ʢ2015/10ϦϦʔεʣ • MySQL 5.6 ʢ2013/02ϦϦʔεʣ •
MySQL 5.5 ʢ2010/12ϦϦʔεʣ • MySQL 5.1 ʢ2008/11ϦϦʔεʣ • MySQL 5.0 ʢ2005/10ϦϦʔεʣ • MySQL 4.1 ʢ2004/10ϦϦʔεʣ • MySQL 4.0 ʢ2003/03ϦϦʔεʣ • MySQL 3.23 ʢ2001/01ϦϦʔεʣ • MySQL 3.23Ҏલ
5.7ͬͯ·͔͢ʁ
5.7Ͱ170Λ͑Δ ػೳՃมߋ͕ ؚ·Ε͍ͯ·͢
શ෦Ѳ͢Δͷ ΊͬͪΌେมͰ͕͢
͓͢͢Ίͷຊ͕ ͋Γ·͢
ॻ੶ൃߦͷ͓ΒͤɿৄղMySQL 5.7 ʙਐԽͨ͠MySQLΛΑ͘ΔͨΊͷςΫχΧϧΨΠυʙ
͜ΕΛಡΜͩΒ 5.7Λ͍ͨ͘ͳΔͣ :)
ࠓճJSONܕʹ͍ͭͯ ௐͯདྷ·ͨ͠
MySQLͷJSONܕͷಛ • ετϨʔδΤϯδϯ্BLOBͱͯ֨͠ೲ͞Ε͍ͯΔ • JSON pathͰjsonͷ߲ΛࢀরͰ͖Δ • ->ԋࢉࢠ͕͋ΔͷͰɺSQL͕ͪΐͬͱݟ͍͢ • generated
columnػೳͱ߹Θͤͯ͏ͱɺjsonͷ߲ʹ ΠϯσοΫεషΕͨΓɺ੍Λ͚ͨΓग़དྷΔ
Java͔ΒͬͯΈͨ • αϯϓϧΞϓϦͷιʔε https://github.com/matsumana/mysql-json-sandbox • ڥ • OSɿ CentOS 7.2
(1511) • MySQLɿ 5.7.16 Community Edition • JDBC Driverɿ Connector/J 5.1.40 • Java8 (1.8.0_111) • Frameworkɿ Spring Boot 1.4.1 • ORMɿ MyBatis 3.4.0
αϯϓϧΞϓϦΛ σϞ͠ͳ͕Β આ໌͍͖ͯ͠·͢
ҙ • JSONܕΛ͑σʔλΛॊೈʹѻ͑ͯ ศརͦ͏Ͱ͋Γ·͕͢ɺԿͰ͔ΜͰ1ͭͷΧϥϜʹೖΕ ͯ͠·͏ઃܭɺʮEAVΞϯνύλʔϯʯͱݺΕ͍ͯ·͢ ˞ࢀߟ PostgreSQLͷΞϯνύλʔϯ : ԿͰ͔ΜͰjsonʹೖΕΔ
ϦϯΫू • MySQL :: MySQL 5.7 Reference Manual :: 12.6
The JSON Data Type • ॻ੶ൃߦͷ͓ΒͤɿৄղMySQL 5.7 ʙਐԽͨ͠MySQLΛΑ͘Δ ͨΊͷςΫχΧϧΨΠυʙ • MySQL 5.7.8͔ΒInnoDBͷgenerated column࣮ମΛऔΒͣʹΠϯ σοΫεΛ࡞ΕΔΑ͏ʹͳͬͨ • PostgreSQLͷΞϯνύλʔϯ : ԿͰ͔ΜͰjsonʹೖΕΔ • SQLΞϯνύλʔϯ • αϯϓϧΞϓϦͷιʔε