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
130
TiDBが生まれた背景 そして、TiDB Serverlessへ
PingCAP-Japan
July 16, 2024
Tweet
Share
More Decks by PingCAP-Japan
See All by PingCAP-Japan
TiDB Serverlessのベクトル検索機能の紹介
pingcap0315
0
31
TiDB / Amazon Bedrockで作るRAGアプリケーション
pingcap0315
0
120
TiDB 8.0 DMR新機能の紹介
pingcap0315
0
81
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
3
1.3k
TiProxyの紹介
pingcap0315
0
180
TiDB Cloud APIとTerraform TiDB Cloud Providerの紹介
pingcap0315
0
86
TiDB 7.5 LTS新機能の紹介
pingcap0315
0
160
TiDB 7.4:MySQL 8.0互換性対応の紹介
pingcap0315
0
360
日本最大のポイントサービスがTiDBを採用する理由と背景・そして将来を見据えた展望について
pingcap0315
0
680
Other Decks in Technology
See All in Technology
AWSを始めた頃に陥りがちなポイントをまとめてみた
oshanqq
1
1.7k
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
2
560
#Zenoh 完全に理解した 〜組込み純情篇〜
takasehideki
1
450
HolidayJp.jl を作りました
mrkn
0
110
Chunk computing
matyo91
0
270
Namespace, Now and Then
tagomoris
0
170
Dify - LINE Bot連携 考え方と実用テクニック
uezo
5
1.1k
New Relicで実践する外形監視
aeonpeople
1
120
プロデザ! BY リクルートvol.22_様々なプロダクト経験の中で活きたPdMのスキル
recruitengineers
PRO
3
170
Datadogの便利な使い方 - 意外と知らない?CoScreenとCloudcraft
taijihagino
PRO
1
600
Staff Engineer / 20240827 Yuichiro Masui
shift_evolve
0
150
株式会社M2X エンジニアチーム紹介資料
m2xsoftware
0
320
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
What's new in Ruby 2.0
geeforr
340
31k
How to Ace a Technical Interview
jacobian
275
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
25
5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Web Components: a chance to create the future
zenorocha
308
41k
Docker and Python
trallard
39
3k
Music & Morning Musume
bryan
46
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
157
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Designing the Hi-DPI Web
ddemaree
278
34k
4 Signs Your Business is Dying
shpigford
179
21k
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/ ぜひお試しください!