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.3k
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.9k
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
matsumana
1
1.2k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
930
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
3k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.5k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
900
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.3k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
580
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.6k
Other Decks in Technology
See All in Technology
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
380
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
1.8k
22nd ACRi Webinar - 1Finity Tamura-san's slide
nao_sumikawa
0
120
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
5
250
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
260
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
140
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
660
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
220
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
250
Tebiki Engineering Team Deck
tebiki
0
24k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
30 Presentation Tips
portentint
PRO
1
230
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.2k
Crafting Experiences
bethany
1
58
Navigating Weather and Climate Data
rabernat
0
110
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Paper Plane
katiecoart
PRO
0
46k
Marketing to machines
jonoalderson
1
4.7k
We Are The Robots
honzajavorek
0
170
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Ξϯνύλʔϯ • αϯϓϧΞϓϦͷιʔε