Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MySQLのリリースモデルの変更点とMySQLに接続するためのJDBCドライバの選び方 + α...

MySQLのリリースモデルの変更点とMySQLに接続するためのJDBCドライバの選び方 + α / MySQL LTS & JDBC Driver

2024年7月30日(火)に開催された「関ジャバ'24 7月度」での発表資料です。
https://kanjava.connpass.com/event/323685/

「MySQLの新しいリリースモデル」と「MySQLに接続するためのJDBCドライバの選び方」などについて説明しています。

YoshiakiYamasaki

July 30, 2024
Tweet

More Decks by YoshiakiYamasaki

Other Decks in Technology

Transcript

  1. MySQLのリリースモデルの変更点と MySQLに接続するためのJDBCドライバの選び⽅ + α 関ジャバ'24 7⽉度 ⼭﨑 由章 / Yoshiaki

    Yamasaki MySQL Master Principal Solution Engineer & MySQL Cloud Evangelist MySQL Global Business Unit ⽇本オラクル株式会社
  2. • 名前︓⼭﨑 由章(やまさき よしあき) • 所属︓⽇本オラクル株式会社 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
  3. MySQLとは? 世界でもっとも普及している、オープンソースデータベース LAMPスタックの"M" • Linux + Apache + MySQL +

    PHP/Perl/Python • Webアプリケーションを開発する時のデファクトスタンダード マルチプラットフォーム対応 • Windows, Linux, macOS ⾼性能、軽量、⾼信頼 • 特に同時多発的に⾏われる更新処理の対応が得意 導⼊や運⽤が簡単 • ダウンロードからデータベース起動まで15分以内 • 管理不要なシンプルさ 3 「⼩さく始めて⼤きく育てる」 Copyright © 2024, Oracle and/or its affiliates
  4. 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
  5. 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
  6. 柔軟な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とのクエリ処理性能⽐較
  7. 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
  8. イノベーション・リリース バグ修正と新機能追加を⾏うリリース 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 本番運⽤想定のテスト済み 本番運⽤想定のテスト済み
  9. 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⽇サポート ✅ ✅ ✅ 無制限インシデント ✅ ✅ ✅ ナレッジベース ✅ ✅ ✅ メンテナンス・リリース、バグ修正、パッチ、 アップデートの提供 ✅ ✅ 既存のもののみ
  10. MySQLのバージョン表記 Copyright © 2024, Oracle and/or its affiliates 8 .0.39

    メジャーバージョン マイナーバージョン リリースシリーズ内の バージョン リリースシリーズ 11
  11. • 基本的には、MySQL 8.4.x の最新バージョンを使⽤する • 2032年までバグ修正とセキュリティパッチがリリースされるため、⻑期間運⽤可能 • 新しい機能をいち早く試したい場合はMySQL 9.x.x の最新バージョンを使⽤する

    • 3ヶ⽉毎に新しいイノベーションリリースがリリースされ、 新しいイノベーションリリースがリリースされた後はバグ修正とセキュリティパッチが提供されないことに注意 (3ヶ⽉毎に、新しいイノベーションリリースへのアップグレードを推奨) 今後新しくMySQL環境を作る場合のバージョン選定⽅針 Copyright © 2024, Oracle and/or its affiliates 12
  12. 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
  13. 現在サポートされているバージョンと接続可能な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/
  14. • 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
  15. • 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
  16. • 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
  17. • ダウンロード先 • 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
  18. 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マネージドサービス
  19. 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
  20. 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による データ分析基盤 コミックシーモアの サービス基盤 レプリケーション リアルタイム同期
  21. 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
  22. 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
  23. 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
  24. Generative AI in HeatWave による新しいユースケース Retrieval Augmented Generation (RAG) •

    企業内の⽂書からインサイトを⽣成 • PDF取扱説明書からブログを⽣成 • ログの要約 • パブリックなデータ及び企業内の データを検索 • ベクトルストアの⾮構造化データを 検索 ⾃然⾔語による対話 • ⾮構造化データとの⾃然⾔語による対話 • ⾃然⾔語によるコンテンツ検索と応答 コンテンツの⽣成と要約 + Copyright © 2024, Oracle and/or its affiliates 31
  25. 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フォロー & 情報収集
  26. Copyright © 2024, Oracle and/or its affiliates 34 The world's

    most popular open source database 世界で最も普及しているオープンソース データベース