9月21日MySQL5.7最前線~2016年秋アップデートに行ってきて、
表題の件などを聞いてきたのでメモメモ
今、Oracleのオープンワールドやっている
■MySQL最前線~技術情報編(MySQL最新技術情報)
・USでセミナーをやっている→日本
10月3日で細かいデモ
・MySQL Security
MySQLセキュリティ大丈夫?9月3日に対応している
個別に10月対応
そんななかで、セキュリティ大丈夫といっても・・(^^;)?
Data Breaches
Mega-Breaches:9件世界最大1億9100万のレコード
モバイルの脆弱性も増えている
DBA
MySQLの権限:プロダクションに出すときは、余計な権限を設定しない
→それができていれば、今回の問題は
PCI-DSS対応:カード
もにたりんぐ、データの保護、保持、監査
MySQL エンタープライズ:セキュリティ
Authentification
Encryption・・・など
新機能
Transparent Data Encryption
厳密なカギ管理 KMIP1.2サポート
Audit Filtering
監査機能
ファイングレイン監査設定:5.7.14以降
(5.6.10のプラグインだと大きくなる)
監査ログ絞込み、JSONで定義
Firewall
ホワイトリスト型
決めた処理しかできなくさせることができる
エンタープライズモニターで見れる
ブロックするか、検知するか(SQLを通過、アラートを飛ばす)
エンタープライズモニターのアドバイス機能
Backup
バックアップのもにたりんぐ:集中管理
重要なイベントを警告
・MySQL Cluster7.5
MySQL Cluster:通信業界で使われる
証券・マネー系(高可用性)
NoSQLインメモリで作られた
リアルタイム
低コスト:共有ディスクが必要ないという意味。
ただし、メモリのコストはかかる
NoSQLはやい。
MySQLを使う場合:JOIN,レプリケーション
アーキテクチャ
アプリケーションノード
管理ノード
データノード
データの持ち方注意
ネットワークをまたがると、レスポンス遅くなる
書き込みはノード追加でスケール
PKはリニアでスケール
インデックスでない場合は、WHERE句の条件をデータノードに送信
7.5
キャパシティとスケールアウト
扱える量ふえた。グローバルテーブル(全データノードに)
SQLのカイゼン
MySQL5.7の機能(JSON)
管理の強化
ndbinfo:細かい情報
→7.5でよくなっている
・MySQL8.0
DMR
5.7から8.0にいきなり
8.0
WITH句サポート
Invisible Indexes
セキュリティロール
権限テーブルをInnoDBへ
8.0
ネイティブデータディクショナリ
frm,ind,optファイル→DBへ
・MySQL グループレプリケーション
マスタースレーブ
セミシンク
9月16日の段階で 全てマスター持つことが可能になった
アクティブ・アクティブ
MySQLシェル グループレプリケーションを作ってくれる
・まとめ
■MySQL最前線~Enterprise Edition編
・目新しいのはあまり多くはない:エンタープライズモニターのトピックくらい
あらためて説明
・MySQLエンタープライズエディション
商用版
スタンダードエディション
エンタープライズエディション
商用版だけの限定機能
拡張機能
管理ツール
サポート:コンサルティングサポート
CGE:キャリアグレードエディション(クラスター)
スタンダードは、サポート付
エンタープライズは追加機能+サポート付
MySQLパーティショニングはエンタープライズエディションのみ
・セキュリティ
強化できる機能が増えている→オラクルの基準で
想定しないSQL対策
エンタープライズファイヤーウォール
ホワイトリストモデル
検知モード
アプリケーションの変更はいらない
監査が必要
Audit
ポリシーベースの監査機能を提供
全てのデータ保護が必要
TDE(Transparent Data Encryption)
データは勝手に暗号化される
→オラクルのキーボルトと連携
一部の列だけ暗号化
Enterprise Encryption
非対象暗号
・管理ツール
パフォーマンス問題
問題ある前に通知
Query Analyzer
スロークエリーログと比べた場合の利点
レプリケーションモニター
レプリケーション環境の安定運用を支援
レプリケーションモニター:トポロジービュー
・バックアップ機能
高速、オンラインバックアップ&リカバリー
mysqldump:データ量が多いと遅くなる
→論理バックアップ
エンタープライズバックアップ
→物理バックアップ
73Gだと80倍速い
backup,apply-log、copy-back
エンタープライズモニターでバックアップ監視できる
・エンタープライズスケーラビリティ
スレッドプール→スケーラビリティが60倍向上
過剰に負荷をかけてもスローダウンしない
・サポート
スタンダードでもエンタープライズでも同じ
インシデント区切らずに無制限
日本語の回答は平日9時5時
夜間は英語で問い合わせれば、解答できる
日本語の場合は、次の営業日に回答
パフォーマンスチューニング・SQLチューニング
ソースコードレビューでサポート可能
スクウェア・エニックス
さぶすくりぷりょん:物理サーバー単位
Oracle製品との動作保証
・参考情報
Oracle Software Delivery Cloud
■MySQL最前線~Server編
・MySQL5.7 昨年10月 製品版
全部で200以上のカイゼン
NEW SYS Schema
NEW JSON
次期バージョン8.0
開発の方向性:5.7からつづいて
モバイル
スキーマレスデータベース
MySQLのカイゼン
2016年9月12日リリース
6というバージョンをつけたことがある
7.Xは、MySQLクラスターが使っている
そこで8
フィードバック募集中
バグ報告や機能追加 MySQL Bugs https://bugs.mysql.com/
GIS
ぶーすとじおめとり
geographyサポートの拡張
projection(GIS関数のSRID対応)
パフォーマンス向上
UTF-8
最近のアプリケーションでもっとも使用されているキャラクターセット
各国語対応、絵文字の使用
デフォルトをUTF-8(UTF8MB4)
Unicode9.0サポート
ソートの順序(照合順序)を国ごとに対応
UUIDのカイゼン
UUID_TO_BIN
JSON対応の拡張
MySQL Document Store
スキーマレスに
(LABS)With句(Common Table Expression:CTE)
LABS:保証なし、まだDMRに入っていない
再帰的なクエリの記述
複雑なSQLの簡素化
再帰的CTE
WITH RECURSIVE cte AS
(SELECT ... FROM table_name UNION ALL
SELECT ... FROM cte,table_name)
SELECT ... from cte;
Oracle DatabaseのConnect By
部品表(BOM)などに使える
(LABS)降順索引
・普通索引は昇順
NEW 不可視索引
オプティマイザーから見えない索引(索引の更新はする)
索引を消してもいいのか?を判断したいとき
索引採用の検討(更新処理のオーバーヘッド)
クエリー単位で不可視索引を有効化する機能
登録済み83066、ほしい人はaffects meをクリック
NEW ロール(権限をまとめて付与/剥奪)
プロキシユーザーでロールと同じようなことは出来るが、
容易な形で
NEW アトミックな権限変更
NEW パフォーマンス・スキーマ・インデックス
NEW エラーを確認できるテーブル
NEW 設定変更の永続化
SET文→追加で設定ファイルが出来る
NEW トランザクショナルなデータディレクトリ
Inno DB化:アトミックに出来る
InnoDBのAuto Incrementの永続化
Doxygenでドキュメント化
■MySQL最前線~戦略活用編
・MySQLの現状
DB-Enginesによる調査結果:2位(1位oracle)
MySQLはWebサービスにおいて最も利用されているデータベース
Booking.com:宿泊サイト
Fintechでも
なぜMySQL
コミュニティ版、商用版の使い分け
LAMP
Openstack,docker
マルチプラットフォーム
MySQLの特徴:いろいろ
MySQL VS SQL Server
TCO;mysqlのサイトにある
・MySQLの可用性、拡張性向上に向けた取り組み
High Availability
スケールアウト
・MySQL InnoDB Cluster
Easy of Use
Outof box solution
Scale out:ワールドクラス性能維持、自動フェイルオーバー
MySQL Labs::mysql innodb claster 5.7.15 preview
高可用性に
壊れても、アプリケーションの変更はいらない
MySQL シェルで自動的にセットアップ
シャーディングしている
アプリケーションから、MySQL Routerが処理
MySQL Connector
ゴール
単一製品
容易な利用
近代的な柔軟性
スケールアウト
YouTubeにデモが載っている
・Oracle MySQL ServiceによるTCOの最適化
MySQL
Amazon RDS
Amazon aurora
openstack
:
他社は、MySQLを提供→Oracle提供していなかった
Oracle MySQL クラウドサービス
→エンタープライズ版:プラグイン
→Oracleとの親和性:同じデータセンターで
シンプル
→エンタープライズモニターなども
コンサルティングサポート無制限
ワークベンチもSSHで接続できる
→ワークベンチからもアクセスできる
バックアップもダッシュボードからできる
今すぐ、スケジュール、リテンション、リストアポイントインタイム
アクセスリスト設定で、複数アクセス
パッチ適用:プリチェック、フルバックアップ、適用
→問題あればロールバック
MySQL Oracle CLOUD
最高レベルのセキュリティ
スケーラビリティと可用性
MySQL エキスパートテクニカルサポート
Oracleクラウド環境へ統合
ハイブリッドにデプロイ可能、クラウド&オンプレミス
TCO削減
ビジネス上のメリット
ビジネスの俊敏性
確実なセキュリティ、パフォーマンス、稼働時間
TCO削減
→REST APIを利用して自動化することも可能
(MySQL側はまだ十分じゃないけど)
・お金の話
メーター:利用
28円 OCPU/Hour(2vcpu→1ocpu)
ノンメーター:固定
15600円
https://cloud.oracle.com/mysql
MySQL8.0:Dockerでいれれば
表題の件などを聞いてきたのでメモメモ
今、Oracleのオープンワールドやっている
■MySQL最前線~技術情報編(MySQL最新技術情報)
・USでセミナーをやっている→日本
10月3日で細かいデモ
・MySQL Security
MySQLセキュリティ大丈夫?9月3日に対応している
個別に10月対応
そんななかで、セキュリティ大丈夫といっても・・(^^;)?
Data Breaches
Mega-Breaches:9件世界最大1億9100万のレコード
モバイルの脆弱性も増えている
DBA
MySQLの権限:プロダクションに出すときは、余計な権限を設定しない
→それができていれば、今回の問題は
PCI-DSS対応:カード
もにたりんぐ、データの保護、保持、監査
MySQL エンタープライズ:セキュリティ
Authentification
Encryption・・・など
新機能
Transparent Data Encryption
厳密なカギ管理 KMIP1.2サポート
Audit Filtering
監査機能
ファイングレイン監査設定:5.7.14以降
(5.6.10のプラグインだと大きくなる)
監査ログ絞込み、JSONで定義
Firewall
ホワイトリスト型
決めた処理しかできなくさせることができる
エンタープライズモニターで見れる
ブロックするか、検知するか(SQLを通過、アラートを飛ばす)
エンタープライズモニターのアドバイス機能
Backup
バックアップのもにたりんぐ:集中管理
重要なイベントを警告
・MySQL Cluster7.5
MySQL Cluster:通信業界で使われる
証券・マネー系(高可用性)
NoSQLインメモリで作られた
リアルタイム
低コスト:共有ディスクが必要ないという意味。
ただし、メモリのコストはかかる
NoSQLはやい。
MySQLを使う場合:JOIN,レプリケーション
アーキテクチャ
アプリケーションノード
管理ノード
データノード
データの持ち方注意
ネットワークをまたがると、レスポンス遅くなる
書き込みはノード追加でスケール
PKはリニアでスケール
インデックスでない場合は、WHERE句の条件をデータノードに送信
7.5
キャパシティとスケールアウト
扱える量ふえた。グローバルテーブル(全データノードに)
SQLのカイゼン
MySQL5.7の機能(JSON)
管理の強化
ndbinfo:細かい情報
→7.5でよくなっている
・MySQL8.0
DMR
5.7から8.0にいきなり
8.0
WITH句サポート
Invisible Indexes
セキュリティロール
権限テーブルをInnoDBへ
8.0
ネイティブデータディクショナリ
frm,ind,optファイル→DBへ
・MySQL グループレプリケーション
マスタースレーブ
セミシンク
9月16日の段階で 全てマスター持つことが可能になった
アクティブ・アクティブ
MySQLシェル グループレプリケーションを作ってくれる
・まとめ
■MySQL最前線~Enterprise Edition編
・目新しいのはあまり多くはない:エンタープライズモニターのトピックくらい
あらためて説明
・MySQLエンタープライズエディション
商用版
スタンダードエディション
エンタープライズエディション
商用版だけの限定機能
拡張機能
管理ツール
サポート:コンサルティングサポート
CGE:キャリアグレードエディション(クラスター)
スタンダードは、サポート付
エンタープライズは追加機能+サポート付
MySQLパーティショニングはエンタープライズエディションのみ
・セキュリティ
強化できる機能が増えている→オラクルの基準で
想定しないSQL対策
エンタープライズファイヤーウォール
ホワイトリストモデル
検知モード
アプリケーションの変更はいらない
監査が必要
Audit
ポリシーベースの監査機能を提供
全てのデータ保護が必要
TDE(Transparent Data Encryption)
データは勝手に暗号化される
→オラクルのキーボルトと連携
一部の列だけ暗号化
Enterprise Encryption
非対象暗号
・管理ツール
パフォーマンス問題
問題ある前に通知
Query Analyzer
スロークエリーログと比べた場合の利点
レプリケーションモニター
レプリケーション環境の安定運用を支援
レプリケーションモニター:トポロジービュー
・バックアップ機能
高速、オンラインバックアップ&リカバリー
mysqldump:データ量が多いと遅くなる
→論理バックアップ
エンタープライズバックアップ
→物理バックアップ
73Gだと80倍速い
backup,apply-log、copy-back
エンタープライズモニターでバックアップ監視できる
・エンタープライズスケーラビリティ
スレッドプール→スケーラビリティが60倍向上
過剰に負荷をかけてもスローダウンしない
・サポート
スタンダードでもエンタープライズでも同じ
インシデント区切らずに無制限
日本語の回答は平日9時5時
夜間は英語で問い合わせれば、解答できる
日本語の場合は、次の営業日に回答
パフォーマンスチューニング・SQLチューニング
ソースコードレビューでサポート可能
スクウェア・エニックス
さぶすくりぷりょん:物理サーバー単位
Oracle製品との動作保証
・参考情報
Oracle Software Delivery Cloud
■MySQL最前線~Server編
・MySQL5.7 昨年10月 製品版
全部で200以上のカイゼン
NEW SYS Schema
NEW JSON
次期バージョン8.0
開発の方向性:5.7からつづいて
モバイル
スキーマレスデータベース
MySQLのカイゼン
2016年9月12日リリース
6というバージョンをつけたことがある
7.Xは、MySQLクラスターが使っている
そこで8
フィードバック募集中
バグ報告や機能追加 MySQL Bugs https://bugs.mysql.com/
GIS
ぶーすとじおめとり
geographyサポートの拡張
projection(GIS関数のSRID対応)
パフォーマンス向上
UTF-8
最近のアプリケーションでもっとも使用されているキャラクターセット
各国語対応、絵文字の使用
デフォルトをUTF-8(UTF8MB4)
Unicode9.0サポート
ソートの順序(照合順序)を国ごとに対応
UUIDのカイゼン
UUID_TO_BIN
JSON対応の拡張
MySQL Document Store
スキーマレスに
(LABS)With句(Common Table Expression:CTE)
LABS:保証なし、まだDMRに入っていない
再帰的なクエリの記述
複雑なSQLの簡素化
再帰的CTE
WITH RECURSIVE cte AS
(SELECT ... FROM table_name UNION ALL
SELECT ... FROM cte,table_name)
SELECT ... from cte;
Oracle DatabaseのConnect By
部品表(BOM)などに使える
(LABS)降順索引
・普通索引は昇順
NEW 不可視索引
オプティマイザーから見えない索引(索引の更新はする)
索引を消してもいいのか?を判断したいとき
索引採用の検討(更新処理のオーバーヘッド)
クエリー単位で不可視索引を有効化する機能
登録済み83066、ほしい人はaffects meをクリック
NEW ロール(権限をまとめて付与/剥奪)
プロキシユーザーでロールと同じようなことは出来るが、
容易な形で
NEW アトミックな権限変更
NEW パフォーマンス・スキーマ・インデックス
NEW エラーを確認できるテーブル
NEW 設定変更の永続化
SET文→追加で設定ファイルが出来る
NEW トランザクショナルなデータディレクトリ
Inno DB化:アトミックに出来る
InnoDBのAuto Incrementの永続化
Doxygenでドキュメント化
■MySQL最前線~戦略活用編
・MySQLの現状
DB-Enginesによる調査結果:2位(1位oracle)
MySQLはWebサービスにおいて最も利用されているデータベース
Booking.com:宿泊サイト
Fintechでも
なぜMySQL
コミュニティ版、商用版の使い分け
LAMP
Openstack,docker
マルチプラットフォーム
MySQLの特徴:いろいろ
MySQL VS SQL Server
TCO;mysqlのサイトにある
・MySQLの可用性、拡張性向上に向けた取り組み
High Availability
スケールアウト
・MySQL InnoDB Cluster
Easy of Use
Outof box solution
Scale out:ワールドクラス性能維持、自動フェイルオーバー
MySQL Labs::mysql innodb claster 5.7.15 preview
高可用性に
壊れても、アプリケーションの変更はいらない
MySQL シェルで自動的にセットアップ
シャーディングしている
アプリケーションから、MySQL Routerが処理
MySQL Connector
ゴール
単一製品
容易な利用
近代的な柔軟性
スケールアウト
YouTubeにデモが載っている
・Oracle MySQL ServiceによるTCOの最適化
MySQL
Amazon RDS
Amazon aurora
openstack
:
他社は、MySQLを提供→Oracle提供していなかった
Oracle MySQL クラウドサービス
→エンタープライズ版:プラグイン
→Oracleとの親和性:同じデータセンターで
シンプル
→エンタープライズモニターなども
コンサルティングサポート無制限
ワークベンチもSSHで接続できる
→ワークベンチからもアクセスできる
バックアップもダッシュボードからできる
今すぐ、スケジュール、リテンション、リストアポイントインタイム
アクセスリスト設定で、複数アクセス
パッチ適用:プリチェック、フルバックアップ、適用
→問題あればロールバック
MySQL Oracle CLOUD
最高レベルのセキュリティ
スケーラビリティと可用性
MySQL エキスパートテクニカルサポート
Oracleクラウド環境へ統合
ハイブリッドにデプロイ可能、クラウド&オンプレミス
TCO削減
ビジネス上のメリット
ビジネスの俊敏性
確実なセキュリティ、パフォーマンス、稼働時間
TCO削減
→REST APIを利用して自動化することも可能
(MySQL側はまだ十分じゃないけど)
・お金の話
メーター:利用
28円 OCPU/Hour(2vcpu→1ocpu)
ノンメーター:固定
15600円
https://cloud.oracle.com/mysql
MySQL8.0:Dockerでいれれば