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
270
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
87
TiDB Serverlessのベクトル検索機能の紹介
pingcap0315
0
96
TiDB / Amazon Bedrockで作るRAGアプリケーション
pingcap0315
0
210
TiDB 8.0 DMR新機能の紹介
pingcap0315
0
150
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
3
1.5k
TiProxyの紹介
pingcap0315
0
270
TiDB Cloud APIとTerraform TiDB Cloud Providerの紹介
pingcap0315
0
130
TiDB 7.5 LTS新機能の紹介
pingcap0315
0
210
TiDB 7.4:MySQL 8.0互換性対応の紹介
pingcap0315
0
460
Other Decks in Technology
See All in Technology
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
非機能品質を作り込むための実践アーキテクチャ
knih
2
660
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
520
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
270
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.1k
Featured
See All Featured
Navigating Team Friction
lara
183
15k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Documentation Writing (for coders)
carmenintech
66
4.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
For a Future-Friendly Web
brad_frost
175
9.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Making the Leap to Tech Lead
cromwellryan
133
9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
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/ ぜひお試しください!