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
TiDBが生まれた背景 そして、TiDB Serverlessへ
Search
PingCAP-Japan
July 16, 2024
Technology
0
650
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
230
TiDB Serverlessのベクトル検索機能の紹介
pingcap0315
0
240
TiDB / Amazon Bedrockで作るRAGアプリケーション
pingcap0315
0
320
TiDB 8.0 DMR新機能の紹介
pingcap0315
0
270
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
3
1.7k
TiProxyの紹介
pingcap0315
0
470
TiDB Cloud APIとTerraform TiDB Cloud Providerの紹介
pingcap0315
0
200
TiDB 7.5 LTS新機能の紹介
pingcap0315
0
270
TiDB 7.4:MySQL 8.0互換性対応の紹介
pingcap0315
0
660
Other Decks in Technology
See All in Technology
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
7
12k
このままAIが発展するだけでAGI達成可能な理由
frievea
0
110
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
140
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
480
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.6k
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
BI ツールはもういらない?Amazon RedShift & MCP Server で試みる新しいデータ分析アプローチ
cdataj
0
160
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
データ戦略部門 紹介資料
sansan33
PRO
1
3.7k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
850
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Designing for humans not robots
tammielis
254
26k
Become a Pro
speakerdeck
PRO
29
5.6k
Code Reviewing Like a Champion
maltzj
526
40k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Designing for Performance
lara
610
69k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Fireside Chat
paigeccino
40
3.7k
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/ ぜひお試しください!