Slide 1

Slide 1 text

MySQLのリリースモデルの変更点と MySQLに接続するためのJDBCドライバの選び⽅ + α 関ジャバ'24 7⽉度 ⼭﨑 由章 / Yoshiaki Yamasaki MySQL Master Principal Solution Engineer & MySQL Cloud Evangelist MySQL Global Business Unit ⽇本オラクル株式会社

Slide 2

Slide 2 text

• 名前︓⼭﨑 由章(やまさき よしあき) • 所属︓⽇本オラクル株式会社 MySQL Community Team / MySQL Global Business Unit • 役割︓MySQLのプリセールス、MySQL 及び MySQL HeatWave Database Service の 普及促進活動、など • Twitter ID︓@yyamasaki1 • 備考︓前職で約10年間Oracle Database エンジニアとしての経験あり ⾃⼰紹介 Copyright © 2024, Oracle and/or its affiliates 2

Slide 3

Slide 3 text

MySQLとは? 世界でもっとも普及している、オープンソースデータベース LAMPスタックの"M" • Linux + Apache + MySQL + PHP/Perl/Python • Webアプリケーションを開発する時のデファクトスタンダード マルチプラットフォーム対応 • Windows, Linux, macOS ⾼性能、軽量、⾼信頼 • 特に同時多発的に⾏われる更新処理の対応が得意 導⼊や運⽤が簡単 • ダウンロードからデータベース起動まで15分以内 • 管理不要なシンプルさ 3 「⼩さく始めて⼤きく育てる」 Copyright © 2024, Oracle and/or its affiliates

Slide 4

Slide 4 text

MySQLの道のり 4 Copyright © 2024, Oracle and/or its affiliates 1995 2000 2005 2010 2015 2020 MySQL AB(MySQL社)創業 最初のバージョンを公開 独⾃のオープンソース・ ライセンスからGPLに 商⽤版サブスクリプション ”MySQL Network” 発表 オラクルがMySQLの トランザクション・エンジン InnoDBの開発企業 Innobase OYを買収 サン・マイクロシステムズが MySQL ABを$1B (約11億円)で買収 オラクルがサン・マイクロシステムズを $7.4B (約81億円)で買収することを発表 欧州委員会の承認を経て 2010年1⽉27⽇に買収完了 MySQL部⾨も MySQL Global Business Unit として統合 MySQL社の ⽇本法⼈ MySQL株式会社 設⽴ MySQLのクラウド・ サービスの第1世代を リリース ⾼速クエリ処理 エンジンを搭載した MySQL HeatWave リリース MySQLのクラウド・ サービスの第2世代となる MySQL Database Serviceをリリース v3.23 v4.0 v5.1 v5.0 v5.5 v5.6 v5.7 v8.0 v8.2 v8.1 v8.4 v8.3

Slide 5

Slide 5 text

MySQLの道のり 5 Copyright © 2024, Oracle and/or its affiliates 1995 2000 2005 2010 2015 2020 MySQL AB(MySQL社)創業 最初のバージョンを公開 独⾃のオープンソース・ ライセンスからGPLに 商⽤版サブスクリプション ”MySQL Network” 発表 オラクルがMySQLの トランザクション・エンジン InnoDBの開発企業 Innobase OYを買収 サン・マイクロシステムズが MySQL ABを$1B (約11億円)で買収 オラクルがサン・マイクロシステムズを $7.4B (約81億円)で買収することを発表 欧州委員会の承認を経て 2010年1⽉27⽇に買収完了 MySQL部⾨も MySQL Global Business Unit として統合 MySQL社の ⽇本法⼈ MySQL株式会社 設⽴ MySQLのクラウド・ サービスの第1世代を リリース ⾼速クエリ処理 エンジンを搭載した MySQL HeatWave リリース MySQLのクラウド・ サービスの第2世代となる MySQL Database Serviceをリリース v3.23 v4.0 v5.1 v5.0 v5.5 v5.6 v5.7 v8.0 v8.2 v8.1 v8.4 v8.3

Slide 6

Slide 6 text

柔軟なMySQLの利⽤⽅法 MySQLサーバーは全て共通のソースコードのためハイブリッド構成も可能 コミュニティ版MySQL • レプリケーションや透過的暗号化 など運⽤に重要な機能を実装 • GPLv2 *OpenSSLに関する追加条項あり 商⽤版MySQL • サポートサービスや⾼度な セキュリティ機能を提供 • SE/EE/CGEが選択可能 MySQL HeatWave Database Service • MySQLチームが100%開発・ 提供するクラウド・サービス • ⾼速データ分析エンジン& 機械学習エンジンを組み込み MySQL Operator for k8s • MySQLの⾼可⽤性構成を Kubernetes上に構築&運⽤管理 • 商⽤版MySQL EEがベース 6 Copyright © 2024, Oracle and/or its affiliates いずれの利⽤⽅法でもMySQL開発チームと連携した 専⾨部隊によるサポートサービスをご利⽤いただけます MySQLを⾃社で運⽤管理 MySQLのマネージドサービス クラウドネイティブなMySQL 15倍 Redshift より⾼速 18倍 Snowflake より⾼速 35倍 BigQuery より⾼速 TPC-H 500TB MySQL HeatWave Lakehouseとのクエリ処理性能⽐較

Slide 7

Slide 7 text

Copyright © 2024, Oracle and/or its affiliates イノベーション・リリースと LTS(Long-Term Support)リリース 7

Slide 8

Slide 8 text

2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 MySQL Releases and Support Timelines MySQL 5.6 MySQL 5.7 MySQL 8.0 MySQL 8.1 MySQL 8.2 MySQL 8.3 MySQL 8.4 Copyright © 2024, Oracle and/or its affiliates 8 MySQL 9.0 Bug Fix series LTS series Latest Innovation Release Next Innovation Release Premier Support Extended Support Sustaining Support

Slide 9

Slide 9 text

イノベーション・リリース バグ修正と新機能追加を⾏うリリース MySQL 8.1, 8.2, 8.3 … • リリース⽅針 バグ修正 セキュリティ・パッチ 新機能追加 機能やパラメータの⾮推奨化および削除 • リリースサイクル 3ヶ⽉毎 次バージョンのリリースでEOL Copyright © 2024, Oracle and/or its affiliates LTS(Long-Term Support)リリース バグ修正のみを⾏うリリース MySQL 8.4 • リリース⽅針 バグ修正 セキュリティ・パッチ バージョン間の互換性重視 • リリースサイクル リリース後8年間サポート 複数のLTSリリースをサポート予定 9 本番運⽤想定のテスト済み 本番運⽤想定のテスト済み

Slide 10

Slide 10 text

GAから最⻑8年間 バグ修正、パッチ、アップデートを提供 Oracle Lifetime Support for MySQL Copyright © 2024, Oracle and/or its affiliates 10 サポート概要 Premier (1-5年) Extended (6-8年) Sustaining (9年以降) 24時間365⽇サポート ✅ ✅ ✅ 無制限インシデント ✅ ✅ ✅ ナレッジベース ✅ ✅ ✅ メンテナンス・リリース、バグ修正、パッチ、 アップデートの提供 ✅ ✅ 既存のもののみ

Slide 11

Slide 11 text

MySQLのバージョン表記 Copyright © 2024, Oracle and/or its affiliates 8 .0.39 メジャーバージョン マイナーバージョン リリースシリーズ内の バージョン リリースシリーズ 11

Slide 12

Slide 12 text

• 基本的には、MySQL 8.4.x の最新バージョンを使⽤する • 2032年までバグ修正とセキュリティパッチがリリースされるため、⻑期間運⽤可能 • 新しい機能をいち早く試したい場合はMySQL 9.x.x の最新バージョンを使⽤する • 3ヶ⽉毎に新しいイノベーションリリースがリリースされ、 新しいイノベーションリリースがリリースされた後はバグ修正とセキュリティパッチが提供されないことに注意 (3ヶ⽉毎に、新しいイノベーションリリースへのアップグレードを推奨) 今後新しくMySQL環境を作る場合のバージョン選定⽅針 Copyright © 2024, Oracle and/or its affiliates 12

Slide 13

Slide 13 text

MySQL HeatWave Database Service のサポート期間も明⽂化されました Copyright © 2024, Oracle and/or its affiliates 13 出典︓ https://docs.oracle.com/en-us/iaas/mysql-database/doc/mysql-server-versions.html

Slide 14

Slide 14 text

• オラクルから MySQL Connector/J という Type4 JDBCドライバー を提供している JavaからMySQLに接続するためのJDBCドライバーについて Copyright © 2024, Oracle and/or its affiliates 14 出典︓https://github.com/mysql/mysql-connector-j

Slide 15

Slide 15 text

現在サポートされているバージョンと接続可能なMySQLバージョン • MySQL Connector/J 8.0.33 => MySQL Server 8.0、5.7 に接続可能 • MySQL Connector/J 8.4.0 => MySQL Server 8.0、8.4、9.0 に接続可能 • MySQL Connector/J 9.0.0 => MySQL Server 8.0、8.4、9.0 に接続可能 JavaからMySQLに接続するためのJDBCドライバーについて Copyright © 2024, Oracle and/or its affiliates 15 参考︓MySQL Connector/J Release Notes https://dev.mysql.com/doc/relnotes/connector-j/en/

Slide 16

Slide 16 text

• MySQL Connector/J のダウンロード • MySQL Connector/J 9.0.0 https://dev.mysql.com/downloads/connector/j/ • MySQL Connector/J 8.4.0, 8.0.33 (及び それ以前のバージョン) https://downloads.mysql.com/archives/c-j/ • MySQL Connector/J Release Notes https://dev.mysql.com/doc/relnotes/connector-j/en/ • MySQL Connector/J Developer Guide https://dev.mysql.com/doc/connector-j/en/ 参考URL Copyright © 2024, Oracle and/or its affiliates 16

Slide 17

Slide 17 text

Copyright © 2024, Oracle and/or its affiliates MySQL Connector/J の Tips 17

Slide 18

Slide 18 text

• rewriteBatchedStatements=true • MySQLへのINSERT処理をバルクインサートを使って⾼速化 • 参考情報 • MySQL Connector/Jにおける⼤量INSERTのチューニング https://sh2.hatenablog.jp/entries/2009/05/28 • MySQL Connector/Jでプロパティをあれこれ変えてベンチマークその1︓バッチ編 https://qiita.com/hmatsu47/items/0a3b48c86abdcd2cc884 ⼤量データのINSERTの性能を改善できる可能性のある接続プロパティ Copyright © 2024, Oracle and/or its affiliates 18

Slide 19

Slide 19 text

Copyright © 2024, Oracle and/or its affiliates 柔軟なアプリケーション開発を⽀援するMySQLの機能 19

Slide 20

Slide 20 text

• MySQLのデータにSQLを使わずにNoSQLでアクセス可能 • XプロトコルでMySQLに接続することで使⽤可能 • 参考情報 • JavaからMySQLをドキュメントデータベースとして使ってみよう https://www.slideshare.net/slideshow/getting-started-mysql-as-document-data- store-141740924/141740924 • サンプルコード https://github.com/chiroito/msql_document_store • MySQL Connector/J 8.0.15 で X DevAPI を使ってドキュメントデータベース操作をしてみる https://qiita.com/hmatsu47/items/2de98cd0c9472e72a52a X Dev API Copyright © 2024, Oracle and/or its affiliates 20

Slide 21

Slide 21 text

• オラクルが提供しているVS Code⽤のプラグイン • 現時点ではまだプレビューリリースであるが、今後GA(※) リリースされる予定 ※General Availability MySQL Shell for VS Code Copyright © 2024, Oracle and/or its affiliates 21

Slide 22

Slide 22 text

• ダウンロード先 • https://marketplace.visualstudio.com/items?itemName=Oracle.mysql-shell-for-vs-code • ドキュメント • MySQL Shell GUI / MySQL Shell for VS Code https://dev.mysql.com/doc/mysql-shell-gui/en/ MySQL Shell for VS Code Copyright © 2024, Oracle and/or its affiliates 22

Slide 23

Slide 23 text

Copyright © 2024, Oracle and/or its affiliates MySQLの検索処理を⾼速に実⾏できるクラウドサービス 23

Slide 24

Slide 24 text

MySQL HeatWave Database Service Queries Results ソーシャル、eコマース、ゲーム、ヘルスケア、フィンテック等のアプリ、データ分析と機械学習のツール MySQL HeatWave Analytics Autopilot OLTP AutoML リアルタイム分析、機械学習、 OLTP、レイクハウスを MySQLだけで実現 Lakehouse Copyright © 2024, Oracle and/or its affiliates 24 OLTPだけでなく、DWH、機械学習、レイクハウスにも最適化されたMySQLマネージドサービス

Slide 25

Slide 25 text

MySQL HeatWave Database Service のアーキテクチャ Copyright © 2024, Oracle and/or its affiliates 25 • MySQLに対してSQLを実⾏するだけで⾃動的に⾼速化される (HeatWaveの制限事項に該当する場合は、フロントにあるMDSで処理される) • データの更新はフロントにあるMDSで処理され、更新データは随時HeatWaveノードに反映される ※HeatWaveの制限事項 https://dev.mysql.com/doc/heatwave/en/heatwave-limitations.html

Slide 26

Slide 26 text

MySQL HeatWaveで国内最⼤級の電⼦書籍配信サービス「コミックシーモア」でのデータ利活⽤を強化 利⽤サービス・製品 • MySQL HeatWave Database Service お客様のコメント 顧客事例︓NTTソルマーレ 様 Copyright © 2024, Oracle and/or its affiliates 26 「『MySQL HeatWave』の導⼊によりサービス基盤とデータ分析 基盤のリアルタイムなデータ同期が実現できました。さらにこれまで 通常のMySQLで1.5時間程度かかっていたバッチ処理が2秒程度 で完了するなど性能の良さも実感しています。 処理を待つ思考停 ⽌の時間が短縮化され、業務効率化にもつながっています。 MySQLに対応したツールは『MySQL HeatWave』でもそのまま 活⽤でき、ユーザーの利便性を維持しながら様々な分析データを 更なるサービス向上に役⽴てることができています。 『MySQL HeatWave』を利⽤した新たなデータ分析基盤を活⽤し、 今後も更に幅広いお客様に楽しんでいただける書籍配信サービス を提供していきます。」 エヌ・ティ・ティ・ソルマーレ株式会社 電⼦書籍事業部 サービス開発グループ ⽊下 ⽒ システム構成イメージ MySQL HeatWaveによる データ分析基盤 コミックシーモアの サービス基盤 レプリケーション リアルタイム同期

Slide 27

Slide 27 text

MySQL HeatWave Generative AI Copyright © 2024, Oracle and/or its affiliates 27

Slide 28

Slide 28 text

Vector Data Type Support Standard SQL interface to create tables with vector columns Vector data storage • HeatWave: In-memory columnar format • InnoDB: BLOB mysql> CREATE TABLE wikipedia ( id INT, title VARCHAR(1024) page_data TEXT page_list TEXT, page_url TEXT, page_embedding VECTOR(1024) ENGINE_ATTRIBUTE='{"model":"cohere"}') ENGINE=lakehouse, SECONDARY_ENGINE=rapid; Example distance functions • L1/MANHATAN • L2/EUCLIDIAN • L1^2/MANHATAN_SQUARED • L2^2/EUCLIDIAN_SQUARED • COSINE • DOT • HAMMING データをベクトル化して保存し、ベクトル同⼠の近接性や類似性をベースに検索 Copyright © 2024, Oracle and/or its affiliates 28

Slide 29

Slide 29 text

Exact Nearest Neighbor Search using SQL SELECT digit, imagename FROM mnist ORDER BY VECTOR_DISTANCE(embedding, @query_embedding) LIMIT 3; VECTOR_DISTANCE TOP-K Table: mnist N rows O(N) digit imagename VECTOR_DISTANCE 1 digit1_001.png 0.012 1 digit1_002.png 0.013 … Representative Query Plan ベクトル類似度関数を使った検索 Copyright © 2024, Oracle and/or its affiliates 29

Slide 30

Slide 30 text

Vector Store can be used by SQL queries, or for RAG Augmented prompt LLM Retrieval Agent Top suggested dishes from top recommended restaurants Recommender System Vector Store ⨝ ⨝ Restaurant suggestion SQL with analytics and vector operations MySQL Tables Results using a variety of business and user data Query Results ベクトルストアをRAGに活用 Copyright © 2024, Oracle and/or its affiliates 30

Slide 31

Slide 31 text

Generative AI in HeatWave による新しいユースケース Retrieval Augmented Generation (RAG) • 企業内の⽂書からインサイトを⽣成 • PDF取扱説明書からブログを⽣成 • ログの要約 • パブリックなデータ及び企業内の データを検索 • ベクトルストアの⾮構造化データを 検索 ⾃然⾔語による対話 • ⾮構造化データとの⾃然⾔語による対話 • ⾃然⾔語によるコンテンツ検索と応答 コンテンツの⽣成と要約 + Copyright © 2024, Oracle and/or its affiliates 31

Slide 32

Slide 32 text

Copyright © 2024, Oracle and/or its affiliates. 32 MySQL HeatWave のユーザー会について

Slide 33

Slide 33 text

HeatWavejp (MySQL HeatWave Japan User Group) は、 MySQL HeatWave Database Service の⽇本での普及と発展を ⽬的としたユーザーグループです。 ユーザー同⼠でノウハウやナレッジを共有できるコミュニティ活動を⾏っていきます。 MySQL HeatWave をより良く知り、学びあい、盛り上げていきましょう。 https://join.slack.com/t/heatwavejp/ shared_invite/zt-1n3vprmly- N3Si6Y7IuGVXx9KNTmjdZg @HeatWavejp https://twitter.com/Heatwavejp https://heatwavejp.connpass.com/ Copyright © 2024 HeatWavejp All Rights Reserved. ユーザーグループへの参加 イベント情報 & イベント参加 SNSフォロー & 情報収集

Slide 34

Slide 34 text

Copyright © 2024, Oracle and/or its affiliates 34 The world's most popular open source database 世界で最も普及しているオープンソース データベース

Slide 35

Slide 35 text

No content