2020年11月28日に開催された「Open Source Conference 2020 Online/Fukuoka」での発表資料です。https://event.ospn.jp/osc2020-online-fukuoka
mysqldumpよりも非常に高速にデータをバックアップ/リストアできる新しいMySQLのバックアップ/リストアツールと、MySQL Database Serviceについて説明しています。
新しいMySQLのバックアップツールとMySQL Database Serviceのご紹介2020/11/28 Open Source Conference 2020 Online/FukuokaYoshiaki YamasakiMySQL Principal Solution EngineerMySQL Global Business Unit
View Slide
Safe harbor statement以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするものではない為、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。Copyright © 2020, Oracle and/or its affiliates2
1. MySQLのバックアップ方法2. MySQL Shellとは?3. dumpInstance&loadDumpユーティリティ4. MySQL Database Serviceとは?アジェンダCopyright © 2020, Oracle and/or its affiliates3
Copyright © 2020, Oracle and/or its affiliates4MySQLのバックアップ方法
◼ mysqldump• 論理バックアップを取得できるツール• MySQL Community Editionでも使用でき手軽に利用できるが、データ量が多くなるとバックアップ/リストアに時間がかかる◼ MySQL Enterprise Backup• 物理バックアップを取得できるツール• 物理バックアップであるため、mysqldumpよりも高速にバックアップ/リストア可能• MySQL Enterprise Editionのみの限定機能MySQLのバックアップ方法Copyright © 2020, Oracle and/or its affiliates5
◼ mysqldumpと比べて高速にバックアップ/リストア可能• バックアップ処理時間:49倍• リストア処理時間:80倍◼ 充実した各種オプション• フル/増分/差分バックアップ対応• クラウドストレージとの連携• バックアップの暗号化/圧縮、などMySQL Enterprise BackupCopyright © 2020, Oracle and/or its affiliates6
◼ mysqldump• 論理バックアップを取得できるツール• MySQL Community Editionでも使用でき手軽に利用できるが、データ量が多くなるとバックアップ/リストアに時間がかかる◼ MySQL Enterprise Backup• 物理バックアップを取得できるツール• 物理バックアップであるため、mysqldumpよりも高速にバックアップ/リストア可能• MySQL Enterprise Editionのみの限定機能◼ dumpInstance&loadDumpユーティリティ• 論理バックアップを取得できるツール• 並列処理可能であるため、mysqldumpよりも高速にバックアップ/リストア可能• MySQL Shell 8.0.21以降で使用できる新しい機能MySQLのバックアップ方法 (最新版)Copyright © 2020, Oracle and/or its affiliates7
Copyright © 2020, Oracle and/or its affiliates8MySQL Shellとは?
◼ 新しいMySQLコマンドラインクライアント◼ MySQL Serverとモジュールが分かれているため、別途インストールが必要◼ 特徴• Xプロトコル、X DevAPIのサポート• SQLだけでなく、JavaScript や Python も実行可能• バッチコード実行機能• 多様な出力フォーマット (タブ区切り、JSONフォーマット)• mysqlコマンドラインクライアントよりも使いやすい補完機能• AdminAPIのサポート (MySQL InnoDB Cluster用の機能)• レポート機能、プラグイン機能により機能拡張可能• MySQL Shell Utilities を使用可能MySQL Shellとは?Copyright © 2020, Oracle and/or its affiliates9
◼ アップブレードチェッカーユーティリティ• MySQL 8.0へのバージョンアップ前に互換性に関する問題を確認できる◼ JSONインポートユーティリティ• JSONデータをインポートできる◼ テーブルエクスポートユーティリティ• テーブルデータをエクスポートできる◼ パラレルテーブルインポートユーティリティ• テーブルにデータをインポートできる◼ インスタンス/スキーマ/テーブルダンプユーティリティ• 新しいデータダンプユーティリティ◼ ダンプローディングユーティリティ• 新しいデータローディングユーティリティMySQL Shell Utilities の種類Copyright © 2020, Oracle and/or its affiliates10
◼ アップブレードチェッカーユーティリティ• MySQL 8.0へのバージョンアップ前に互換性に関する問題を確認できる◼ JSONインポートユーティリティ• JSONデータをインポートできる◼ テーブルエクスポートユーティリティ• テーブルデータをエクスポートできる◼ パラレルテーブルインポートユーティリティ• テーブルにデータをインポートできる◼ インスタンス/スキーマ/テーブルダンプユーティリティ• 新しいデータダンプユーティリティ◼ ダンプローディングユーティリティ• 新しいデータローディングユーティリティMySQL Shell Utilities の種類Copyright © 2020, Oracle and/or its affiliates11
Copyright © 2020, Oracle and/or its affiliates12dumpInstance&loadDumpユーティリティ
◼ MySQL Shell 8.0.21以降で使用できるデータダンプ&データロードユーティリティ◼ MySQL 5.7以降に対して使用可能◼ MySQL Shell 8.0.22からdumpTablesユーティリティも追加された• 他にも細かな機能改善が複数あるため、最新バージョンのMySQL Shellを使用することを推奨dumpInstance&loadDumpユーティリティCopyright © 2020, Oracle and/or its affiliates13出典:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html
◼ 特徴• 複数スレッドによる並列処理• ダンプ中に進捗状況を表示• ダンプ中のデータを並行してロード可能• ダンプファイルの圧縮• Oracle Cloud Infrastructure Object Storageへのストリーミング• MySQL Database Serviceとの互換性チェック&修正dumpInstance&loadDumpユーティリティCopyright © 2020, Oracle and/or its affiliates14
パフォーマンス比較:データダンプCopyright © 2020, Oracle and/or its affiliates15出典:https://mysqlserverteam.com/mysql-shell-dump-load-part-2-benchmarks/
パフォーマンス比較:データロードCopyright © 2020, Oracle and/or its affiliates16出典:https://mysqlserverteam.com/mysql-shell-dump-load-part-2-benchmarks/
◼ util.dumpInstance()• インスタンス全体のダンプを取得 (ユーザー情報も含む)• 特定のスキーマ、テーブルをダンプ対象外にすることも可能• MySQL Shell 8.0.22時点では一貫性が失われるバグがあるため、{routines:false} を指定してバグを回避することを推奨(※)◼ util.dumpSchemas()• スキーマ単位のダンプを取得• 複数スキーマを一度の処理でダンプ可能• 特定のテーブルをダンプ対象外にすることも可能◼ util.dumpTables()• テーブル単位のダンプを取得• 複数テーブルを一度の処理でダンプ可能使用できるユーティリティ:データダンプ用Copyright © 2020, Oracle and/or its affiliates17※参考情報:MySQL Shell dumpInstance が一貫性の壊れたバックアップを生成するバグの件https://mita2db.hateblo.jp/entry/2020/11/04/233627
◼ util.loadDump()• ダンプしたデータをロード• インポート途中で中断した場合、中断したところから再開も可能• waitDumpTimeoutオプションを使用すると、ダンプ中のファイルも並行してロード可能使用できるユーティリティ:データロード用Copyright © 2020, Oracle and/or its affiliates18
dumpInstance(), dumpSchemas(), dumpTables(), loadDump()Copyright © 2020, Oracle and/or its affiliates19パラメタ 説明dryRun 指定されているパラメータで取得できるダンプの情報を実行前に表示dataOnly DDLはダンプに含めず、データファイルのみをダンプocimds MySQL Database Service との互換性をチェック(dryRunとの併用を推奨)showProgress 進行状況を表示compression ダンプファイルの圧縮タイプを"none" "gzip" "zstd”から指定excludeSchemas 指定されたスキーマを除外excludeTables 指定されたテーブルを除外スキーマ名.テーブル名 または `スキーマ名`.`テーブル名`の形式で指定loadUsers ダンプに含まれているユーザー、ロール、権限のインポート可否※ロード実行ユーザーについては除外されるresetProgress 進行中のロードをリセットし、最初からロードを再実行中断したロードで生成されたオブジェクトは重複する可能性ありthreads 並列スレッドの数主要なパラメータ
◼ デモ動画• MySQL Shell Dump & Load part 1: Demo!https://mysqlserverteam.com/mysql-shell-dump-load-part-1-demo/◼ マニュアル• MySQL Shell 8.0 / Instance Dump Utility, Schema Dump Utility, and Table Dump Utilityhttps://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html• MySQL Shell 8.0 / Dump Loading Utilityhttps://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-load-dump.html◼ MySQL Database Serviceとの互換性に関する情報• Oracle Cloud Infrastructure Documentation:MySQL Database:Importing and Exporting Databaseshttps://docs.cloud.oracle.com/en-us/iaas/mysql-database/doc/importing-and-exporting-databases.html#GUID-4A26CE5C-05ED-483C-A579-9D93524DA465dumpInstance&loadDumpユーティリティのデモ、マニュアルCopyright © 2020, Oracle and/or its affiliates20
Copyright © 2020, Oracle and/or its affiliates21MySQL Database Serviceとは?
◼ 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 affiliates22
フルマネージド データベースサービスOracle MySQL Database ServiceCopyright © 2020, Oracle and/or its affiliates23MySQL On Premise MySQL Database ServiceDatabaseScaling (※)BackupSecurity Patch & UpgradeProvision & ConfigureOSOS Security Patch & UpgradeOS InstallationServer Hardware Purchase & MaintenanceStorage Storage Purchase & MaintenanceData CenterRack & SpacePower, HVAC, NetworkingAutomatedManual※Auto Scaling機能はまだ提供されていませんが、今後提供される予定です
Oracle MySQL Database ServiceCopyright © 2020, Oracle and/or its affiliates24
MySQL Database Service のアーキテクチャーCopyright © 2020, Oracle and/or its affiliates25VirtualMachineSubnet B10.0.1.0/24ORACLE CLOUD INFRASTRUCTURE (REGION)Availability Domain 1 AD3Subnet A10.0.0.0/24MySQLDB SystemVPN DynamicRoutingGatewayVCNUSER TENANCYAD2INTERNAL TENANCYVirtualMachineBlock StorageVCNVCNMonitoringEventsTaggingAuditingWorkflowHealthcheckBack Up/RestoreAPIServiceInternetGatewaySubnetSubnet
MySQL Database Serviceは、OCIの第2世代クラウド・インフラストラクチャ上に構築されており、エンタープライズ・セキュリティを第一に考え、第1世代クラウド・プラットフォームと同等以上のIaaSおよびPaaSサービスを提供します。• MySQL Database Service APIをOracle Cloud Infrastructure Identity Serviceとネイティブに統合• MDS操作に対するAPIアクセス制御のための細かなポリシーを定義• 異なるコンパートメント間で、どのグループのユーザーがMDSのリソースにアクセスできるかを定義します• パブリックIPアドレス無し• OCIはパブリックとプライベートの両方のネットワーキングを提供できますが、MDSはパブリックIP上でエンドポイントを公開しません• 他のクラウド・プラットフォームがこれを提供している一方で、この点が原因でデータベースが侵害された多くの事例があります• デフォルトで暗号化• 全てのデータベースボリュームが常に暗号化されています• MySQLパスワード検証プラグインにより、強力なパスワードを強制• パスワードの複雑さの要件は、すべてのコンプライアンス基準の要件をカバーしています• コンプライアンスのあらゆるニーズに対応Oracle MySQL Database Service:セキュリティ&コンプライアンスCopyright © 2020, Oracle and/or its affiliates26
◼ 他社製の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 affiliates27※出典:https://blogs.oracle.com/mysql/introducing-the-mysql-database-service
◼ コストパフォーマンスの高いパブリッククラウド環境◼ Zoomがユーザー数の急増に対応するために採用したことでも注目を集めているhttps://www.oracle.com/jp/corporate/pressrelease/jp20200428.htmlOracle Cloud Infrastructure(OCI)とは?Copyright © 2020, Oracle and/or its affiliates28
◼ Oracle Cloud Infrastructureを常時無償で使用できるサービス◼ Always Free用のアカウントを作成すると、30日間有効な300USドルのクレジットも付与されAlways Free対象外のサービスも利用できる⇒ MySQL Database Service はAlways Freeの対象外であるが、このクレジットで試すことが可能Always Freeとは?Copyright © 2020, Oracle and/or its affiliates29
◼ 以下のイベントに参加すると、特別オファーあり• 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 affiliates30
◼ 以下の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.htmlAlways Freeのアカウントを作成する方法Copyright © 2020, Oracle and/or its affiliates31
◼ 手順を画面キャプチャー付きで詳細に解説したチュートリアルを用意していますので、ご活用ください!https://oracle-japan.github.io/ocitutorials/◼ MySQL Database Serviceのチュートリアルも今後掲載される予定!!Oracle Cloud Infrastructure のチュートリアルCopyright © 2020, Oracle and/or its affiliates32
◼ Always Freeを使って無料でMySQLのレプリケーション検証環境を構築しよう!https://speakerdeck.com/yoshiakiyamasaki/always-freewoshi-tutewu-liao-demysqlfalserepurikesiyonjian-zheng-huan-jing-wogou-zhu-siyou◼ Always Freeを利用して、無料でMySQLのレプリケーション検証環境を構築する方法について説明しています (レプリケーションを組まずに利用することも可能です)無料でMySQL環境を手に入れたい方向けの参考情報Copyright © 2020, Oracle and/or its affiliates33
Copyright © 2020, Oracle and/or its affiliates34お知らせ
◼ MySQL Database Service Analytics Engine• 大量データの分析処理を高速に実行できるMySQLベースのサービス◼ 12/2(水)にこんなイベントが!!新しいサービスのリリース予定もありCopyright © 2020, Oracle and/or its affiliates35申込ページ:https://go.oracle.com/LP=102761?elqCampaignId=273462
• 10/27 (火) 16:20 – 17:00 Oracle (MySQL)お待たせしました。OracleからMySQLデータベースサービスが登場• 11/24 (火) 16:20 – 17:00 Oracle (MySQL)mysqldumpをまだお使いですか? 新しいdumpInstance&loadDumpユーティリティ• 12/3 (水) 13:00 – 13:40 yoku0825氏MySQL on IaaSの運用あれやこれや• 12/10 (水) 14:40 – 15:20 株式会社ヤマレコ・有限会社アップルップル青い森ウェブ工房MySQL のGIS機能でこんなサービスを提供しています• 12/10 (水) 15:30 - 16:10 株式会社マイネット 堀越氏新興クラウドのMySQL互換DBaaS徹底比較!db tech showcase MySQL 関連セミナーCopyright © 2020, Oracle and/or its affiliates36https://www.db-tech-showcase.com/dbts/2020/online/
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |Developer Days 未来を創造する最新テクノロジーを今、あなたの手に。IT に携わる全てのエンジニアの皆様を対象に、最新技術情報をお届け!• 開催日: 2020年12月17日(木) ・ 2020年12月18日(金)• 時間 : 13:00 – 16:30 *12:45より接続開始• 参加費: 無料 (事前登録制)• https://www.oracle.com/jp/cloudday#OraDevDays廣瀬 一海 氏日本マイクロソフト株式会社萩野 たいじ 氏日本アイ・ビー・エム株式会社野中 恭太郎日本オラクル株式会社12月17日(木) 13:10~大塚 知亮 氏LINE株式会社12月18日(金) 13:10~ 12月18日(金) 13:10~ 12月18日(金) 13:10~Copyright © 2020, Oracle and/or its affiliates【基調講演】LINEにおけるMySQL運用の現状とバージョンアップを支える仕組み
Copyright © 2020, Oracle and/or its affiliates38Q&A