Slide 1

Slide 1 text

@tzkb 次のGraduated? Rook or TiKV Cloud Native Meetup Tokyo #12 , 2020/2/13

Slide 2

Slide 2 text

2 最近やっていること • Cloud Native Days Tokyo 2019 “Cloud Native Storageが拓く Database on Kubernetesの未来” • July Tech Festa 2019 “Cloud Native 開発者のための Database with Kubernetes” + =∞

Slide 3

Slide 3 text

3 • そもそもGraduatedの要件は? • Rookとは? • TiKVとは? 話すこと

Slide 4

Slide 4 text

4 そもそも、Graduatedの要件は?

Slide 5

Slide 5 text

5 今、Graduated待ち(Incubating)なプロジェクト達

Slide 6

Slide 6 text

6 Graduatedの基準は色々あるけれど Name contributors stars Code_of_conduct.md ADOPTERS.md Governance.md Kubernetes 2,441 63k 〇 - - Prometheus 441 29k 〇 - - Envoy 456 12.2k 〇 - 〇 CoreDNS 201 5.6k 〇 〇 〇 Containerd 220 5.2k 〇 〇 - Fluentd 187 8.8k 〇 〇 〇 Jager 128 10.2k 〇 〇 〇 Vitess 203 9.5k 〇 〇 〇 TUF - - - Rook 233 6.8k 〇 〇 〇 TiKV 215 6.8k 〇 • CNCFのCode of Conductを遵守し、セキュリティ監査に合格。 • コミュニティの統治構造が定義されている、などなど。

Slide 7

Slide 7 text

7 Rookとは?

Slide 8

Slide 8 text

8 Rook: Storage Orchestration For Kubernetes • 今日は説明しません。 • 詳しく知りたい方は、Japan Rook Meetupで!

Slide 9

Slide 9 text

9 と思ったら、LTは10分だった!! から、もう少しだけRook • マルチなストレージ・プロバイダに対応した、データストア・ オペレーター。 Storage Provider 種別 ステータス 概要 Ceph ストレージ Stable 分散ストレージ (Block/File/Object) Cockroach DB DB Alpha OSS版Spannerを目指す分散DB Minio ストレージ Alpha 簡素なオブジェクトストレージ EdgeFS ストレージ Stable Gitに似たGeoスケールのFS Cassandra KVS Alpha NoSQLの代表格、分散KVS NFS FS Alpha 共有ファイルシステム Yugabyte DB DB Alpha PostgreSQL互換の分散DB

Slide 10

Slide 10 text

10 AWSと比べると良く分かるかも? Storage Provider AWSでは 説明 Ceph EBS/EFS/S3 • Unified SDS Cockroach DB DynamoDB? Aurora? • 分散KVS上のRDB(postgres) Minio S3 • オブジェクトストレージ EdgeFS EBS/EFS/S3 • こちらもUnifiedなSDS Cassandra MCS • re;Invent2019で発表 NFS EFS • ファイルストレージ Yugabyte DB DynamoDB? Aurora? • 分散KVS上のRDB(postgres) • こうして見ると、Rookの競合はクラウドベンダーにも見える。

Slide 11

Slide 11 text

11 :Ceph(RBD)をdeployした際の構成例 • Rookは以下の3つのレイヤで構成される。 operator agent/discover agent/discover agent/discover osd osd osd mon mon mon CSI csi-provisioner csi-rbdplugin csi-rbdplugin csi-rbdplugin Rook [Orchestration] • Storage Providerの管理 [Storage Provisioning] • CSIドライバが、Podとスト レージの接続を媒介 [Storage Provider] • Block/File/Objectストレージ やデータベースを構成

Slide 12

Slide 12 text

12 TiKVとは?

Slide 13

Slide 13 text

13 TiKV: Distrbuted Transactinal key value database • PingCAPが開発している分散KVS。TiDBのストレージになる。 • Rustで開発(!)されている。 [Placement Driver] • クラスタのマネージャ。 • Auto-shardingで負荷や データ量を調整する。 [Region] • 複数ノードに跨るレプリカ 単位であり、単一のRaft Groupと同義。 • データストアにはRocksDB が使われている。

Slide 14

Slide 14 text

14 Single Raft GroupとMulti Raft Group Region2 Region1 Region2 Region1 Region2 Region1 Region3 Region3 Region3 • etcdなどは単一Raft グループで構成される 分散KVS。Leaderが ボトルネックとなるが、 2PC不要。 • TiKVなどはマルチRaft グループで、ボトル ネックをなくせるが、 複数グループに跨る更 新に2PCが必要。 • 分散KVSのレプリケーションにはRaftが使われている。 • 想定する規模によって、利用方法に違いがある。

Slide 15

Slide 15 text

15 Name 互換OSS 説明 TiDB MySQL MySQL互換のNew SQL (分散SQLデータベース) TiSpark Spark Spark IFを提供 Titan Redis Redis IFを提供 TiFlash ‐ TiDBを拡張し、カラムナ・デー タストアを提供する。 TiPrometheus Prometheus Prometheusのストレージに TiKVを利用。まだ開始段階。 世界に広がる Ti ファミリー! • TiKVは分散データストアとしてプラットフォーム化している。

Slide 16

Slide 16 text

16 参考)TiKVを中心に目指す姿 ※2018年のFOSDEMでのPingCAP発表から

Slide 17

Slide 17 text

17 Questions? @tzkb @tzkoba