Upgrade to Pro — share decks privately, control downloads, hide ads and more …

YugabyteDB Managed ハンズオン 入門編

YugabyteDB Managed ハンズオン 入門編

YugabyteDB Japan

April 25, 2023
Tweet

More Decks by YugabyteDB Japan

Other Decks in Technology

Transcript

  1. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved 2023/04/25 YugabyteDB Managed 入門ハンズオン
  2. Yugabyte © 2023 – All Rights Reserved 本日のアジェンダ • はじめに

    10分 ◦ 自己紹介 ◦ オンライン受講のご案内 • YugabyteDB とは 20分 ◦ YugabyteDB 概要 ◦ YugabyteDB Managedの特徴 • YugabyteDB Managed 入門ハンズオン 45分 ◦ ハンズオンのステップ紹介 ◦ ハンズオン実施 ◦ Q&A • まとめ 10分 ◦ YugabyteDB Managed その他のリソース ◦ お知らせ ◦ アンケート
  3. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved はじめに
  4. Yugabyte © 2023 – All Rights Reserved YugabyteDB Managed 入門ハンズオン

    YugabyteDB Managedを初めて使用する方向け の入門ハンズオンです。 YugabyteDB Managedで、使い慣れたSQLを使って簡単にデータベースやテーブルを作成したり、データの 書き込みや読み取りができることを確認します。 対象者: • これからYugabyteDBを学習する開発者 • YugabyteDBを簡単に触ってみたい方 前提知識: • 基本的なSQL文の理解 ハンズオン実施に必要なもの: • インターネット接続可能な端末 • ブラウザ (Chrome, Safari, Microsoft Edge, Firefoxなど) • アプリケーションの導入ができる権限、または、 pgAdminの事前導入
  5. Yugabyte © 2023 – All Rights Reserved オンライン受講のご案内 本ワークショップは、オンライン (Zoom)

    で開催します。スムーズにご受講いただくため、以下の点をご確認く ださい。 • Zoom が使用可能であること • VoIP(インターネット音声接続 )が使用可能であること、もしくは 1台の電話回線 ◦ 詳細はZoomのシステム要件をご確認ください。 • 2つのモニター ◦ ハンズオンは「ウォークスルー」という手法を使って行われます。各エクササイズにおいて、イン ストラクターと同時に、ご自身が手を動かしながら実施する方法です。 ◦ 1つ目のモニターは、Zoomを通じて共有されている、インストラクターの画面を確認するため、 2 つ目のモニターは、ご自身がエクササイズを完了するために使います。 ◦ セカンダリモニター、または、 PCとタブレットの2つで接続するという方法も可能です。
  6. Yugabyte © 2023 – All Rights Reserved ハンズオン手順 • YBMへのサインアップ

    • クラスター作成 • Cloud Shellからクラスタにアクセス • テーブル作成とデータ挿入 • pgAdminのインストール • pgAdminからクラスタにアクセス • pgAdminでのデータベース作成 ◦ オプション(進捗によって調整) https://yugabytedb-japan.github.io/
  7. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved YugabyteDBとは
  8. Yugabyte © 2023 – All Rights Reserved YugabyteDBについて 14 Kannan

    Mikhail Karthik クラウドネイティブアプリケーションに向け たモダンなデータベース オープンソースでの提供 商用利用でも十分な実績のある スケールデータベース RDBMS分野での実績 • 10 years as Core Oracle DB engineer スケーラビリティを考慮した アーキテクチャとオペレーションの実践 • Core DB Team at Facebook 2007 - 2013 • Scaled data platforms from 30m to 1.4 Bn users • Ran DBaaS: +1 Trillion ops/day, +100 PB イノベーションによる裏付け • Co- Creators of Cassandra and Hbase エンタープライズに向けた実装 • Built distributed storage layer at Nutanix Founders
  9. Yugabyte © 2023 – All Rights Reserved YugabyteDB の提供モデル YugabyteDB

    Managed フルマネージドDBaaS YugabyteDB 分散SQLデータベース YugabyteDB Anywhere セルフマネージド DBaaS AWS or GCP YugabyteDB 100% オープンソース Any Cloud - お手持ちの環境 コミュニティ・サポート 24x365 エンタープライズサポート Day2 Opsを最適にするUI マネージドサービス 自動パッチ適用 ビルドインのセキュリティ バックアップ&リカバリ ※Azure は今後対応予定 15
  10. Yugabyte © 2023 – All Rights Reserved 長所の「いいとこ取り」をした2層の論理アーキテクチャ プラグイン可能なクエリ層 YCQL

    API Cassandra 互換 YSQL API Postgres 互換 その他のAPI (予定) DocDB - 分散ドキュメントストア 自動シャー ディング ロード バランス 分散トランザ クション Raftコンセン サス オンプレミスの データセンター あらゆる環境にデプロイ可能 ドキュメント・ストレージ (カスタムRocksDB)
  11. Yugabyte © 2023 – All Rights Reserved PostgreSQLのアーキテクチャ SQL APP

    Postmaster (Authentication, authorization) Rewriter Planner Optimizer Executor WAL Writer BG Writer … DISK PostgreSQL Query Layer の再利用
  12. Yugabyte © 2023 – All Rights Reserved PostgreSQLを分散ストアに対応 SQL APP

    Postmaster (Authentication, authorization) Rewriter Planner Optimizer Executor YugaByte DB Node YugaByte DB Node … … YugaByte DB Node Planner, Optimizer, Executor を拡張 DocDBで、 ストレージを置 換
  13. Yugabyte © 2023 – All Rights Reserved DocDB: 自動シャーディングとロードバランス •

    プライマリキーをベースに、テーブルをシャード (tablet)と呼ばれる細かい単位に分割 • HashあるいはRangeでのシャーディングがある(デフォルトは Hash) • シャードはデータベースノードに配布され、ロードを分散する
  14. Yugabyte © 2023 – All Rights Reserved DocDB:レプリケーションとRaftによる分散トランザクション管理 follower follower

    leader leader follower follower leader follower follower update update update update Node#1 Node#2 Node#3 • tabletと呼ばれるシャーディングの単位でレプリケーションを実施 • RAFT コンセンサスが行われるグループを タブレットピアと呼ぶ • 設定されたコピー数 (RF:Replication Factor, 3がデフォルト)分、各ノードにコピーされる 各タブレットピアの中でリーダーが一つ選ばれる リーダーはnodeやzoneなどを意識して自動的に分散 タブレットピア
  15. Yugabyte © 2023 – All Rights Reserved 高可用性と耐障害性 地理分散 水平方向の拡張性

    PostgreSQL互換 YugabyteDB 鍵となる提供価値 トップ3の小売企業がテキサス州の猛 吹雪で一部のRegionが停電になる中、 障害を回避25万以上のQPSを実現し ながら事業継続を実現 複数の米国トップ10に入る小売業者 が、YugabyteDBをスケールアウトし、 ピーク時のトラフィック( Black Friday, Cyber Monday)に対応 Admiral社は、5つの地域と3つの大陸 にデータを分散して配置し、グローバル での読み取り遅延を 3ms以下に抑え、 ユーザーエクスペリエンスを向上 米国トップ5にランキングする金融機関 が、データスタックを DB2から YugabyteDBにモダナイズ あらゆる 環境で利用可能
  16. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved YugabyteDB Managed
  17. Yugabyte © 2023 – All Rights Reserved YugabyteDB の提供モデル YugabyteDB

    Managed フルマネージドDBaaS YugabyteDB 分散SQLデータベース YugabyteDB Anywhere セルフマネージド DBaaS AWS or GCP YugabyteDB 100% オープンソース Any Cloud - お手持ちの環境 コミュニティ・サポート 24x365 エンタープライズサポート Day2 Opsを最適にするUI マネージドサービス 自動パッチ適用 ビルドインのセキュリティ バックアップ&リカバリ ※Azure は今後対応予定 29
  18. Yugabyte © 2023 – All Rights Reserved YugabyteDB Managed -

    インフラを意識せず透過的にDBaaSを使用
 30 • インフラの準備不要、すぐに使用可能
 ◦ AWS/GCPのアカウント不要 
 ◦ バックアップ保管先の確保不要 
 ◦ シンプルな権限設定(Admin/Developer) 
 
 • 数ステップでクラスタを構成
 ◦ 基本設定:クラウドベンダーとDBバージョン 
 ◦ クラスタ構成:耐障害性レベル、リージョンとVPC 
 ◦ ネットワーク設定:IP許可、VPCピアリング 
 ◦ クレデンシャル:クラスタ管理者パスワードの設定 
 
 • サービスとして安心してシンプルに使えることにフォーカス
 ◦ セキュリティ
 ▪ ISO27001 認証取得 
 ▪ SOC2, SOC3 対応
 ◦ すぐに使えるダッシュボード 
 ◦ Day2 オペレーションを容易にするUIとAPI 
 シンプルな設定でDBを使う、フルマネージドDBaaS 

  19. Yugabyte © 2023 – All Rights Reserved クラスタ作成 - SandboxとDedicated

    Sandbox Dedicated クラウドプロバイダ AWS, GCP AWS, GCP リージョン 全て 全て バージョン Preview Preview, Stable トポロジ 1ノードのみ 多様なトポロジを選択可能 ノードの仕様 2 vCPU 4 GB メモリ 10 GB ストレージ 2-16 CPU 8-64 GB メモリ 100-800 GB ストレージ (追加料金で拡張可能 ) ネットワーク VPC使用不可 - IP許可リスト VPC使用可能 - VPCピアリング - パブリックIP - IP許可リスト リードレプリカ 利用不可 利用可能 (VPCピアリングのみ ) バックアップ 利用不可 vCPUあたり100GB/月 (追加料金で拡張可能 ) • Sandbox ◦ チュートリアル、オンボード用環境 ◦ シングルノードクラスタのみ • Dedicated ◦ 開発、テスト、本番環境 ◦ 多様なトポロジを選択可能
  20. Yugabyte © 2023 – All Rights Reserved 3ステップでのクラスタ作成 (Sandboxの例) 32

    クラウドと リージョンを指定 1 アクセスを許可する IPアドレスを設定 2 クレデンシャルの 設定と取得 3 • AWS / GCP • 最新版のみ • Sandboxは1ノードのみ • アクセス許可するIPを設定 • 管理ユーザIDとパスワード • クレデンシャルのダウンロード後 にクラスタ作成可能
  21. Yugabyte © 2023 – All Rights Reserved 4ステップでのクラスタ作成 (Dedicatedの例) 33

    クラウドと YugabyteDB の バージョンを指定 1 トポロジーと ノードの仕様を設定 2 アクセスを許可する IPアドレスを設定 3 • AWS / GCP • 安定版 / 最新版 • 単一 / 複数リージョン • 耐障害性レベルに応じた多様な トポロジを選択可能 • Adminのパスワードを設定 • クレデンシャルのダウンロード後 にクラスタ作成可能 クレデンシャルの 設定と取得 3 • アクセス許可す るIPを設定
  22. Yugabyte © 2023 – All Rights Reserved クラスタ・トポロジの選択 (Dedicated)
 


    34 基本構成
 クラスタ名
 クラウドプロバイダ 
 バージョン
 リージョン
 単一リージョン
 マルチリージョン
 AZレベル
 ノードレベル
 なし
 リージョン間
 レプリケーション
 リージョンごと
 データ分割
 耐障害性
 データ分散
 *さらにパーティションごと の耐障害性を選択
  23. Yugabyte © 2023 – All Rights Reserved クラスタの構成 35 •

    クラスタのトポロジ ◦ 単一リージョン / マルチリージョン ◦ データ分散モード(マルチリージョンのみ) ◦ 耐障害性レベル • ノードの仕様 ◦ ノード数:Fault Tolerance=Noneは1、それ以外は3が デフォルト。6, 9, 12 …と3ノードずつ追加可能 ◦ vCPU:2, 4, 8, 16 vCPUから選択。それ以上必要な場 合はサポートに依頼 ◦ メモリ:1vCPUあたり4GB(固定) ◦ ディスク:1vCPUあたり50GB(デフォルト)。追加料金で 容量増加が可能
  24. Yugabyte © 2023 – All Rights Reserved リードレプリカ 36 BETA

    • リードレプリカとは ◦ プライマリクラスタと異なるリージョンに読み取り専用の ノードを配置することで、読み取りパフォーマンスを向上 ◦ 書き込みはプライマリクラスタで処理 ◦ プライマリクラスタのRaftコンセンサス(同期レプリケー ション)には参加しない ◦ タイムライン一貫性を保証 • リードレプリカの追加/編集/削除 ◦ クラスタのActionメニューから操作 ◦ クラスタと同一のクラウドプロバイダを使用 ◦ リージョンやノード数を指定
  25. Yugabyte © 2023 – All Rights Reserved バックアップ&リストア 37 •

    バックアップ対象 ◦ クラスタ全体のフルバックアップをサポート ◦ vCPUあたり100GB/月のバックアップ用ストレージを提 供(追加可能) • バックアップのスケジュール ◦ デフォルトで24時間毎の取得、8日間の保持 ◦ 日次でのバックアップ取得時間の指定が可能 ◦ バックアップの保持期間は最大31日 • 以下の操作はクラスタをロックするため、同時実行不可 ◦ バックアップとリストア ◦ クラスタの停止と再開 ◦ クラスタのスケール(ノードの追加削除) ◦ リードレプリカの変更(作成、削除、変更) ◦ データベースのアップグレード ◦ 証明書のローテーション
  26. Yugabyte © 2023 – All Rights Reserved データベースへの接続 38 •

    データベースへの接続 ◦ Cloud Shell (Webブラウザベースのコンソール) ◦ YugabyteDB Client Shell (ローカルのコマンドツール) ◦ その他のアプリケーション ▪ pgAdmin ▪ DBeaver ▪ JavaやNode.jsのクライアントアプリ • 接続セキュリティ ◦ IP許可リスト登録 ◦ VPCピアリング設定 ◦ クラスタ作成時のクレデンシャル ◦ 証明書
  27. Yugabyte © 2023 – All Rights Reserved ネットワーク構成 39 •

    VPCの作成 ◦ クラスタを作成する前に、クラスタを配置するクラウドプロ バイダのVPCを作成しておく ◦ リージョンとCIDRを指定 ▪ GCPでは複数リージョン指定可能 ▪ AWSでは1リージョンのみ ◦ GCPでは後からリージョンを追加したい場合、VPC再作 成となることに注意 • VPCピアリングの作成 ◦ データベースとアプリケーションのVPCをピアリングで接 続 ▪ YugabyteDB Managedのデータベース間のVPC ピアリングは現時点では不可
  28. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved ハンズオン
  29. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved クロージング
  30. Yugabyte © 2023 – All Rights Reserved YugabyteDB Managed その他のリソース

    • YugabyteDB Managed チュートリアル ◦ Cloud Shell でサンプルデータベースの作成とデータ投入後に表示 ◦ YSQLの様々な機能(組込関数やストアードプロシージャ、トリガーなど)を紹介 • Yugabyte University ◦ YugabyteDB Managed Basics ◦ ビデオによる講義(英語) ◦ 本ハンズオンの内容+ユーザ定義関数やトリガー • Yugabyte Japan Workshop ◦ YugabyteDB Managed の拡張性と耐障害性 ◦ Dedicatedの3ノードクラスタを使用して ノード障害時にもワークロードが継続処理 されることを確認
  31. Yugabyte © 2023 – All Rights Reserved Yugabyte © 2023

    – All Rights Reserved Thank You Follow us on Twitter: twitter.com/YugabyteDB_JP Join us on Slack (#yb-japan-users): www.yugabyte.com/slack Star us on GitHub: github.com/yugabyte/yugabyte-db