saasベンダー向けガイド: - db tech showcase ·...
TRANSCRIPT
SaaSベンダー向けガイド: MySQLで競争上の優位性を獲得する
MySQL®ホワイトペーパー
2 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
目次
巨大で手強いSaaS ................................................................................................................. 3
SaaSは巨大 ................................................................................................................................................... 3
最大の課題への対処(の依頼) ................................................................................................................. 4
ベンダーの経験と信頼性 ...................................................................................................... 4
「どのような実績がありますか?」 .......................................................................................................... 5
「このデータベースは改善が続きますか? 5年後、10年後も存在していますか?」 ............................ 5
「わが社の問題を迅速に解決できる専門知識と対応力はありますか?」 .............................................. 5
データ・セキュリティ ......................................................................................................... 6
「このデータベースではどのようなセキュリティ保護、個人情報保護が導入されていますか?」 .... 7
可用性 .................................................................................................................................... 8
「障害発生時にはSaaSは(顧客の業務も)停止してしまいますか?」 .................................................. 8
データ保護 ............................................................................................................................ 9
「障害発生時には顧客データは失われてしまうのですか?」 ................................................................ 9
パフォーマンスと拡張性 .....................................................................................................11
「このデータベースは当社の顧客のニーズに対応し続けることはできますか?」 ............................. 11
管理性 ...................................................................................................................................13
「このデータベースにはどのくらいの時間とリソースを使う必要がありますか?」 ......................... 13
柔軟性 ...................................................................................................................................15
「このデータベースを使用することで当社のオプションは制限されますか?」 ................................ 15
低コスト ...............................................................................................................................17
「このデータベースはコストにどのような影響がありますか?」 ....................................................... 17
MySQLを選択する理由 .........................................................................................................18
「SaaSにこのデータベースを使用した方がよい理由は何ですか?」 ................................................... 18
MySQLのリソース ................................................................................................................19
3 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
巨大で手強いSaaS
写真のクレジット:Paul Kitchener
SaaSは巨大 SaaSの市場規模は、2014年には490億米ドルでしたが、年平均成長率18.3%で5年以内
に倍以上になり、2019年には1,130億米ドルになると予想されています。
SaaSは従来のオンプレミス・ソフトウェアの10倍以上の速さで成長しています。
2014年にはアプリケーション市場全体の約19%がSaaSでした。
2019年までには、SaaSはアプリケーション市場の29%を占めると予想されています。
ISV上位25社のうち23社はSaaSベンダーの上位100社にも名を連ねています。
SaaS専門の企業であるSalesforce.comは、世界最大のソフトウェア・ベンダー10社の
うちの1つです。
出典:IDC 20151
ソフトウェア・ベンダーは、SaaSに市場機会を見出していますが、それと同時にオンプレミスのみのソフ
トウェア・ビジネスにとってSaaSが脅威になるという危機感も持っています。実績のある企業が自社のソ
フトウェアをSaaSとして提供する割合を増やしている一方で、新しいSaaSベンダーが何倍にも増え、多くの
企業が既存の秩序の再編に成功しています。ソフトウェア・ベンダーは否応なしに、新旧のライバルたち
との激しい戦いに巻き込まれています。
既存のベンダーは顧客をどうやって守り(新規参入企業の場合はどうやって奪い取り)、競争に勝って顧客を維持すればよいのでしょうか。SaaSは比較的新しいサービスですが、他のあらゆる市場と同様に、顧客の基準を満たせるかどうかで、顧客を勝ち取り維持できるかが決まります。SaaSに関する基準は業界の専門家ごとに挙げる数や名称が異なりますが、大まかに以下のカテゴリで一致しています2 3 4。
ベンダーの経験と信頼性
データとサービス・レベルの保護
パフォーマンスと拡張性
管理性、柔軟性
費用対効果
1 IDC『Worldwide SaaS and Cloud Software 2015 – 2019 Forecast and 2014 Vendor Shares』、2015年8月 2 Forrester『SaaS Vendor Evaluation: Criteria To Track For Business Outcomes』、2015年1月
3 Gartner『How to Evaluate a Vendor's Commitment to the Cloud and SaaS』、2013年 4 SAManage『Smart Questions for Your SaaS Vendor』、2014年
4 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
最大の課題への対処(の依頼) 顧客にとってメリット、SaaSベンダーにとって負担になるのは、上記の基準がソフトウェア・サービスに適用されるということです。ここで言うサービスはアプリケーションだけではなく、ソフトウェア・プラットフォ
ームやハードウェア・プラットフォーム、ITサービスとその運用、セキュリティ、データベースなども含ま
れ、これらはソフトウェア・ベンダーのコア・コンピテンシーを大きく越えています。それにもかかわらず、
顧客は、これらすべての要素の責任を(通常は長々と書かれたサービス・レベル契約(SLA)を通して)SaaS
ベンダーに求めます。
SaaSベンダーがこれらの課題をクリアする最もよい方法は、課題となる部分を他社に依頼し、サービスの他の
要素を評価する場合と同じ基準や説明責任のメトリックスを適用することです。このことはSaaSデータベース
については特に重要です。SaaSサービスは他のあらゆるアプリケーションと同様に、データベースが発揮する
パフォーマンスと同程度のパフォーマンスしか発揮できないからです。顧客が体験するSaaSのパフォーマン
ス、信頼性、可用性、コスト、サポート、セキュリティなどは、データベースに非常に大きく依存しているの
です。
このホワイトペーパーでは、Q&A形式で、上記のSaaSに関する一般的な基準に基づいてMySQL Enterpriseを
評価し、「SaaSでMySQL Databaseを使うべき理由は何か」という問いに答えることを目的としています。SaaS環境にMySQLを使用することで競争上の優位性がもたらされるか、あるいはMySQLを使用しないことで
不利になる可能性がないか、ご確認ください。
SaaSプラットフォームとしてサードパーティのIaaS、PaaS、またはDBaaSソリューションを使用する場合も、こ
のガイドは役に立ちます。多くの場合、これらのクラウド・プラットフォーム・ベンダーが提供するSLAとサ
ポート・サービスは、SaaSベンダーが契約により顧客に提供する義務を負う内容に比べて、さほど厳しくな
く、包括的でもありません。また、SaaSベンダーによってはSLAを達成するために必要なツールや高度な機能が
不足している場合もあります。MySQL Enterprise EditionおよびSupportは、すべてのIaaSまたはPaaSプラットフォ
ームと、多くのDBaaSプラットフォームで使用でき、貴社の顧客が求める安心を提供します。
ベンダーの経験と信頼性
5 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
「どのような実績がありますか?」 貴社にSaaSやクラウドでの経験があまりない場合でも、MySQLには豊富な実績があります。MySQLはクラウドで
トップのオープン・ソース・データベースであり、AppDynamics、Box、DropBox、Intuit、オラクル、Workday、
Zendeskなど、業界をリードするSaaSベンダーが採用しています。また、Amazon、Microsoft、Google、オラク
ル、RackspaceなどのトップIaaSベンダーとPaaSベンダーはすべて、MySQLとオープン・ソースDBaaSアーキテク
チャのOpenStack、Troveを使用しています。MySQLはWebでトップのオープン・ソース・データベースとして長
く確立された地位を築いており、クラウドでの定評は当然の結果と言えます。MySQLが優れたWebデータベース
である理由はその品質(パフォーマンス、拡張性、信頼性、使いやすさ、柔軟性、コスト効率)ですが、これ
はクラウド・データベースとしても欠かせない特性です。Facebook(とその15億人のアクティブ・ユーザー)、Twitter、YouTube、LinkedIn、Baidu.com、Yahoo!、EBayその他何千ものWeb資産は、すべてMySQLを利用してい
ます。
また、オラクルは世界トップクラスのクラウドおよびSaaSベンダーの1つで、世界最大のデータベース・ベン
ダーでもあります。オラクルのRDBMS市場のシェアは46.2%で、2位以下の6社を合わせた割合とほぼ同じです5。
DB-Enginesのランキングによれば、Oracle DatabaseとMySQLは「世界で最も人気が高いデータベース」の1位と2位
を占めています6。
「このデータベースは改善が続きますか? 5年後、10年後も存在していますか?」 オラクルは世界最大の企業の1つで、2010年のSun Microsystems(とそれに伴うMySQL)の買収以来、MySQLに継
続的に投資しています。MySQLのエンジニアリング・チームとサポート・チームは規模が200%拡大し、QAチー
ムは300%拡大しました。Oracle MySQLのリリースは、MySQLの歴史の中で最高のリリースと広く認識されていま
す。また、新しいOracle MySQLがリリースされるたびに前のリリースよりも改善され、改善内容の範囲と規模も
拡大しています。MySQL 5.7のリリースが明確に示しているように、オラクルはMySQLの改善を加速しており、
減速する予定はありません。
「わが社の問題を迅速に解決できる専門知識と対応力はありますか?」
SaaSの顧客は、データベースの「ダウン」や低速化を、SaaSアプリケーションのダウンや低速化と認識します。
何度修理を試みても本当の解決にはなりません。ベンダーは、Oracle MySQL Supportに依頼することで、あらゆ
るMySQLテクノロジーに関して最も詳しい専門知識を持つ、MySQLのサポート・エキスパートとしては最大のチ
ームにアクセスできます。
Oracle MySQL Supportは、ご利用いただける最高レベルであるPremier Supportです。
サポートが必要なときは、いつでもどこでも24時間365日体制、29言語でサポートを受けられます。複雑で解決
困難な問題があれば、MySQLサポート・エンジニアはその基本となるテクノロジーの開発に関わるエンジニア
から後方支援を受けます。貴社はいつでも最新のテクノロジー、セキュリティ・パッチ、および修正プログラ
ムにアクセスできます。パフォーマンス・チューニングや、最高レベルのセキュリティを実現する開発、レプ
リケーション設定などに関する専門的でパーソナライズされたアドバイスが必要な場合は、MySQLコンサルティ
ング・サポートをご利用いただけます(Premier Supportに含まれています)。
5 IDC『Worldwide RDBMS 2014 Vendor Analysis: Top 10 Vendor License Revenue』、2015年12月 6 http://db-engines.com/en/ranking
6 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
Oracle MySQL Supportは、MySQLの顧客から「優秀」という評価を受けています。MySQLサポート・サービスの提供
後は毎回、顧客にオラクル・テクニカル・サポート満足度調査が実施されており、以下のような結果になっています。
回答者の95%以上が「満足」
回答者の90%以上が「非常に満足」
10名中9名がサービス要求は「完全に解決」と回答
10名中8名が担当サポート・エンジニアを「優秀なサービス」として推薦
MySQLのサポートで提供される保証と専門サポートにより、SaaSベンダーと顧客は評価を下げることな
く時間とコストを節約し、SLAを確実に達成できます。
データ・セキュリティ
写真のクレジット:David Goehring
IDCの調査によると、現時点までのSaaS導入の最大の阻害要因は、セキュリティと個人
情報に関する懸念と、可用性に関する懸念です。7
過去2年間で47%の企業と政府機関がセキュリティ被害を受けています。8
過去12か月間で全米の成人の50%がハッキング被害を受けています。9
7 IDC『Worldwide SaaS and Cloud Software 2015 – 2019 Forecast and 2014 Vendor Shares』、2015年8月 8 http://internetidentity.com/press-release/survey-finds-47-of-companies-and-government-agencies-have- been-breached-in-last-two-years/ 9 http://money.cnn.com/2014/05/28/technology/security/hack-data-breach/
7 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
「このデータベースではどのようなセキュリティ保護、個人情報保護が導入されていますか?」
SaaSベンダーがセキュリティ違反や個人情報の漏えいについて考慮せずに済んだり、セキュリティや個人情報
保護に関する必要な規制に従わなくて済むようになることはありません。SaaSはデータベースの安全が確保さ
れなければ安全ではないため、SaaSデータベースのセキュリティは非常に重要です。MySQLのセキュリティと個
人情報保護機能は、貴社と貴社の顧客を保護し、HiPAA、Sarbanes-Oxley(SOX法)、PCI-DSS、FISMAなどの一般
的なセキュリティ関連規制のコンプライアンスに役立ちます。
ユーザー認証 MySQL Enterprise Authenticationは、Linux(Pluggable Authentication Module(PAM)を使用)やWindows(Active
Directory)など、貴社または貴社の顧客の一元化された既存のユーザー・アカウント管理(LDAP)システムと
簡単に統合できます。ユーザーの既存のSSO資格、役割、グループベースの権限などは、MySQLでもシームレス
に機能します。ユーザーは一元的かつ迅速にプロビジョニングおよびプロビジョニング解除できるため、それ
ぞれにスクリプトを作成する場合と比べて大幅に時間を節約できます。また、MySQL Enterprise Authenticationで
は脆弱なパスワードの特定やパスワードの期限切れ管理などのパスワード管理も可能で、管理者は最も時間が
かかる作業の1つから解放されます。既存のインフラストラクチャを活用することで、貴社と貴社の顧客はコス
トを節約し、別の(それゆえにセキュリティが低い)システムを管理する手間を減らすことができます。
データの暗号化 データの暗号化はさまざまなデータを処理する場合の一般的な要件です。MySQL Enterprise Encryptionは、非対
称暗号化(公開鍵暗号)、鍵生成、電子署名、その他データの安全性を守るための多くの業界標準機能を提供
し、MySQLのバイナリ・ログ、Redoログ、MySQL Enterprise Backupのデータも保護されます。既存のアプリケー
ションを変更せずに他の暗号化システムやアプライアンスと相互運用できます。また、DBAがMySQLの暗号化さ
れたデータを処理できるため、データが不必要に露出することを避けられます。MySQL Enterprise Encryption
は、内部および外部のリスクから貴社の顧客の機密データを保護するのに役立ちます。
ファイアウォール 多くのSaaSベンダーは、さまざまな顧客データを、共有ハードウェア上で動作する別々のVMに保持していま
す。顧客から見れば、自らの最も価値ある資産であるデータをクラウド上の共有リソースに保管することは望
ましくない可能性があります。MySQL Enterprise Firewallを使用すれば、そのような不安を和らげることができま
す。MySQL Enterprise Firewallは、許可されているクエリの「ホワイトリスト」に一致しないクエリをブロックす
ることで、VMの前面を含めて保護を強化します。ホワイトリストを作成するには、MySQL Enterprise Firewallを
「記録」モードに設定し、許可されているすべてのクエリを送信するだけなので、迅速、簡単です。アプリケ
ーションを変更する必要はありません。また、MySQL Enterprise Firewallは各MySQLインスタンスで動作するた
め、MySQLのパフォーマンスには影響しません。ブロックするクエリも許可するクエリもすべてのクエリはログ
に記録され、レポートやフォレンジック分析に使用できます。MySQL Enterprise Firewallは、SQLコードの脆弱性
を悪用する「SQLインジェクション攻撃」も防ぎます。MySQL Enterprise Monitorと一緒に使用すれば、許可され
ていないクエリの場合にリアルタイムの警告を通知することができます。また、Oracle Database Firewallと統合
できます。
監査 セキュリティ被害後のフォレンジック分析には、データのどの部分に誰が何をしたかを記録する必要がありま
す。MySQL Enterprise Auditを使用すれば、脆弱性を特定して修復することに加え、漏えいしたり盗難されたりし
たデータの特定、(悪意の有無にかかわらず)侵入した者の特定と阻止が可能です。MySQL Enterprise Auditは使
いやすいポリシーベースのシステムで、ログオンとログオフ、データへのアクセスや変更、データベース・ス
キーマの変更などを追跡し記録します。貴社と貴社の顧客は、標準または一時的な監査レポートの要件を遵守
し、コンプライアンス違反による高い代償を避けることができます。MySQL Enterprise Auditは、MySQL
Enterprise Monitorと統合して不正なアクティビティや疑わしいアクティビティの場合にリアルタイムの警告を通
知したり、Oracle Audit Vaultと一緒に使用したりできます。
8 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
可用性
写真のクレジット:David Lofink
「障害発生時にはSaaSは(顧客の業務も)停止してしまいますか?」
人は誰でもミスをし、自然災害は発生します。同じように、ハードウェアやソフトウェアには必ず障害が発
生します。貴社の顧客の懸念は「障害で重要なアプリケーションやデータが利用できなくなるのではない
か」ということです。SaaSのアプリケーションやデータベースが停止すると、最善の場合でも生産性の喪
失、最悪の場合は収益低下、悪評、罰金につながります。可用性が最も一般的なSLAメトリックであるのも
不思議ではありません。MySQLとMySQL ClusterにはHA機能が含まれているため、ベンダーは最大99.999%の
可用性でSLAを達成しながら、コストを最小限に抑え、罰金を防ぐことができます。
MySQL Replicationによるフェイルオーバー
レプリケーションは、高可用性(およびパフォーマンスと拡張性)のために最も多く導入されるMySQLのソ
リューションで、EBay、Facebook、Twitterなど、文字どおり何百万もの企業が利用しています。MySQL
Replicationを使用すると、マスターの障害が発生した場合にデータベース操作を別のミラー・サーバー(ス
レーブ)に手動でフェイルオーバーできます。また、MySQL Replicationユーティリティで障害検出と操作の
フェイルオーバーを自動化できます。
レプリケーションGTIDによるフェイルオーバーの改善
MySQL 5.6ではGTID(グローバル・トランザクション識別子)のサポートが追加されました。GTIDは、レプリ
ケーション・トポロジー全体で使用できる、トランザクションごとの一意のIDです。GTIDを使用すること
で、スレーブが同期していないときや、マスターで書き込みが完了していないときでも、フェイルオーバー
が簡単になり、信頼性も高まります。その他のレプリケーションの機能強化には、準同期レプリケーション
のサポート、動的再構成のサポートなどがあります。
MySQL FabricとMySQL Routerによる自動化されたHA
MySQL Fabricは、シャーディング・ベースのスケールアウトとHAを実現する、拡張可能なフレームワークで
す。レプリケーション・グループでマスターの障害が発生した場合にスレーブを透過的にマスターに昇格さ
せ、MySQL Router(またはFabric対応コネクタ)は新しいマスターに直接書き込みを行い、各スレーブ間で読
み取り負荷を分散します。すべてのステップは自動化され、アプリケーションへの変更は必要ありません。
「マルチマスター」MySQL Group Replication
MySQL 5.7.10をベースにしたMySQLプラグインであるMySQL Group Replicationは、場所を問わずマルチマスター
更新を実行し、複製状態の一貫性を厳密に確保するために連動する一連のMySQL Server上に、シームレスに分
散された複製データベースを作成します。1.0 GAより前のMySQL Labsから利用できます。
9 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
MySQL Clusterで実現する99.999%の可用性 MySQLは、単一障害点がないシェアード・ナッシング分散データベースで、最も要求の厳しいアプリケーションで
最大99.999%の可用性を実現するように設計されています。地理的レプリケーションのためにマルチサイト・クラ
スタをサポートし、実行中のクラスタにダウンタイムなしでノードを追加できます。また、負荷分散を伴う自動
データ・パーティショニングを実行します。SQLとNoSQLのAPIにより、1つのソリューションでリレーショナル・
テクノロジーとNoSQLテクノロジーを使用できます。
MySQL Clusterは、Alcatel-Lucent、AT&T、BT、Ericssonなどの世界有数の電気通信企業やネットワーク機器業
者、PaypalやZyngaなどのトップWebプロバイダ、さらにはShopatronから米国海軍にいたるさまざまな組織
が採用しています。
データ保護
写真のクレジット:Bs0u10e0
「障害発生時には顧客データは失われてしまうのですか?」 たとえ保護していても、さまざまな原因でエラーや事故、障害が発生する場合があります。顧客の多くが抱く
懸念は、そのような場合にデータが永遠に失われてしまうのではないかということです。MySQLには取り返し
のつかないデータ喪失を防ぐための強力な保護機能があります。
トランザクションセーフなMySQL MySQLのデフォルトのInnoDBストレージ・エンジンは、トランザクションセーフでACID準拠です。貴社の顧
客のデータを損失や破損から守るために、事実上、データの変更は「完了するか、まったく開始されない
か」の2つの状態に固定され、正確性を確保し、保存後は安全に保護することが保証されます。また、レプ
リケーション・スレーブとバイナリ・ログはトランザクションセーフで、データとレプリケーションの位置
情報が同じトランザクションで同時に更新されます。
NoSQLのみのソリューションと異なり、InnoDBのACIDプロパティはすべて厳密に遵守され、MySQLのMemcached
NoSQLアクセスを使用している場合も含め貴社の顧客のデータは保護されます。
10 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
データのバックアップ MySQL Enterprise Backupは、MySQL Databaseのオンライン「ホット」非ブロッキング・バックアップを自動的、
迅速に実行する高度なツールです。完全バックアップ、変更されたデータのみをバックアップする増分バック
アップ、または特定の表や表領域のみをバックアップする部分バックアップを選択できます。MySQL Enterprise
BackupはMySQL Dumpよりも49倍高速です。SaaSベンダーにとって重要な点として、MySQL Enterprise Backupは
以下の内容もサポートしています。
Amazon S3、Oracle Cloud Storage Cloud、その他の標準仕様クラウド・ストレージとのS3および
Swift API経由ダイレクト・クラウド・ストレージ・データ・バックアップおよびリストア
ビルトイン256ビットAES暗号化によるすべてのバックアップ・データの保護
バックアップの検証によるバックアップ・データ整合性の確保:内部ページの有効性、ファイ
ル・チェックサムの一致を確認します。
バックアップからのデータのリストア MySQL Enterprise Backupでデータを簡単にリストアできます。以下の機能をサポートしています。
完全バックアップ、部分バックアップ
任意の時点のデータをリストアできるポイント・イン・タイム・リカバリ(PITR)
MySQLのバックアップとバイナリ・ログを使用した、任意のトランザクションへのロールフォワード・
リカバリ
部分リストアを使用した、特定の表および表領域のリカバリ
バックアップを使用することで、迅速なMySQL Replication設定と管理のためにクローンを作成したり、バッ
クアップを別の場所にリストアしたりできます。MySQL Enterprise BackupからのリストアはMySQL Dumpを
使用した場合よりも80倍高速です。
データ圧縮
MySQL Enterprise Backupでは圧縮したバックアップ・ファイルを作成することもできます。通常はバ
ックアップ・サイズを70%から90%以上減らすことができ、ストレージ・コストを大幅に(70%から90%以上)削減できます。
11 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
パフォーマンスと拡張性
写真のクレジット:rickbucich
「このデータベースは当社の顧客のニーズに対応し続けることはできますか?」 速度が低下するとSaaSの顧客の生産性、場合によっては収益が低下します。SaaSベンダーにとっての課題は、ユ
ーザーごとに異なる会計サイクル、繁忙期、増加速度、ミクロ経済上およびマクロ経済上の事情に起因する、予
測できない需要です。この予測できない需要と表裏一体の課題は、コスト効率の維持です。領域に余裕があれば
需要の一時的な増加に対応できますが、コストも大幅に増大します。
パフォーマンス、水平/垂直拡張性の加速 MySQLはこれまでも優れたパフォーマンスで定評がありましたが、オラクルの下でMySQLのパフォーマンス
はさらに加速しています。
MySQL 5.5はMySQL 5.1よりも360%高速でした。
MySQL 5.6はMySQL 5.5よりも230%高速でした。
MySQL 5.7はMySQL 5.6よりも300%高速です。ベンチマークでは160万QPSを超えています。
これに伴い、定評あるMySQLの拡張性も同様のペースで改良が続いています。MySQLは複数の2 CPUマシンにま
たがって水平拡張できることで高い評価を得ていますが、MySQL 5.6からは、新しいハイエンド・マルチコア・
サーバーを存分に活用できる垂直拡張性も備えています。MySQL 5.7では、読み取り専用と読み取り/書き込み
の両方の負荷で72コア以上に拡張できます。
レプリケーションの改良によるパフォーマンスと拡張性の向上 MySQL Replicationでは、HAに加え、サーバー群や複数のデータ・センター、複数の地域にまたがって効率的な
スケールアウトを実現できます。これにより、ベンダーは、MySQLインスタンスを弾力的に追加したり削減し
たりすることで容量を動的に調整できる柔軟性を得られます。MySQL 5.6と5.7では、MySQL Replicationの機能が
大幅に向上しています。以下に、その一部を示します。
マルチスレッド・スレーブ:複数のスレッドがそれぞれ別々のデータベースにイベントを適用し、スレ
ーブでのレプリケーションのパフォーマンスが向上します。
バイナリ・ログ・グループ・コミット:マスターでのレプリケーションのパフォーマンスが向上します。
最適化された行ベース・レプリケーション:複製が必要なデータの量を減らします。
12 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
表パーティショニング MySQL Partitioningは、非常に大規模な表のデータを小さな論理パーティションに効果的に水平分割します。
クエリは適切なパーティションに送られ、そこではるかに小さなデータセットをスキャンするだけで済みま
す。その結果、パフォーマンスが劇的に改善する場合も多くあります。MySQL 5.7では、さらにパフォーマンス
を大きく改善するネイティブ・パーティショニングのサポートが追加されました。MySQLでは複数のパーティ
ショニング方法を利用できます(レンジ・パーティショニング、リスト・パーティショニング、カラム・パー
ティショニング、ハッシュ(およびリニア・ハッシュ)・パーティショニング、キー・パーティショニング、
サブ・パーティショニング、パーティション・プルーニングなど)。
データセーフな読み取りおよび書き込みの拡張性 MySQL Fabricは、MySQL Partitioningとよく似た方法でMySQLのパフォーマンスを改善します。MySQL Fabricは複
数のMySQL Serverにまたがってデータを分割(「シャード」)します。アプリケーションから新しいデータが
送信されると、Fabric対応MySQL ConnectorsまたはMySQL Routerが、適切なサーバー・シャードにデータを自動
的にルーティングします。
MySQL Fabricは、複数の書き込み処理を異なるサーバー・シャード上で独立して実行できるようにすること
で、高い書き込み負荷拡張性を提供します。シャーディングによって高い書き込み拡張性を提供する他の
NoSQLソリューションと異なり、MySQLはトランザクションセーフでACID準拠です。MySQL FabricはMySQL
Replicationをベースにしているため、安価なハードウェアで低コストに拡張できます。
クラウド・フレームワークの統合とサーバー・プロビジョニング
MySQL Fabricにより、OpenStackなどのクラウド・フレームワークを使用して管理対象のMySQL Serverシャー
ド群を弾力的にスケールアウト/スケールインできます。MySQL Fabricは、MySQL Replicationを設定して新
しいサーバーを追加する前に、透過的にクラウドからマシンを確保します。
同時ユーザーの処理 MySQLスレッド・プールは、クライアント接続および文実行スレッドの管理オーバーヘッドを軽減すること
で、数千人の同時ユーザーがいる場合もMySQLの高パフォーマンスを常に維持します。MySQL 5.7とスレッド・
プールを使用した場合、1,024同時ユーザーで500,000 QPSのベンチマークを記録しました。
データ喪失のリスクなしでNoSQLのパフォーマンス MySQLのMemcachedプラグインを使用すると、SQLに変換することなく(つまり、NoSQLで)InnoDBストレー
ジ・エンジンに直接アクセスできます(SQLレイヤーは事実上バイパスされ、SQLの構文解析などの操作が排除
されるため、より多くのサーバー・ハードウェア・リソース(CPU、メモリ、およびI/O)がストレージ・エン
ジン自体のクエリ処理専用に使用されます)。MySQLのNoSQL(Not-Only-SQL)オプションのメリットとして
は、MySQLはトランザクションを利用できるACID準拠状態にしたままで、NoSQLのみのソリューションにおける
データ喪失のリスクなしに、非常に高速な処理が可能になることです。同一のMySQL Server上でSQLかNoSQLの
片方、あるいは両方を組み合わせて使用することができます。
クエリ・パフォーマンスの最適化 MySQLオプティマイザおよびパーサーは最近のリリースで大幅なリファクタリングが行われています。より効
率的なクエリ・コスト・モデルを使用し、さまざまなクエリ実行パスのコストやメリットを効果的に判断して
可能な限り最も優れたパフォーマンスを実現するパスを実行します。以下に、多くの追加機能や改良点の一部
を示します。
クエリ・リライト・プラグイン
より効率的なサブクエリ処理
EXPLAINを使用した、長時間実行クエリの解析および改善
オプティマイザの「ヒント」のサポート
13 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
リアルタイム・パフォーマンス
MySQL Clusterのリアルタイム設計により、一貫したミリ秒単位の応答待機時間が実現され、1秒間に2億クエリ以上を処理できます。MySQL Clusterでは以下の機能がサポートされています。
透過的な書き込み拡張性を実現する自動シャーディング
インメモリ・データとディスクベース・データ
負荷分散を伴う自動データ・パーティショニング
1つのソリューションでリレーショナル・テクノロジーとNoSQLテクノロジーを使用できる、
SQLとNoSQLのAPI
管理性
「このデータベースにはどのくらいの時間とリソースを使う必要がありますか?」
使いやすい設計 人気 慣れ コストの削減 MySQLの誕生以来、使いやすさはMySQLの設計目標であり、それが、MySQLが広く受け入れられている大きな理
由の1つです。ソフトウェアをダウンロードしてからインストールの完了まで、15分以内で実行できます。
MySQLの使いやすさと人気のため、まだMySQLに慣れていない開発者やDBAはほとんどいません。また、MySQL
や巨大で非常に活発なユーザー・コミュニティからさまざまなオンライン・リソースが提供されており、オラ
クルはトレーニング・コースを実施しています。このようにMySQLスキルは豊富で比較的学びやすいため、SaaS
ベンダーは人件費とトレーニング・コストを大幅に減らし、市場投入までの期間を短縮できます。
統合された開発/管理ツール MySQL Workbenchは、開発者とDBAのための統合ビジュアル・ツールです。MySQL Workbenchは、データ・モデリ
ングやSQL開発のほか、サーバー構成、ユーザー管理、バックアップなどの包括的な管理ツールを提供します。
- 設計:新しいMySQL Databaseのスキーマを作成、検証し、リバース/フォワード・エンジニアリ
ング、変更管理機能、ドキュメンテーションによって既存の物理MySQL Databaseを最適化します。
14 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
- 開発:ビジュアル・ツールを使用してSQLクエリを作成、実行、最適化できます。SQLエディタは、
構文のカラーハイライト、オートコンプリート、SQL文の再利用、SQLの実行履歴情報を提供します。
開発者は使いやすい視覚化された実行計画を使用して、クエリのどの部分を最適化すればよいか、ワ
ン・クリックで確認できます。
- 管理:パフォーマンス・ダッシュボードで主要な評価指標を確認できます。パフォーマンス・レポートを使うと、IOのホットスポットやコストの高いSQL文などを簡単に識別してアクセスできます。
クラウドにおける高度なモニタリングと管理 MySQL Enterprise Monitorは、MySQL Databaseのヘルス、セキュリティ、パフォーマンス、可用性に関する統合
された単一ビューを提供する、モニタリングおよび管理ツールです。このツールを使用すると、SaaSベンダー
は、数台から数百台までMySQL Serverの管理を簡素化および自動化し、MySQL Serverのパフォーマンスと可用性
を向上できます。MySQL Enterprise Monitorは開発時から稼働時まで、最適化、モニタリング、トラブルシュー
ティングのために使用できます。構成なしで、MySQLのモニタリングを10分以内に開始できます。MySQL
Enterprise MonitorはクラウドやVMで使いやすく、リモート・エージェントなしでMySQL Serverをリモート・モ
ニタリングできます。
- セキュリティのモニタリングと管理:MySQL Enterprise Monitor AdvisorsでMySQLのセキュリティ・ベス
ト・プラクティスを施行するルール・セットを適用するか、任意のセキュリティ規則を施行する独自のル
ールを作成できます。脆弱性が存在する可能性がある場合は、SLAやセキュリティ規則のコンプライアンス
状態が影響を受ける前に警告されます。MySQL Enterprise Monitorには以下の機能も含まれています。
アクセス制御リスト(ACL):マルチテナントのクラウド環境で、役割ベースおよびグループ
ベースの管理を簡素化します。
MySQL Enterprise Firewallのモニタリング
MySQL Enterprise Auditのモニタリング
- パフォーマンスと可用性のモニタリングおよびSLA保証のアラート:MySQL Enterprise MonitorがMySQLの
パフォーマンス関連のサーバー・メトリックスを継続的にモニタリングし、通常範囲またはSLAしきい値か
ら逸脱した場合はアラートを生成します。
InnoDB:非効率な索引の使用、ロックの問題、InnoDBバッファ・プールの使用に関するアラー
トを受信して、InnoDB構成を改善する方法についてのヒントを得ることができます。
ディスクのモニタリング:トレンドの解析によって今後必要になる容量を予測し、ユーザーが定
義したしきい値に関するアラートを受信します。
オペレーティング・システムのモニタリング:CPU使用状況、RAM使用状況、スワップ使用
状況、ファイルシステム使用状況、ディスクIOに関するしきい値をリアルタイムにモニタリ
ングし、設定します。
- レプリケーションの設定と管理の容易化:MySQL Enterprise Monitorでは、MySQLのレプリケーション・
トポロジーを自動検出し、MySQLのマスターおよびスレーブのすべてについて、パフォーマンス、可用
性、状態を可視化します。MySQLのベスト・プラクティス・アドバイザでは、複製されたサーバーの同期
状態を維持し、スレーブの遅延などの問題を修正して停止状態を避ける方法をアドバイスします。
- バックアップ管理の改善:MySQL Advisorsは、オンライン・バックアップが要件に従って実行される
ように支援し、「前回の完全バックアップは古すぎないか?」、「増分バックアップは実行中
か?」、「前回のバックアップ・ジョブは成功したか?」、「バックアップのロックの時間が長すぎ
ないか?」などの疑問に回答します。
- クエリの改善と高速化:MySQL Query Analyzerでは、クエリ・パフォーマンスのリアルタイム・モニタ
リング、実行時統計の確認、視覚的なクエリ解析を使用した、速度低下の原因になっているSQLコード
のフィルタリングと特定が可能です。パフォーマンス・スキーマを使用すれば、ソフトウェアや構成を
追加することなく、MySQL Serverから直接収集された下層パフォーマンス・データを解析できます。
15 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
クラスタの管理性 MySQL Cluster Managerは、オンラインでのスケーリング、アップグレード、バックアップ、再構成、チューニ
ングなどの一般的な管理タスクを自動化することによって、MySQL Clusterの作成と管理を簡易化します。
Auto-Installer:MySQL Clusterはすぐに立ち上げて運用することができます。グラフィカルなユーザー・
インタフェースを介して、作業負荷や環境に合わせて自動的にチューニングされた本番運用レベルのク
ラスタを構成およびプロビジョニングできます。
自動チューニング:書き込み負荷を高、中、低から指定し、使用タイプをWeb、リアルタイム、テス
トから指定するだけで、2つを組み合わせて自動的にMySQL Clusterをチューニングできます。
自動化された管理:クラスタ全体を1つの存在として管理し、クラスタ内の個々のプロセスを細かく
管理できます。
自動化されたモニタリング:クラスタ内の各ノードを自動的にポーリングすることで、オペレーティン
グ・システム・レベル、個々のプロセス・レベルの両方でクラスタの状態をモニタリングします。
リカバリ:MySQL Clusterは、障害が発生したデータ・ノードを自動的に再起動することで、障害から自
己修復できます。MySQL Cluster Managerは、SQLおよび管理ノードをモニタリングして自動リカバリする
ことで、この機能を拡張します。
柔軟性
写真のクレジット:Jim Pennucci
「このデータベースを使用することで当社のオプションは制限されますか?」 一言で言えば、答えは「いいえ」です。MySQLはこれまでもユーザーにさまざまなオプションを提供し続けて
きましたが、近年、ドキュメント・データベースやNoSQLのみのデータベース、異なるモジュールで一般的に
利用されている機能が追加されました。
ドキュメント・ストアとRDBMSの両方に対応 ドキュメント・データベースは魅力的です。さまざまなデータ型を収容でき、高速で拡張性に優れ、事前設定
されたスキーマが必要ないために簡単、迅速に開発できます。しかし、ドキュメント・データベースは非SQL
であるため、複雑なアドホック・クエリには対応することが難しく、トランザクションがACIDに完全には準拠
していないため、致命的なデータ喪失が発生するリスクがあります。
16 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
MySQL 5.7にはネイティブJSONサポートが追加されており、トランザクションセーフなドキュメント・ストアとRDBMSのいずれか、または両方として動作できます。RDBMSかドキュメント・ストアのどちらかを選択した
り、2つの異なるデータベースを運用したり、ドキュメント・ストアのメリットを生かすためにデータ喪失の
リスクを負ったりする必要はありません。MySQLはネイティブJSONデータ型をサポートしているため、JSONド
キュメントの自動検証、最適化されたストレージ・フォーマット、アクセス効率の向上を実現できます。
位置情報に基づいたサービスのためのGISのサポート オラクルは、GIS(地理情報システム)のエキスパートからなる専任チームを採用し、非常に高度なGIS機能
セットをInnoDBに追加しました。サポートされる機能として、Boost Geometry、ネイティブGEOMETRYデータ
型、(R木を使用した)空間インデックス、Geohash、GeoJSONなどがあります。
MySQLのGIS機能を使用すると、位置情報に基づいたサービス(「XXはどこにあり、そこにどうやって行けばよ
いか」、「近くに興味を引くものはあるか」)や、物理リソースの分析と管理(たとえば、作物や天然資源の
管理、不動産計画や開発)などが可能です。このように、MySQLによって、充実した「粘着質」のアプリケー
ションを顧客に提供できます。
その他のオプション
- SQLまたはNoSQL:上記のとおり、MySQLでは同じデータベースに対してSQLアクセスとNoSQLアクセス
のいずれか、または両方を使用することを選択できます。
- SaaSとオンプレミスの両方に対応:MySQLは、クラウドとWebでトップのオープン・ソース・データベース
であり、上位10社のソフトウェア・ベンダーのうち8社が採用している有力な製品組み込みデータベースで
す。MySQL Databaseでは、オンプレミス・アプリケーションやアプライアンスおよびSaaSアプリケーション
で、同じデータベースを使用できます。そのため、時間、コスト、さらには人員まで大幅に削減できます。
- 最初から最後まで使えるMySQL:MySQLは使いやすくコスト効率に優れているため、小規模ベンダーのニー
ズに応えることができます。また、顧客やアプリケーションの需要が高まってもベンダーのニーズに応え続け
られるパフォーマンスと拡張性、豊富な機能を備えています。最初から継続的にMySQLを使い続けることで、
データベース移行のコスト、手間、リスクを避けることができます。また、新しい専門知識を習得する必要も
ありません。
- MySQLの複数言語サポートにより、アプリケーション/開発チームに最適な開発環境を選択できます。複
数プラットフォーム・サポートが採用されているため、MySQLでロックインも生じません。MySQLはLAMP
の「M」として知られていますが、オラクルはMySQLのWindows機能に多額の投資を行っています。その結
果、WindowにおけるMySQLのパフォーマンスは大幅に向上し、豊富なツールや機能も追加されています。
17 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
低コスト
写真のクレジット:Owen Moore
「このデータベースはコストにどのような影響がありますか?」 ユーザーがオンプレミス・アプリよりもSaaSを選択する大きな理由は、コストの低さです。SaaSデータベース
を選択すると、株主やベンチャー・キャピタルが満足するだけの十分な利益を上げながら顧客に競争力のある
価格を提示できるかに大きく影響する場合があります。IDCの調査によれば、データベースの長期的なコスト
には5つの主な要素が影響し、それぞれの影響の大きさは以下のようになっています。
ソフトウェア:15%、ハードウェア:17%、トレーニング:19%、
人材:27%、ダウンタイム:28%
SaaSと同様に、ユーザーがMySQLを選択する理由として、総コストの削減は常に最大の理由に挙げられ
ています。これは前述のように、MySQLがデータベースの5つのコスト要因それぞれのコストを最低限
に抑えられることが大きな理由です。以下に、この点についてまとめます。
低価格のソフトウェアおよびサポート・サブスクリプション(ソフトウェア):3年間で
Microsoft SQL Serverよりも90%以上低いコスト
コモディティ・ハードウェアでの優れたパフォーマンスと拡張性(ハードウェア)
開発から管理、メンテナンスまで使いやすい設計、時間を節約するツール、簡単に入手/
獲得できるMySQLスキルとリソース(人材、トレーニング)
最大99.999%の可用性(ダウンタイム)
18 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
MySQLを選択する理由
「SaaSにこのデータベースを使用した方がよい理由は何ですか?」
MySQLは、(1)貴社が優れたパフォーマンス、優れたSaaS製品を提供するために必要なデータベース機能
を備えると同時に、(2)リスク低減、(3)コスト削減を実現できるからです。MySQLは、収益性を支える
これら3つの基本的かつ独立した要素のそれぞれに対応できる、ユニークな存在です。
– ニーズへの対応(収益を上げる)
• ニーズに応え、期待を超える機能を備えたNo.1の存在
• 着実な製品への投資とイノベーション
– リスク低減
• No.1の製品、ベンダーの信頼性
• 「優秀」なサポート
• セキュリティ、規制へのコンプライアンス
• サービス継続性、データの安全性
– コスト削減
• 低価格:サブスクリプション、DevOps/DBA、ハードウェアおよびストレージ
• 効率:容易な開発、管理、サポート
• 柔軟性:変化、拡大するニーズに1つのデータベースで対応
他のデータベースは、1つか2つの分野に優れている場合はありますが、そのために他の分野が犠牲になってい
ます(非常に低コストだがリスクが高い、など)。SaaSの顧客は事実上、自らのIT部門を貴社に預けています。
顧客は、貴社がニーズに合った機能を高いコスト効率で提供できるという保証、そして収益事業を阻害するリ
スクが生じない保証を求めています。MySQLは、貴社と貴社の顧客が必要とするそのような保証を提供する助
けとなります。
19 Copyright © 2016 Oracle and/or its affiliates. All rights reserved
MySQLのリソース
MySQL Enterprise Edition http://www-jp.mysql.com/products/enterprise/
ホワイトペーパー http://www-jp.mysql.com/why-mysql/white-papers/
MySQLの顧客と導入事例 http://www-jp.mysql.com/why-mysql/case-studies/
ライブ・オンライン・セミナー http://www-jp.mysql.com/news-and-events/web-seminars/
オンデマンド・オンライン・セミナー http://www-jp.mysql.com/news-and-events/on-demand-webinars/
総所有コスト(TCO)計算ツール http://www-jp.mysql.com/tcosavings/
MySQLに関するオンラインでのお問い合わせ http://www-jp.mysql.com/about/contact/