Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LINE Messengerの次世代ストレージ選定
Search
LINEヤフーTech (LY Corporation Tech)
PRO
March 02, 2026
Technology
12k
18
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINE Messengerの次世代ストレージ選定
2026年2月24日に開催された「YugabyteDB Japan Meetup #7」での発表資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
March 02, 2026
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
Scaling Beyond the Exabyte: Lessons from Hadoop Integration and Operations at LY Corporation
lycorptech_jp
PRO
0
71
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
310
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
320
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.8k
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
1
410
No More Log Digging 〜AIを一次調査係にする アラートレビュー改善〜
lycorptech_jp
PRO
0
230
実践!既存 Project への AI-Driven Development 適用〜一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
1
530
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
3
1.3k
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
270
Other Decks in Technology
See All in Technology
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
2
160
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
540
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
420
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
160
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
猫でもわかるKiro Web
kentapapa
1
150
Meet AgentCore Identity Consent Portal
hironobuiga
2
100
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.4k
KanaAI
shreyas1009
0
120
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
100
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
270
Claude Designがめちゃくちゃ便利なので使ってほしい
diggymo
0
110
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
5.1M
Code Review Best Practice
trishagee
74
20k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Making the Leap to Tech Lead
cromwellryan
135
10k
Making Projects Easy
brettharned
120
6.8k
エンジニアに許された特別な時間の終わり
watany
109
250k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
RailsConf 2023
tenderlove
30
1.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
290
The Curious Case for Waylosing
cassininazir
1
540
How STYLIGHT went responsive
nonsquared
100
6.3k
Transcript
LINE Messenger の次世代ストレージ選定 LINE ヤフー株式会社 鶴原翔夢 1
Agenda LINE Messenger を支えるデータベースの概要と課題 課題解決のための技術選定 YugabyteDB の強み 2
自己紹介 2013 年 LINE 株式会社入社 LINE 開発SBU メッセージングPF 開発SBU Messenger
サービスのバックエンドエンジニア 3
LINE Messenger メッセンジャーサービス グローバルに利用可能 国内月間利用者数1 億人突破 1 日数百億単位のメッセージを処理 4
Messenger のBackend ユーザーデータはHBase とRedis にストアされる 暗号化済みメッセージもサーバー側に保存する( 直近2 週間分) 5
HBase とは Apache HBase HDFS(Hadoop File System) 上で動作する分散型NoSQL データベース (Key
-> Value) というシンプルなデータモデル ノードを追加することで水平方向にスケールすることができる Messenger の裏側では数百台規模のクラスターが複数稼働中 6
現状の課題 トランザクションが使えないため、アプリケーション側のロジック が複雑化 アプリケーションサイドでセカンダリーインデックスの構築など 不整合の発生が不可避 HBase のユニークなAPI による開発者への負担 アンチパターンを踏むと全体障害に発展することもある 地理的に離れた場所への同期的なレプリケーションが実質不可能
7
HBase のレプリケーション 内部的にはHDFS レイヤーでのチェイ ンレプリケーション 複数地域にまたがる場合は可用性を 考慮すると使えない クラスタ間のレプリケーションは非 同期のみサポート Destination
側にはデータが遅れて到 達するのでStandby クラスタとして運 用することになる Failover 時にわずかにデータロスが発 生 8
Active-Standby 構成の問題 Active 側で障害が発生した時にFailover のステップを確実に行うた めの定期的な訓練の実施が必要 Standby 側は普段はアイドル状態になるので、Active 側と同じ規模 の設備をおくのがコストになる
Standby 側では機能を絞ることになるため、アプリケーションサー バーは縮退モードを実装することになる コードが複雑化 9
課題: Disaster Recovery のための環境維持が困難 10
Active-Active にしたい 11
Active-Active にするためには 非同期レプリケーションでActive-Active を実現するにはアプリケー ション側で、primary-secondary の厳密な制御が必要になる上に有 事の際のデータロスが避けられないため、データがなくなる場合を 考慮したアプリケーションの設計が必要になり難易度が非常に高い リージョンをまたがる同期レプリケーションが必要 12
同期レプリケーションにするとどうなるか 13
同期レプリケーションにするとどうなるか 14
同期レプリケーションにするとどうなるか 15
同期レプリケーションにするとどうなるか 単純な同期レプリケーションでは可用性を下げてしまう WAN ネットワークの品質がDB のパフォーマンスに直結 16
Google のアプローチ Shard ごとに分散合意アルゴ リズムPaxos を使ってレプリ ケーション Megastore (2011) Spanner
(2012) 17
Spanner を使おう? Vendor ロックインは避けたい コアテクノロジーのブラックボックス化を避けたい オンプレミス環境の資源を活用したい 18
Spanner Inspired なOSS 分散合意アルゴリズムRaft の発明によりSpanner クローンと呼ばれる OSS 製品が登場 TiDB YugabyteDB
CockroachDB ライセンス変更によりOSS ではなくなった 19
技術選定 YugabyteDB TiDB CockroachDB Vitess MongoDB FoundatonDB etc, etc ....
20
評価基準 機能セット レジリエンシー パフォーマンス ( レイテンシー・スループット) 21
機能セット 地理分散のサポート 水平スケール オンラインスキーマ変更 セカンダリインデックスのサポート 既存システムとの相互運用性 などなど 22
レジリエンシー評価 単一ノード障害からの復 旧、単一リージョン障害か らの復旧両方のシナリオに おいてYugabyteDB は迅速に 回復可能 YugabyteDB はコントロール プレーンのノードが障害に
なったとしてもダウンタイ ムが発生しない 23
パフォーマンス評価 Messenger サービスのSLO を違反しないことが必須要件 2 種類の評価手法 ベンチマークツール (YCSB) 本番トラフィックのリプレイ (Replayer)
24
試験環境 Data Plane Node Spec name spec OS Rocky Linux
8.6 CPU 2.1Ghz 12 core x 2 Memory 256GB Disk NVMe-SSD 3200GB, SATA-SSD 480GB x 2 25
YCSB workload request type ratio data loading INSERT 100% workload
"a" READ:UPDATE = 50%:50% workload "b" READ:UPDATE = 90%:10% workload "c" READ:UPDATE = 100%:0% workload "f" READ:READ-MODIFY-WRITE = 50%:50% 26
本番トラフィックのリプレイ 27
Table1 SELECT median latency 28
Table1 INSERT median latency 29
Table2 SELECT median latency 30
Table2 UPDATE median latency 31
TiDB とYugabyteDB のパフォーマンス の違い テーブルによって得意不得意がある 書き込みはTiDB が高速なケースが多い とくにセカンダリインデックスがあるテーブルへの更新は差が大 きい おそらくTiDB
のAsync Commit のおかげ 32
地理分散のパフォーマンスへの影響 33
地理分散のパフォーマンスへの影響 34
YugabyteDB のyb-master をリモートに移動してみる 35
TiDB のPD Leader をリモートに移動してみる ※ PD (PlacementDriver) = TiDB におけるControl
Plane Node 36
TiDB のPD Leader をリモートに移動してみる 37
Why? TiDB はトランザクションタイ ムスタンプを取得するために PD (= control plane leader) に
アクセスする必要がある。 https://docs.pingcap.com/tidb /stable/optimistic- transaction/ 38
トランザクションの順序付けの実装 TiDB: TimeStamp Oracle 方式を採用 ほぼすべてのトランザクションがPD Leader にアクセスする必要 があるため地理分散環境ではボトルネックが生じる YugabyteDB:
Hybrid Logical Clock を採用 TimeStamp Oracle のような中央集権的なコンポーネントは存在 しない ノード間が通信するときにインクリメントする論理クロックと物 理時計の時刻を組み合わせて因果関係を保ったまま順序付けを行 う 39
パフォーマンスまとめ Max Throughput (YCSB) DB Throughput (ops/sec) YugabyteDB 90.6K (write-only)
- 141.8K (read-only) TiDB 76.9K(read-modify-write) - 162.7K(read-only) Median Latency (Replayer) DB WRITE READ YugabyteDB 40.9 - 144ms 1.44 - 2.58ms TiDB 35.2 - 89.6ms 1.56 - 52.5ms 40
YugabyteDB の強み 地理分散環境下で同期レプリケーションを可能にしてくれる Hybrid Logical Clock を使うことにより、地理分散環境においてどの 地域でも同等のパフォーマンスを発揮できる アプリケーションをActive-Active マルチデータセンター構成にす
るための要素技術となる OSS である 41
まとめ Disaster Recovery 環境維持のコスト効率改善のため地理分散同期レ プリケーションが可能な技術の選定を行った YugabyteDB はActive-Active multi-DC 環境を実現するにあたって良 い選択肢の一つであることを確認した
42
We're hiring!! https://www.lycorp.co.jp/ja/recruit/career/job- categories/ly00093/ 43