Slide 1

Slide 1 text

Kubernetes上でOracle Databaseの運用を 楽にするOraOperatorの紹介 株式会社スリーシェイク nnaka2992

Slide 2

Slide 2 text

\du 2 株式会社スリーシェイク Sreake事業部 業務内容 - DBRE兼SRE見習い - 全人類にデータベースを好きになってもらうために 活動しています - 自称データ雑用係 - DBAでもDBREでもデータエンジニアでも 興味あること - DBをKubernetesにのせること - SREっぽいこと - データベース関連ならなんでも nnaka2992 (中楯 直希) @nnaka2992 @nnaka2992.bsky.social

Slide 3

Slide 3 text

今日はなすこと 3 今日はなすこと ✅ Oracle Database Operator for Kubernetesの紹介 今日はなさないこと ❌ Oracle Databaseのライセンス体型 ❌ Oracle Cloud Infrastructureのサービス詳細 ❌ 動作デモ 別資料で紹介しているのでそちらを参照

Slide 4

Slide 4 text

OraOperatorの紹介 4 Oracle Database Operator for Kubernetes¹とは ● Oracleが中心となって開発している「Oracle DatabaseをKubernetse Nativeにする」オペレーター ● 大きく分けて4種類の機能を提供している 1. OCI²にリソースを展開する機能 2. 任意のOracle Databaseを管理する機能 3. Kubernetes上にOracle Databaseをデプロイする機能 1. https://github.com/oracle/oracle-database-operator 2. Oracle Cloud Infrastructureの略

Slide 5

Slide 5 text

OraOperatorのCRDの分類 5 OraOperatorのCRDの分類 ● OCI向けのCRD ○ AutonomousDatabase ○ AutonomousContainerDataba se ○ AutonomousDatabaseBackup ○ AutonomousDatabaseRestore ○ DbcsSystem ● Oracle Database全般向けのCRD ○ PDB ○ CDB ○ OracleRestDataService ● k8sへのリソース作成をするCRD ○ ShardingDatabase ○ SingleInstanceDatabase ○ DatabaseObserver ○ DataguardBroker

Slide 6

Slide 6 text

OraOperatorのCRDの分類 6 OraOperatorのCRDの分類 ● OCI向けのCRD ○ AutonomousDatabase ○ AutonomousContainerDataba se ○ AutonomousDatabaseBackup ○ AutonomousDatabaseRestore ○ DbcsSystem Oracle Cloud Infrastructureにサービスを デプロイするCRD

Slide 7

Slide 7 text

OraOperatorのCRDの分類 7 OraOperatorのCRDの分類 ● Oracle Database全般向けのCRD ○ PDB ○ CDB ○ OracleRestDataService ● k8sへのリソース作成をするCRD ○ ShardingDatabase ○ SingleInstanceDatabase ○ DatabaseObserver ○ DataguardBroker On K8s / OCIに関わらずOracle Databaseに対してリソースを展開する CRD群

Slide 8

Slide 8 text

OraOperatorのCRDの分類 8 OraOperatorのCRDの分類 ● Oracle Database全般向けのCRD ○ PDB ○ CDB ○ OracleRestDataService ● k8sへのリソース作成をするCRD ○ ShardingDatabase ○ SingleInstanceDatabase ○ DatabaseObserver ○ DataguardBroker Kubernetes上でOracle Databaseやその 運用を楽にするリソースを展開するCRD 群

Slide 9

Slide 9 text

OraOperatorのCRDの分類 9 OraOperatorのCRDの分類レベルでの感想 ● Terraform でやればいいのでは? Kubernetes Operatorにする必要な いのでは? というリソースも多い

Slide 10

Slide 10 text

OraOperatorのCRDの詳細 10 OraOperatorのCRDの詳細紹介 ● AutonomousDatabase¹ ○ OCIのOracle Database DBaaSをプロビジョニングする ● AutonomousContainerDatabase¹ ○ コンテナベースのAutonomous Databaseをプロビジョニングする ● AutonomousDatabaseBackup・AutonomousDatabaseRestore ○ 上記リソースを対象としたバックアップ・リストアの機能を提供 ● DbcsSystem² ○ OCI Oracle DatabaseのDBaaSをプロビジョニングする 1. Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp - Speaker Deck 2. Oracle Base Database Service 技術詳細 - Speaker Deck

Slide 11

Slide 11 text

OraOperatorのCRDの詳細 11 OraOperatorのCRDの詳細紹介 ● PDB・CDB ○ Pluggable Database・Container Dataabseという Oracle Database 内のリソースを生成するCRD ○ マルチテナント構成などで利用される ● OracleRestDataService ○ Oracle Databaseに対してREST APIを生成する サービスを提供するCRD ○ PDB/CDBなど他CRDの前提条件となることもある 1. いまさら遅い?Oracle Databaseのコンテナ技術|技術ブログ|レック・テクノロジー・コンサルティング株式会社 2. REST Data Services | オラクル | Oracle 日本

Slide 12

Slide 12 text

OraOperatorのCRDの詳細 12 OraOperatorのCRDの詳細紹介 ● SingleInstanceDatabase ○ Oracle DatabaseをStatefulSet相当の形で展開する ○ Primary/Standby/Cloneの3パターンでデプロイ可能 ○ Standbyは内部的にDataguardが利用される ○ アップグレードのパッチを充てる機能を提供 ● ShardingDatabase ○ SingleInstanceDatabaseの機能に加え、データベースをシャーディングする機能を提供 ● DatabaseObserver ○ Oracle Database内からメトリクスをクエリし、PrometheusでViewを提供 ● DataguardBroker ○ 1つ以上のスタンバイ・データベースを作成、維持、管理および監視する機能を提供。 ユーザーがデプロイすることは考慮されていない?

Slide 13

Slide 13 text

OraOperatorのCRDの詳細 13 OraOperatorのCRDの詳細レベルの感想 ※ OCI向けのCRDは含めない ● データベース運用という観点では任意のオブジェクトストレージに バックアップ+リストア機能 が欲しい ● コネクションプーリングの CRDが欲しい ● k8sでリソース作成して触ってみた感想として MySQL / PostgreSQLなどに比べると 起動が遅い ● Sharding構成をサポートしているのはうれしい 組織もありそう