Slide 1

Slide 1 text

Dockerを使ってMySQL環境を構築しよう! 2020/12/19 Open Developer Conference 2020 Online Yoshiaki Yamasaki MySQL Principal Solution Engineer MySQL Global Business Unit

Slide 2

Slide 2 text

Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメントするものではない為、 購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 Copyright © 2020, Oracle and/or its affiliates 2

Slide 3

Slide 3 text

1. Dockerとは? 2. Dockerを使ったMySQL環境構築手順 3. Oracle Cloud Infrastructure の Always Free とは? 4. Always Free環境を使ったデモ 5. お知らせ アジェンダ Copyright © 2020, Oracle and/or its affiliates 3

Slide 4

Slide 4 text

Copyright © 2020, Oracle and/or its affiliates 4 Dockerとは?

Slide 5

Slide 5 text

◼ コンテナ型の仮想化サービスを提供できるオープンソースソフトウェア ◼ 各コンテナはホストマシンのカーネルを利用するため、 ハイパーバイザー型の仮想化サービスと比べて軽量に動作する ◼ 多くのDockerイメージがDocker Hubで公開されている https://hub.docker.com/ Dockerとは? Copyright © 2020, Oracle and/or its affiliates 5

Slide 6

Slide 6 text

Dockerコンテナを使う理由 Copyright © 2020, Oracle and/or its affiliates 6 • アプリケーションスタック全体のプロビジョニングを迅速に行える • 初期状態への復帰が容易 • 柔軟なスケーリング

Slide 7

Slide 7 text

◼ 入手先 • Docker Hub (MySQL Community Edition) (※) • GitHub (MySQL Community Edition) (※) • My Oracle Support (MySQL Enterprise Edition) ※Docker公式イメージと、オラクル社が提供しているMySQL公式イメージは異なるので注意 ◼ 対応バージョン • MySQL 5.6 • MySQL 5.7 • MySQL 8.0 ◼ 対応OS • Linux MySQLのDockerイメージ Copyright © 2020, Oracle and/or its affiliates 7

Slide 8

Slide 8 text

◼ Docker Hub https://hub.docker.com/r/mysql/mysql-server ◼ GitHub https://github.com/mysql/mysql-docker ◼ イメージ名:mysql/mysql-server • バージョンの指定も可能 (例:mysql/server:8.0) • バージョンを指定しない場合は最新バージョン(本発表時点ではMySQL 8.0)のイメージになる オラクル社が提供しているMySQL公式イメージ Copyright © 2020, Oracle and/or its affiliates 8

Slide 9

Slide 9 text

Copyright © 2020, Oracle and/or its affiliates 9 Dockerを使ったMySQL環境構築手順

Slide 10

Slide 10 text

1. Dockerのインストール 2. MySQLのDockerイメージをダウンロード 3. Dockerイメージの確認 4. Dockerイメージをコンテナ化し起動 5. Dockerコンテナを確認 6. MySQLのrootユーザーの初期パスワードを確認 7. MySQLサーバーにrootユーザーで接続し、パスワードを任意のパスワードに変更 Dockerを使ったMySQL環境構築手順 Copyright © 2020, Oracle and/or its affiliates 10

Slide 11

Slide 11 text

◼ Dockerのインストール • 必要なパッケージのインストール • Dockerのリポジトリを追加 • Docker CEのインストール (*) • Dockerサービスの有効化 • Dockerサービスの起動 Dockerのインストール (CentOS, Oracle Linux の場合) Copyright © 2020, Oracle and/or its affiliates 11 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo systemctl enable docker sudo systemctl start docker ※後で実施するデモ時は /etc/yum.repos.d/docker-ce.repo 内の docker-ce-stable の baseurl を以下に修正してから実行 https://download.docker.com/linux/centos/7/$basearch/stable

Slide 12

Slide 12 text

◼ MySQLのDockerイメージをダウンロード ◼ Dockerイメージの確認 ◼ Dockerイメージをコンテナ化し起動 ◼ Dockerコンテナを確認 ◼ MySQLのrootユーザーの初期パスワードを確認 ◼ MySQLサーバーにrootユーザーで接続し、パスワードを任意のパスワードに変更 Dockerを使ったMySQL環境構築 Copyright © 2020, Oracle and/or its affiliates 12 sudo docker pull mysql/mysql-server sudo docker images sudo docker run --name=コンテナ名 -d mysql/mysql-server sudo docker ps sudo docker logs コンテナ名 2>&1 | grep GENERATED sudo docker exec -it コンテナ名 mysql -u root -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';

Slide 13

Slide 13 text

◼ Dockerコンテナのシェルを使う ◼ Dockerコンテナの停止 ◼ Dockerコンテナの起動 ◼ Dockerコンテナの再起動 ◼ Dockerコンテナの削除 その他のコマンド例 Copyright © 2020, Oracle and/or its affiliates 13 sudo docker exec -it コンテナ名 bash sudo docker stop コンテナ名 sudo docker start コンテナ名 sudo docker restart コンテナ名 sudo docker rm コンテナ名

Slide 14

Slide 14 text

◼ MySQL 8.0 Reference Manual / Deploying MySQL on Linux with Docker https://dev.mysql.com/doc/refman/8.0/en/linux-installation-docker.html マニュアルの情報 Copyright © 2020, Oracle and/or its affiliates 14

Slide 15

Slide 15 text

◼ 以下ページの”Example Databases”部分からサンプルデータベースをダウンロード可能 • MySQL Documentation: Other MySQL Documentation http://dev.mysql.com/doc/index-other.html ◼ 実体はSQLスクリプトファイルであるためテキストエディタで内容を確認可能 ◼ worldデータベース • MySQL研修や認定試験の問題などでも利用されているサンプルデータベース ◼ world_x database • worldデータベースにJSONデータを追加したサンプルデータベース ◼ sakila database • world databaseよりも多くのテーブルが存在 • geometryデータ型も含まれている(addressテーブルのlocation列) サンプルデータベース Copyright © 2020, Oracle and/or its affiliates 15

Slide 16

Slide 16 text

◼ Dockerコンテナ側にダウンロードしたファイルをコピー ◼ bashからsqlファイルを実行 ◼ インストールされたことを確認 サンプルデータベースのインストール例(world_x) Copyright © 2020, Oracle and/or its affiliates 16 docker cp <ファイルパス> <コンテナID>:<コピー先のファイルパス> 例) docker cp /Downloads/world_x-db/world_x.sql d4075bd36c83:/tmp/ docker exec -it コンテナ名 bash bash-4.2# mysql -u root -p < /tmp/world_x.sql bash-4.2# mysql -u root –p mysql> show databases;

Slide 17

Slide 17 text

◼ MySQL Operator • Kubernetes上のMySQL InnoDB Cluster運用を自動化 • 単一コマンドでKubernetes上にMySQL InnoDB Clusterを作成/スケール/削除 • MySQL InnoDB Clusterの自動修復(自動障害検出、自動回復) • データのバックアップ、リストア • https://github.com/oracle/mysql-operator MySQL on Kubernetes Copyright © 2020, Oracle and/or its affiliates 17

Slide 18

Slide 18 text

Copyright © 2020, Oracle and/or its affiliates 18 Oracle Cloud Infrastructure の Always Free とは?

Slide 19

Slide 19 text

◼ コストパフォーマンスの高いパブリッククラウド環境 ◼ Zoomがユーザー数の急増に対応するために採用したことでも注目を集めている https://www.oracle.com/jp/corporate/pressrelease/jp20200428.html Oracle Cloud Infrastructure(OCI)とは? Copyright © 2020, Oracle and/or its affiliates 19

Slide 20

Slide 20 text

◼ Oracle Cloud Infrastructureを常時無償で使用できるサービス ◼ Always Free用のアカウントを作成すると、30日間有効な300USドルのクレジットも付与され Always Free対象外のサービスも利用できる ⇒ MySQL Database Service はAlways Freeの対象外であるが、このクレジットで試すことが可能 Always Freeとは? Copyright © 2020, Oracle and/or its affiliates 20

Slide 21

Slide 21 text

◼ 以下のイベントに参加すると、特別オファーあり • MySQL関連のWebセミナー https://www.mysql.com/jp/news-and-events/web-seminars/ • Oracle Code Nightのオンラインイベント https://oracle-code-tokyo-dev.connpass.com/ ◼ 特別オファー • アカウント作成時にクレジットカード情報の登録不要!! (通常であれば、クレジットカード情報の登録が必要です) • 一か月間有効な500USドルのクレジット付き!! (Always Free以外の有償のサービスも1か月間試せます) OCIのトライアルアカウントをお得に作成する方法 Copyright © 2020, Oracle and/or its affiliates 21

Slide 22

Slide 22 text

◼ 以下のURLからアカウント作成可能 https://myservices.us.oraclecloud.com/mycloud/signup ◼ 参考情報 • Oracle Cloud 無料トライアル サインアップガイド https://faq.oracle.co.jp/app/answers/detail/a_id/6492 • Oracle Cloud 無料トライアルに関するよくある質問(FAQ) https://www.oracle.com/jp/cloud/free/faq.html Always Freeのアカウントを作成する方法 Copyright © 2020, Oracle and/or its affiliates 22

Slide 23

Slide 23 text

◼ 手順を画面キャプチャー付きで詳細に解説したチュートリアルを用意していますので、ご活用ください! https://oracle-japan.github.io/ocitutorials/ ◼ MySQL Database Serviceのチュートリアルも今後掲載される予定!! Oracle Cloud Infrastructure のチュートリアル Copyright © 2020, Oracle and/or its affiliates 23

Slide 24

Slide 24 text

◼ Oracle Cloud Infrastructure(OCI)上で提供しているMySQLのマネージドサービス • OCIとネイティブに統合されているため、セキュリティやパフォーマンスなど、 OCIの強みも活かせるマネージドサービス ◼ MySQL開発ベンダーであるオラクルにより提供されており、オンプレミスのMySQLと100%互換性がある • MySQL部分のサポートも含まれているため、安心して利用可能 ◼ MySQL Enterprise Edition 8.0をベースに構築されているため、MySQL Enterprise Edition限定機能も 使用できるようになる予定 (現時点では使用できないが、ロードマップに有り) • 監査ログ取得 • データマスキング • 怪しいSQLのブロック/検知、など MySQL Database Service とは? Copyright © 2020, Oracle and/or its affiliates 24

Slide 25

Slide 25 text

フルマネージド データベースサービス Oracle MySQL Database Service Copyright © 2020, Oracle and/or its affiliates 25 MySQL On Premise MySQL Database Service Database Scaling (※) Backup Security Patch & Upgrade Provision & Configure OS OS Security Patch & Upgrade OS Installation Server Hardware Purchase & Maintenance Storage Storage Purchase & Maintenance Data Center Rack & Space Power, HVAC, Networking Automated Manual ※Auto Scaling機能はまだ提供されていませんが、今後提供される予定です

Slide 26

Slide 26 text

◼ 他社製のMySQLマネージドサービスと比べ、非常に低価格 • 3.1倍~3.7倍低価格 • 構成 • 100 OCPUs, 1 TB Storage • 備考 • MySQL Database Service: • Standard E2 AMD 8GB/Core • 全リージョンで同一料金 • Amazon RDS: • Intel M5 8GB/Core • AWS US East. • Azure: • General Purpose Intel 10GB/Core • MS Azure US-East. • Google: • N1 Standard Intel 7.5GB/Core • GCP Northern Virginia. MySQL Database Service によるコスト削減 Copyright © 2020, Oracle and/or its affiliates 26 ※出典:https://blogs.oracle.com/mysql/introducing-the-mysql-database-service

Slide 27

Slide 27 text

Copyright © 2020, Oracle and/or its affiliates 27 Always Free環境を使ったデモ

Slide 28

Slide 28 text

Copyright © 2020, Oracle and/or its affiliates 28 デモを実施

Slide 29

Slide 29 text

Copyright © 2020, Oracle and/or its affiliates 29 お知らせ

Slide 30

Slide 30 text

◼ MySQLの更新処理と分析処理を⼀つのデータベースで実現! 新機能「HeatWave」のご紹介 • 日時:12/23(水) 15:00~17:30 • 参加費:無料 • 詳細、申込ページ: https://go.oracle.com/LP=103742 セミナー開催予定 Copyright © 2020, Oracle and/or its affiliates 30

Slide 31

Slide 31 text

分析処理が1,100倍高速、コスト1/3以下、利用開始まで1/30の時間 31 0 50 100 Data Preparation Time Hours 19.7 129.7 4時間 30倍 高速 $0 $60,000 $120,000 Annual Cost $129,336 $37,022 1/3以下 のコスト Aurora (db.r5.24xlarge) HeatWave (E3 10ノード) 0 4,000 8,000 GeoMean of Query Run Time Seconds 5日 1100倍 高速 8 秒 2.5時間 インデックス作成 MySQL Database ServiceとAWS Auroraとの比較 (TPC-H, 4TB) *Benchmark queries are derived from TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with TPC-H specification クエリ処理時間の幾何平均 データ準備時間 年間コスト

Slide 32

Slide 32 text

Redshiftの最速スペックとの比較 4TB Redshift (4 * dc2.8xlarge) HeatWave (E3 10ノード) 0 10 20 Geo Mean of 19 derived TPCH Queries* クエリ処理時間 (秒) 2.7x 高速 0 60,000 120,000 Annual Cost 1/3 コスト コスト ($) OLTP + 分析処理 19.7 7.3 $110,560 $37,022 分析処理 Copyright © 2020, Oracle and/or its affiliates. All rights reserved. 32 分析処理 OLTP + 分析処理 *Benchmark queries are derived from the TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with the TPC-H specification TPC-Hの19種類のクエリの処理時間の幾何平均 年間コスト

Slide 33

Slide 33 text

4TB Redshift (2 * ra3.4xlarge) HeatWave (E3 10ノード) 0 50 100 150 Geo Mean of 19 derived TPCH Queries* クエリ処理時間 (秒) 17.7x 高速 129.7 7.3 0 20,000 40,000 Annual Cost 3% コスト差 コスト ($) OLTP + 分析処理 $38,286 $37,022 分析処理 Copyright © 2020, Oracle and/or its affiliates. All rights reserved. 33 OLTP + 分析処理 分析処理 Redshiftの最安スペックとの比較 *Benchmark queries are derived from the TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with the TPC-H specification TPC-Hの19種類のクエリの処理時間の幾何平均 年間コスト

Slide 34

Slide 34 text

Copyright © 2020, Oracle and/or its affiliates 34 Q&A

Slide 35

Slide 35 text

No content