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
Amazon OpenSearch Serviceで 構築するTVerの次世代検索基盤
Search
TVer Inc.
PRO
October 08, 2022
Technology
0
1.5k
Amazon OpenSearch Serviceで 構築するTVerの次世代検索基盤
2022/10/08
JAWS DAYS 2022 - Satellites
イベントURL :
https://jawsdays2022.jaws-ug.jp/
TVer Inc.
PRO
October 08, 2022
Tweet
Share
More Decks by TVer Inc.
See All by TVer Inc.
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
900
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
64
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
450
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
11k
成長し続けるTVerサービスを支える オブザーバビリティとカスタマーサポート
techtver
PRO
5
5.5k
Change Tracking でデプロイを記録してパフォーマンスへの影響を分析しやすくしよう
techtver
PRO
1
230
採用人事の立場で行う採用広報・技術広報の裏側 〜TVerがエンジニア採用を本格化するために継続し続けたこと〜
techtver
PRO
2
720
株式会社TVer 会社紹介資料
techtver
PRO
9
84k
採用人事の立場から、採用広報の立ち上げや技術広報の促進をしている話
techtver
PRO
0
1.1k
Other Decks in Technology
See All in Technology
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
730
SREのためのeBPF活用ステップアップガイド
egmc
2
1.3k
無理しない AI 活用サービス / #jazug
koudaiii
0
100
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
3
190
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
590
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
150
三視点LLMによる複数観点レビュー
mhlyc
0
230
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
420
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
0
320
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
3
1.1k
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
RailsConf 2023
tenderlove
30
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What's in a price? How to price your products and services
michaelherold
246
12k
The Invisible Side of Design
smashingmag
301
51k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
A Tale of Four Properties
chriscoyier
160
23k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Practical Orchestrator
shlominoach
189
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Transcript
Amazon OpenSearch ServiceͰ ߏங͢ΔTVerͷ࣍ੈݕࡧج൫ 2022.10.8 JAWS DAYS 2022 גࣜձࣾ TVer
ࠇ
ࣗݾհ • ໊લɿࠇ ༞ฏ • ॴଐɿגࣜձࣾ TVer • ୲ɿ ◦
σʔλγεςϜ։ൃʢETLʣ ◦ όοΫΤϯυ։ൃʢݕࡧج൫ʣ
ΞδΣϯμ • TVerʹ͍ͭͯ • TVerϦχϡʔΞϧͱ࣍ੈݕࡧج൫ ◦ ϦχϡʔΞϧޙͷݕࡧػೳ ◦ ։ൃମ੍ ◦
Amazon OpenSearch Service • ࣮ݱʹ͚ͯͷऔΓΈ ◦ σʔλཧ ◦ ετϨʔδཧ ◦ αʔϏεͷӡ༻ɾ։ൃ • ·ͱΊ
ΞδΣϯμ • TVerʹ͍ͭͯ • TVerϦχϡʔΞϧͱ࣍ੈݕࡧج൫ ◦ ϦχϡʔΞϧޙͷݕࡧػೳ ◦ ։ൃମ੍ ◦
Amazon OpenSearch Service • ࣮ݱʹ͚ͯͷऔΓΈ ◦ σʔλཧ ◦ ετϨʔδཧ ◦ αʔϏεͷӡ༻ɾ։ൃ • ·ͱΊ
TVerʹ͍ͭͯ TVerຽ์ςϨϏہͷίϯςϯπΛ৴͢Δຽ์ެࣜςϨϏ৴αʔϏε ຖि600൪ΛແྉͰύιίϯɾεϚʔτϑΥϯɾλϒϨοτɾςϨϏʹ৴
TVerʹ͍ͭͯ
ΞδΣϯμ • TVerʹ͍ͭͯ • TVerϦχϡʔΞϧͱ࣍ੈݕࡧج൫ ◦ ϦχϡʔΞϧޙͷݕࡧػೳ ◦ ։ൃମ੍ ◦
Amazon OpenSearch Service • ࣮ݱʹ͚ͯͷऔΓΈ ◦ σʔλཧ ◦ ετϨʔδཧ ◦ αʔϏεͷӡ༻ɾ։ൃ • ·ͱΊ
TVerϦχϡʔΞϧ [TVer] ςϨϏίϯςϯπͷࢹௌମݧࠂମݧͷ্Λࢦ͢ ʮTVer IDʯͷఏڙΛ։࢝ https://tver.co.jp/news/20220404-1.html
ݕࡧػೳ • ݕࡧΩʔϫʔυΛೖྗ͢Δͱɺίϯςϯπใ͕Ϛονͨ͠ެ։த ͷίϯςϯπΛҰཡͰฦ͢ػೳ
ݕࡧػೳ • ैདྷίϯςϯπใͷDBΛݕࡧ • ػೳ֦ுͷ͛ʹͳ͍ͬͯͨ ➢ αʔϏεͷʹ͋Θͤͨػೳ֦ுʹ՝ ݕࡧAPI Amazon Aurora
(MySQL) ݕࡧ݁Ռ CMS ίϯςϯπ ใ
ϦχϡʔΞϧͰͷ։ൃମ੍ͷڧԽ • αʔϏεʹ͋ΘͤͯΤϯδχΞʹΑΔԽΛਪਐ • ΤϯδχΞ͕ઐ֎ͷ։ൃʹઓͰ͖ΔΑ͏ʹ ◦ σʔλγεςϜ୲͕खΛڍ͛ͯόοΫΤϯυ։ൃ ➢ΤϯδχΞ͕։ൃͷମ੍αΠΫϧΛίϯτϩʔϧ ϦχϡʔΞϧ
ݕࡧج൫ ํ • ࣗࣾΤϯδχΞओಋͰγεςϜߏΛ৽ ◦ ݕࡧػೳΛΠϯϑϥ͝ͱಠཱͤ͞Δ ◦ શจݕࡧʹಛԽͨ͠ϛυϧΣΞΛಋೖ ➢ Amazon
OpenSearch ServiceΛ࠾༻ ݕࡧAPI ݕࡧ݁Ռ CMS ίϯςϯπ ใ શจݕࡧ ϛυϧΣΞ
Amazon OpenSearch Service • OpenSearchͷϚωʔδυαʔϏε • AWSͷػೳɾαʔϏεͱγʔϜϨεʹ࿈ ܞՄೳ ◦ VPC
◦ RI ◦ etc. • ϩάϝτϦΫεఏڙ Amazon OpenSearch Service
ΞδΣϯμ • TVerʹ͍ͭͯ • TVerϦχϡʔΞϧͱ࣍ੈݕࡧج൫ ◦ ϦχϡʔΞϧޙͷݕࡧػೳ ◦ ։ൃମ੍ ◦
Amazon OpenSearch Service • ࣮ݱʹ͚ͯͷऔΓΈ ◦ σʔλཧ ◦ ετϨʔδཧ ◦ αʔϏεͷӡ༻ɾ։ൃ • ·ͱΊ
ࢦ͢ͷ • σʔλͷཧ؍ ◦ MySQLͷσʔλมߋʹॊೈʹରԠͰ͖Δ • ετϨʔδ؍ ◦ ӡ༻தͷετϨʔδ༻ྔ૿ՃΛࢭ͢Δ •
αʔϏεӡ༻؍ ◦ ݕࡧAPIͷϝϯςφϯείετΛ࠷খԽ͢Δ
ैདྷͷγεςϜߏ ݕࡧAPI CMS ݕࡧ݁Ռ ίϯςϯπ ࢀর σʔλͷྲྀΕ
ݱࡏͷγεςϜߏ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ ެ։։࢝ ίϯςϯπ
ެ։த ίϯςϯπ new old Alias ެ։த ίϯςϯπ ࢀর ࢀর ࢀর σʔλͷྲྀΕ
σʔλͷཧ • CMSͷσʔλܗࣜมߋ͞ΕΔ͜ͱ͕͋Δ ެ։தίϯςϯπΛ ಉظ όοΫΞοϓͳͲઐ ༻ͷσʔλͷཧ͕ ඞཁ ➢ େݩͷίϯςϯπใͷཧMySQLʹͤɺίϐʔΛOpenSearch
ʹఆظతʹೖ͢Δ ݕࡧAPI ݕࡧ݁Ռ
σʔλͷཧ ࢀর σʔλͷྲྀΕ ݕࡧAPI औΓࠐΈ όον CMS ެ։։࢝ ίϯςϯπ ެ։த
ίϯςϯπ Index ެ։த ίϯςϯπ ࢀর ͦͷެ։தͷίϯ ςϯπใΛఆظత ʹMySQL͔Βऔಘ͠ ͯೖ͢Δ ݕࡧ݁Ռ
σʔλͷཧ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ ެ։։࢝ ίϯςϯπ
ެ։த ίϯςϯπ ެ։த ίϯςϯπ ࢀর ࢀর σʔλͷྲྀΕ Index ࢀর ͦͷެ։ɾมߋ͞Εͨ ίϯςϯπΛMySQLͱ OpenSearchʹೖ͢Δ
ετϨʔδ؍ • ݟಀ͠৴ϝΠϯͷͨΊɺଟ͘ͷίϯςϯπ͕1िؒ΄ͲͰެ։ظ ͕ؒऴྃ͠ɺݕࡧର֎ʹͳΔ • ݕࡧର֎͕ੵ͞ΕɺແବͳσΟεΫ༻ྔ͕ʑ૿Ճ ➢ ެ։ظ͕ؒऴྃͨ͠ίϯςϯπIndex͔Βআ Index 2022/09/01
ެ։ 2022/09/08 ެ։ 2022/09/15 ެ։ Index 2022/09/01 ެ։ 2022/09/08 ެ։ 2022/09/15 ެ։ 1िؒޙ
• औΓࠐΈόονຖճ৽͍͠IndexΛ࡞͠ɺͦͪΒʹίϯςϯ πใΛೖ͢Δ • ݹ͍Indexআ͢Δ ετϨʔδ؍ ݕࡧAPI औΓࠐΈ όον ݕࡧ݁Ռ
ެ։த ίϯςϯπ new old ࢀর
αʔϏεӡ༻؍ • IndexΛ࡞Γସ͑Δ͝ͱʹࢀরΛߋ৽͢Δඞཁ͕͋Δ ݕࡧAPI چIndex ৽Index ࢀরͷΓସ͕͑ ඞཁ ݹ͍ ίϯςϯπ
৽͍͠ ίϯςϯπ ➢ ݕࡧAPIʹAliasΛݟ͓͖ͤͯɺཪͰIndexΛߋ৽͢Δ
• ݕࡧ༻AliasΛݕࡧAPIʹݟ͓ͤͯ͘ IndexΓସ͑ ݕࡧAPI औΓࠐΈ όον ݕࡧ݁Ռ old Alias ࢀর
ࢀর ࢀর σʔλͷྲྀΕ
• AliasͷཪͰ࠷৽ͷIndexʹΓସ͑ IndexΓସ͑ ݕࡧAPI औΓࠐΈ όον ݕࡧ݁Ռ ެ։த ίϯςϯπ new
old Alias ࢀর ࢀর ࢀর σʔλͷྲྀΕ
࣮ࡍͷӡ༻ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ ެ։։࢝ ίϯςϯπ
ެ։த ίϯςϯπ new old Alias ެ։த ίϯςϯπ ࢀর ࢀর ࢀর σʔλͷྲྀΕ
࣮ࡍͷӡ༻ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ ެ։։࢝ ίϯςϯπ
ެ։த ίϯςϯπ new old Alias ެ։த ίϯςϯπ ࢀর ࢀর ࢀর σʔλͷྲྀΕ ͦͷެ։தͷίϯςϯ πใΛຖேೖ͠ɺ IndexΛ࡞Γସ͑
࣮ࡍͷӡ༻ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ ެ։։࢝ ίϯςϯπ
ެ։த ίϯςϯπ new old Alias ެ։த ίϯςϯπ ࢀর ࢀর ࢀর σʔλͷྲྀΕ ίϯςϯπऔΓࠐΈ࣌ʹ ࢀর͢ΔIndexΛมߋ
࣮ࡍͷӡ༻ ެ։ɾมߋ͞Εͨί ϯςϯπΛೖ ݕࡧAPI औΓࠐΈ όον CMS ݕࡧ݁Ռ ެ։։࢝ ίϯςϯπ
ެ։։࢝ ίϯςϯπ ެ։த ίϯςϯπ new old Alias ެ։த ίϯςϯπ ࢀর ࢀর ࢀর σʔλͷྲྀΕ
ΞδΣϯμ • TVerʹ͍ͭͯ • TVerϦχϡʔΞϧͱ࣍ੈݕࡧج൫ ◦ ϦχϡʔΞϧޙͷݕࡧػೳ ◦ ։ൃମ੍ ◦
Amazon OpenSearch Service • ࣮ݱʹ͚ͯͷऔΓΈ ◦ σʔλཧ ◦ ετϨʔδཧ ◦ αʔϏεͷӡ༻ɾ։ൃ • ·ͱΊ
·ͱΊ • TVerͷϦχϡʔΞϧʹ͍ɺݕࡧػೳͷΠϯϑϥͱͯ͠ Amazon OpenSearch ServiceΛಋೖͨ͠ • TVerʹదͨ͠ར༻ํ๏Λ࠾༻ͨ͠ ◦ ఆظతʹMySQL͔ΒίϯςϯπใΛೖ͢Δ
◦ Index͝ͱ࡞Γସ͑Δ ◦ ݕࡧAPIʹAlias͚ͩΛݟͤΔ •͜ΕΒͷࢪࡦʹΑΓɺ҆৺ͯ͠ӡ༻Ͱ͖Δݕࡧج൫Λ࣮ݱ
ࠓޙͷ՝ • ͞ΒͳΔӡ༻ϊϋͷੵ • Մ༻ੑͷ্ • ϨίϝϯυͳͲଞͷࢪࡦͱͷ࿈ಈ
None