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.3k
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.
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
47
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
360
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
8.7k
成長し続けるTVerサービスを支える オブザーバビリティとカスタマーサポート
techtver
PRO
4
5.3k
Change Tracking でデプロイを記録してパフォーマンスへの影響を分析しやすくしよう
techtver
PRO
1
200
採用人事の立場で行う採用広報・技術広報の裏側 〜TVerがエンジニア採用を本格化するために継続し続けたこと〜
techtver
PRO
2
660
株式会社TVer 会社紹介資料
techtver
PRO
9
73k
採用人事の立場から、採用広報の立ち上げや技術広報の促進をしている話
techtver
PRO
0
1k
バックエンドで頑張るSEO/OGP対策
techtver
PRO
0
2k
Other Decks in Technology
See All in Technology
製造業の会計システムをDDDで開発した話
caddi_eng
3
980
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
110
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
120
Enterprise AI in 2025?
pamelafox
0
100
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
AIエージェント完全に理解した
segavvy
4
270
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
120
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
440
コンソールで学ぶ!AWS CodePipelineの機能とオプション
umekou
2
120
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
210
LINE Notify互換のボットを作った話
kenichirokimura
0
180
ひまプロプレゼンツ 「エンジニア格付けチェック 〜春の公開収録スペシャル〜」
kaaaichi
0
140
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
The Language of Interfaces
destraynor
157
24k
How to Ace a Technical Interview
jacobian
276
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Making Projects Easy
brettharned
116
6.1k
Building an army of robots
kneath
304
45k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Typedesign – Prime Four
hannesfritz
41
2.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
KATA
mclloyd
29
14k
Building Adaptive Systems
keathley
41
2.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
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