Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TiDBが生まれた背景 そして、TiDB Serverlessへ
Search
PingCAP-Japan
July 16, 2024
Technology
0
680
TiDBが生まれた背景 そして、TiDB Serverlessへ
PingCAP-Japan
July 16, 2024
Tweet
Share
More Decks by PingCAP-Japan
See All by PingCAP-Japan
TiDB 8.2 DMR新機能の紹介
pingcap0315
0
240
TiDB Serverlessのベクトル検索機能の紹介
pingcap0315
0
260
TiDB / Amazon Bedrockで作るRAGアプリケーション
pingcap0315
0
330
TiDB 8.0 DMR新機能の紹介
pingcap0315
0
280
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
3
1.7k
TiProxyの紹介
pingcap0315
0
500
TiDB Cloud APIとTerraform TiDB Cloud Providerの紹介
pingcap0315
0
200
TiDB 7.5 LTS新機能の紹介
pingcap0315
0
290
TiDB 7.4:MySQL 8.0互換性対応の紹介
pingcap0315
0
680
Other Decks in Technology
See All in Technology
生成AI時代におけるグローバル戦略思考
taka_aki
0
190
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
2
260
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
11
9.3k
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
510
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
150
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
2
1k
SREには開発組織全体で向き合う
koh_naga
0
340
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
400
因果AIへの招待
sshimizu2006
0
980
5分で知るMicrosoft Ignite
taiponrock
PRO
0
380
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Embracing the Ebb and Flow
colly
88
4.9k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Practical Orchestrator
shlominoach
190
11k
Code Review Best Practice
trishagee
74
19k
Visualization
eitanlees
150
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Side Projects
sachag
455
43k
A better future with KSS
kneath
240
18k
Transcript
TiDBが⽣まれた背景 そして、TiDB Serverlessへ
⾃⼰紹介 KOITABASHI Yoshitaka PingCAP株式会社 シニアソリューションアーキテクト 💙 Database / Serverless /
Container
Our Mission エンジニアと企業がスピード、敏捷性、スケールをもって イノベーションを起こせるようにすること MySQLと互換性のある OSSの分散型SQLデータベース グローバル 以上で採⽤ 3,000社 ピンキャップ
タイデービー 3,7000+ ★Stars
アジェンダ • NewSQL • TiDB Architecture • なぜTiDBが⽣まれたのか • TiDB
Serverless • TiDB Serverlessデモ
NewSQL
RDBMS / NewSQL ※すべての製品が以下の通りではないですが、大別したイメージとして RDBMS NewSQL ‧マスターとレプリカの明確な区別 ※エンドポイント管理 ‧マスターの性能に律速される ※特にWriteはボトルネック
‧機動的な性能の増減が困難 ‧アプリ側視点での構成がシンプル ※マルチマスター ‧ノード追加による性能向上 ※Read/Write共にスケール ‧リーダースイッチで障害時も⾃動フェイルオーバー ※バージョンアップ時もダウンタイムなし App Computing Nodes App Read / Write ‧‧‧ Read Only Master Read replica リーダー:読み書き担当 フォロワー:バックアップ担当 (リーダーに) Read / Write チャンクの役割分担 Read / Write
TiDB Architecture
分散型SQLデータベース: スループット/可⽤性向上を⽬指す TiDBのアーキテクチャー TiKV TiFlash TiDB TiDB TiFlash TiKV TiKV
PD TSO / Data Location Metadata column型 row型 PD PD クエリ増加 ->ノード追加 容量拡張 ->ノード追加 • SQL解析を⾏う *MySQLプロトコルをKVに変換 • ParserやOptimizerを担う • HTAPではTiKV(row型)かTiFlash(column型)判断 コンピューティング TiKV • OLTP⽤途の分散Key-Value Store※Rocks DB利⽤ • パーティショニングによるデータ分散管理 • Raftや2PCにより整合性担保 TiFlash *optional • HTAP利⽤時の追加コンポーネント • OLAP⽤途のカラム型ストア ストレージ • データ配置場所の管理(Region管理) • 分散トランザクションで利⽤するTSOを発⾏ 司令塔 PD TiDB TiFlash TiKV
⾃動シャーディング‧負荷分散 Region毎の冗⻑化により耐障害性、負荷分散を実現 Region 3* Follower バックアップ Region 1* Leader
読み書き可能 Region 2* Follower バックアップ Region 3* Follower バックアップ Region 1* Follower バックアップ Region 2* Leader 読み書き可能 Region 3* Leader 読み書き可能 Region 1* Follower バックアップ Region 2* Follower バックアップ 例:ユーザーテーブル データサイズは、デフォルト96MB ※⼩さいサイズにする事で柔軟性を確保 96MB 96MB 96MB TiKV TiKV TiKV TiDB TiDB 分散配置されたLeaderが、読み書きを処理
TiKV TiKVのアーキテクチャー Key-Value型データベース • CNCF Graduated Project • 書き込み性能の⾼いLSMツリー(追記型) •
データ永続化:SSTファイルを圧縮して管理 (1,Tom) (2,Jack) (2,Jack) ① ② Sorted String Table (1,Tom) (2,Jack) (1,Tom) ③ (1,Tom) (2,Jack) (1,Tom) (2,Jack) ④ Background処理 Raft Engine Raft Engine Raft Engine
なぜTiDBが⽣まれたのか
はじまりはここから • 全ての始まりは 2015年ごろ • 3人のFounder(Max, Ed, Dylan)が作り始める • 元々、Ed,
Maxは分散型RedisであるcodisというOSSを開発 • キャッシュレイヤーのスケーラビリティを解決後、 リレーショナル DBのスケーラビリティへ挑戦! https://github.com/CodisLabs/codis
ユーザによる初期の使われ⽅ [目指していたもの ] ・MySQLのシャーディングソリューションを 置き換えるスケーラブルな OLTP [実際には・・・ ] ・人々は、ミッションクリティカルな DBを
置き換えることへは慎重 ・TiDBをバックアップやレプリカとして利用 ・MySQLプロトコルをサポートし、 強力なSQLエンジンを持っていたので、 OLAP用途で利用され始める https://www.docswell.com/s/bohnen/K8G4JP-2024-07-09-120442#p6 https://qiita.com/bohnen/items/f28d5cb7acb9efd83712
OLTPからHTAPへ ・OLAPクエリの速度を上げるため、 Sparkをスタック導入 ・スタックに別のソフトウェアを導入が必要となるため、 システム全体の複雑さが問題になる
OLTPからHTAPへ ・OLTPとOLAPを統合するプラットフォームの構築を始める ・MPP(Massive Parallel Processing)フレームワークを導入し、 ストレージエンジンと組み合わた TiFlashが登場 -> HTAP
TiDB Serverless
TiDBの利⽤パターン パターン 1 Instance TiUP TiDBのセットアップから運⽤まで ※ローカルでも使える パターン 2 Kubernetes
パターン 3 Cloud TiDB Operator K8sでのセットアップ‧運⽤ TiDB Cloud フルマネージドDBaaS ServerlessとDedicatedがある
Serverless マルチテナント型 Dedicated 専有型 • マルチAZ / 各コンポーネントスケール(APIあり) • MySQLからの移⾏ツールもフルで使える
※DataMigration / ChangeFeed • OSSライクに柔軟なチューニング可能 • シングルAZ / Autoスケール ※マルチAZ版も予定 • BranchingやEdge Function⽤のDriver⽤意 • Vector Search※Public Beta機能搭載 のラインナップ
TiDB Serverless 数十秒で起動し、自動でスケールする 従量課金のサーバレスデータベース サーバの管理不要 拡張が自動 ⾃動拡張 Pay as you
go 従量課⾦ 自動フェイルオー バーと自己回復 ゼロ ダウンタイム + HTAP機能も使用 可能 リアルタイム分析 パフォーマンス改善 日本語による SQL生成支援 AI アシスタント MySQL driverや ORMツールからも 利⽤可能 MySQL互換 https://aws.amazon.com/jp/blogs/storage/how-pingcap-transformed-ti db-into-a-serverless-dbaas-using-amazon-s3-and-amazon-ebs/
Shared Gateway Isolated SQL Layer Shared Storage Layer Gateway Gateway
Gateway Virtual Cluster - Tenant 1 TiDB MPP Row Engine Row Engine Row Engine Virtual Cluster - Tenant 2 Resource Pool TiDB TiDB MPP Worker Columnar Engine Columnar Engine Columnar Engine TiDB MPP Virtual Cluster - Tenant n TiDB MPP MPP MPP TiDB ・・・ EBS EBS EBS EBS EBS EBS Shared Storage Pool Amazon S3 Shared Service Compacti on Checksu m Analyze Coproces sor Import Export DDL PD TSO Scheduling API Server Architecture
TiDB Vector Search
⽣成AIに絡む包括的なエコシステムとの統合
TiDBを利⽤してRAGアプリケーションを構築 MySQL互換の分散データベースで ベクトル検索が可能 ※ 現時点においては、TiDB Serverlessのみで利⽤可能
POINT 1 NewSQL POINT 2 HTAP POINT 3 MySQL互換 POINT
4 OSS POINT 5 Serverless Write含むスループットと 可⽤性の向上(耐障害性/VerUpもオンライン) ハイブリッドワークロード対応 (OLTP + OLAP) MySQL エコシステムも利⽤ 既存ナレッジを最⼤限活かす フルマネージド / Serverless $0から利⽤可能
TiDB Serverless デモ
1. EC2からの接続 2. TiKVとTiFlashの違いを検証 全体の流れ
THANK YOU. https://pingcap.co.jp/tidb-serverless/ ぜひお試しください!