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.6k
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.
Pub/Sub で実装するワーカープールパターン - BigQuery リバースETLジョブの並行数制御-
techtver
PRO
0
100
株式会社TVer 会社紹介資料
techtver
PRO
9
110k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
2.5k
Feature Flagを定義から削除まで 安全に行うために考えたこと
techtver
PRO
0
2.2k
4100万ユーザーを支えるTVer iOSアプリ開発 〜0人から始まったチームのAI活用による挑戦〜
techtver
PRO
1
2.5k
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
1.2k
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
140
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
730
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
2
14k
Other Decks in Technology
See All in Technology
【Λ(らむだ)】最近のアプデ情報 / RPALT20260318
lambda
0
140
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
110
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
160
20260321_エンベディングってなに?RAGってなに?エンベディングの説明とGemini Embedding 2 の紹介
tsho
0
140
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
370
Kiro Powers 入門
k_adachi_01
0
130
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
210
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
390
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
210
A4)シラバスを超えて語る、テストマネジメント
moritamasami
0
110
Phase10_組織浸透_データ活用
overflowinc
0
550
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
GitHub's CSS Performance
jonrohan
1032
470k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Language of Interfaces
destraynor
162
26k
Side Projects
sachag
455
43k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
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