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

GIS機能が使えるMySQLのマネージドサービスを無料で使用する方法 / How to use...

GIS機能が使えるMySQLのマネージドサービスを無料で使用する方法 / How to user HeatWave MySQL for free

2024年8月24日(土)に開催された「FOSS4G TOKAI 2024」での発表資料です。
https://foss4gtokai.my.canva.site/2024

MySQLのGIS機能の概要と、GIS機能が使えるMySQLのマネージドサービスを無料で使用する方法、HeatWave GenAIなどについて説明しています。

YoshiakiYamasaki

August 24, 2024
Tweet

More Decks by YoshiakiYamasaki

Other Decks in Technology

Transcript

  1. • 名前:山﨑 由章(やまさき よしあき) • 所属:日本オラクル株式会社 MySQL Community Team /

    MySQL Global Business Unit • 役割:MySQLのプリセールス、MySQL 及び HeatWave MySQL Database Service の 普及促進活動、など • Twitter ID:@yyamasaki1 • 出身地:明石市 • 趣味:美味しいものを食べること、 色々な所に行くこと、ボードゲーム、など 自己紹介 Copyright © 2024, Oracle and/or its affiliates 2
  2. MySQLのGIS機能の歴史 Copyright © 2024, Oracle and/or its affiliates 5 MySQL

    Sun 2000 2005 2010 2015 2020 Oracle 4.1.0 (2003) MyISAMに Spatial Extensions実装 5.0.16 (2005) InnoDBにも Spatial Extensions実装 8.0.0 (2016) 関数名をST_*系に統一 関数を大幅に追加 回転楕円体としての演算 5.7.1 (2013) Spatial専用の型を実装 Boostライブラリを利用した 再実装 8.0.11 (2018) GAとなる 8.0.32 (2023) 座標系変換がほぼ 全ての座標系に対応
  3. MySQLの新バージョンポリシー : LTSとInnovation Releases MySQL Long-Term Support (LTS) • 安定版:

    バグ修正とセキュリティパッチのみ • 後方互換性 • 2年ごと • サポートライフサイクル: Premier Support 5年+Extended Support 3年 MySQL Innovation Releases • 最先端のイノベーション • 容易にLTSとの移行可能 • 四半期ごと • サポートライフサイクル: 短期 Copyright © 2024, Oracle and/or its affiliates 6 2023/07 2026/04 8年 1四半期 2年~ ※図はイメージで、最終的なバージョン番号が この通りになるとは限りません : Innovation Release : Long Term Support (LTS)
  4. • MySQLではGIS機能が標準機能として使えます! • 安定したバージョンを望む方は、以下のどちらかをご利用下さい! • 8.0.xx (8.0.34以降の最新バージョン) • 8.4.xx LTS

    (8.4.0以降の最新バージョン) • 新しい機能をどんどん試したい、という方は最新のInnovation Releasesを ご利用下さい!(本日時点では9.0.1) Copyright © 2024, Oracle and/or its affiliates 9 大事なこと
  5. Copyright © 2024, Oracle and/or its affiliates 10 2. MySQLのGIS機能の概要と、

    MySQLで(データベースで) GISが使えることの利点
  6. • POINT:点 • 例:緯度、経度 • LINESTRING:線 • 例:ルート(道筋) • POLYGON:多角形

    • 例:市町村の区画 • GEOMETRY:POINT、LINESTRING、POLYGONをまとめて扱える Copyright © 2024, Oracle and/or its affiliates 12 GISデータを格納するための専用のデータが型ある ※それぞれの集合を扱えるデータ型もある (MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION)
  7. • テキストデータをGISデータに変換するための関数 • ST_GeomFromText() • ST_PointFromText() • ST_LineStringFromText() • ST_PolygonFromText()

    • ST_MultiPointFromText() • ST_MultiLineStringFromText() • ST_MultiPolygonFromText() • ST_GeometryCollectionFromText() Copyright © 2024, Oracle and/or its affiliates 13 GISデータを変換したり計算したりするための各種Spatial関数がある
  8. • GISデータをテキストデータに変換するための関数 • ST_AsText() Copyright © 2024, Oracle and/or its

    affiliates 14 GISデータを変換したり計算したりするための各種Spatial関数がある
  9. • GeoJSONデータをGISデータに変換するための関数 • ST_GeomFromGeoJSON() • GISデータをテキストデータに変換するための関数 • ST_AsGeoJSON() • 経度、緯度からGeohashを求めるための関数

    • ST_GeoHash() • Geohashをデコードし、デコードされたGeohash値を含むPOINTデータを返す関数 • ST_PointFromGeoHash() Copyright © 2024, Oracle and/or its affiliates 15 GeoJSONを扱うための関数、Geohashを扱うための関数もある
  10. • MySQL 8.0 Reference Manual / Spatial Function Reference https://dev.mysql.com/doc/refman/8.0/en/spatial-function-reference.html

    Copyright © 2024, Oracle and/or its affiliates 16 Geo関数の一覧は、ドキュメントで確認できます
  11. • FOSS4G HOKKAIDO 2019 でのハンズオンデイでのセッション資料を 引用して説明します • FOSS4G HOKKAIDO 2019

    https://foss4g.hokkaido.jp/archive/2019/ Copyright © 2024, Oracle and/or its affiliates 17 MySQLで(データベースで) GISが使えることの利点
  12. ➢ MySQL 8.0で強化されたGIS機能と使用事例のご紹介+α https://speakerdeck.com/yoshiakiyamasaki/mysql-8-dot-0deqiang-hua-saretagisji-neng-toshi-yong-shi- li-falsegoshao-jie-a ➢ MySQL 8.0 GIS機能チュートリアル https://speakerdeck.com/yoshiakiyamasaki/mysql-8-dot-0-gisji-neng-tiyutoriaru-6052f01e-445a-4f55-

    bcda-a0e3fad06332 ➢ 周辺知識から理解するMySQL の GIS機能 ~ClubMySQL #4 ※坂井さん(OSGeo.JP 運営委員&日本MySQLユーザ会 副代表)の発表資料 https://www.slideshare.net/sakaik/mysql-gis-clubmysql-4 参考資料 Copyright © 2024, Oracle and/or its affiliates 20
  13. Copyright © 2023, Oracle and/or its affiliates 25 HeatWave MySQL

    Database Service MySQLだけでトランザクション処理、データ分析、機械学習、データレイクを実現 Transactions Analytics Machine Leaning Lakehouse
  14. Copyright © 2024, Oracle and/or its affiliates 26 オラクルのクラウドにはAlways Freeというサービスがあり、

    いくつかのリソースが常時無料で使用できます + 今月HeatWave MySQLがAlways Freeの対象に 含まれました!!
  15. • 以下URLからオラクルクラウドのトライアルアカウントを作成します https://signup.cloud.oracle.com/ • ホームリージョンは後から変更できないので注意 • 日本には現在東京リージョンと大阪リージョンがあります • 以下URLのチュートリアルを参考にし、HeatWave MySQL環境を構築する

    • OCIチュートリアル 入門編:その9 - クラウドでMySQL Databaseを使う https://oracle-japan.github.io/ocitutorials/beginners/creating-mds/ Copyright © 2024, Oracle and/or its affiliates 29 Always FreeでHeatWave MySQLを使用する方法 ※本日時点で、上記チュートリアルのスクリーンショットは、まだAlways Freeリリース後のものに更新されていませんが、 基本的な手順は確認可能です
  16. • 最新バージョンのみ使用可能 (本日時点では、9.0.1) • MySQL.Freeシェイプ、HeatWave.Freeのみ使用可能 (Always Free専用のスペックがあまり高くないシェイプ) • ストレージサイズは50GB •

    HeatWaveノードは1台のみ追加可能 • HeatWave AutoML と HeatWave Lakehouse は使用可能 • HeatWave GenAI は使用不可 • レプリケーション機能は使用可能 • 高可用性、リードレプリカは使用不可 • 自動バックアップは1日だけ取得される • 手動バックアップやポイントインタイムリカバリは使用不可 • Database Management and Ops Insights サービスは使用不可 (データベースの監視ツール) Copyright © 2024, Oracle and/or its affiliates 30 Always FreeでHeatWave MySQLを使用する場合の制限事項 ※原文:https://docs.oracle.com/en-us/iaas/mysql-database/doc/features-mysql-heatwave-service.html#MYAAS-GUID-772BD870-57C1-4B21-9205-FFC5B4290044
  17. • 最新バージョンのみ使用可能 (本日時点では、9.0.1) • MySQL.Freeシェイプ、HeatWave.Freeのみ使用可能 (Always Free専用のスペックがあまり高くないシェイプ) • ストレージサイズは50GB •

    HeatWaveノードは1台のみ追加可能 • HeatWave AutoML と HeatWave Lakehouse は使用可能 • HeatWave GenAI は使用不可 • レプリケーション機能は使用可能 • 高可用性、リードレプリカは使用不可 • 自動バックアップは1日だけ取得される • 手動バックアップやポイントインタイムリカバリは使用不可 • Database Management and Ops Insights サービスは使用不可 (データベースの監視ツール) Copyright © 2024, Oracle and/or its affiliates 31 Always FreeでHeatWave MySQLを使用する場合の制限事項 ※原文:https://docs.oracle.com/en-us/iaas/mysql-database/doc/features-mysql-heatwave-service.html#MYAAS-GUID-772BD870-57C1-4B21-9205-FFC5B4290044
  18. Copyright © 2024, Oracle and/or its affiliates 33 FOSS4G TOKAI

    2024のテーマは 「デジタルツイン」
  19. Copyright © 2024, Oracle and/or its affiliates 35 そこで、HeatWave GenAIを使って、

    LLMに「デジタルツインとは?」と 質問してみます
  20. mysql> SELECT sys.ML_GENERATE("What is the DigitalTwin?", JSON_OBJECT("task", "generation", "model_id", "mistral-7b-instruct-v1"))\G

    *************************** 1. row *************************** sys.ML_GENERATE("What is the DigitalTwin?", JSON_OBJECT("task", "generation", "model_id", "mistral-7b-instruct-v1")): {"text": " A digital twin is a virtual model of a physical object or system that is created using real-time data from sensors, software, and other sources. It is used to simulate, analyze, optimize, and predict the behavior of the object or system, enabling engineers, architects, and other professionals to make informed decisions about its design, operation, and maintenance. Digital twins can be applied to a wide range of industries, including manufacturing, construction, transportation, energy, and healthcare, among others."} Copyright © 2024, Oracle and/or its affiliates 38 Mistral-7Bに「デジタルツインとは?」と質問した結果
  21. mysql> SELECT sys.ML_GENERATE("What is the QGIS?", JSON_OBJECT("task", "generation", "model_id", "mistral-7b-instruct-v1"))\G

    *************************** 1. row *************************** sys.ML_GENERATE("What is the QGIS?", JSON_OBJECT("task", "generation", "model_id", "mistral-7b- instruct-v1")): {"text": " QGIS (Quantum GIS) is an open-source geographic information system (GIS) software suite that allows users to create, edit, and analyze spatial data. It runs on a variety of operating systems, including Windows, macOS, Linux, and Android, and can be used for a wide range of GIS tasks, such as mapping, data analysis, and 3D visualization. QGIS is widely used by professionals, educators, and hobbyists alike, and is known for its user-friendly interface and powerful functionality."} Copyright © 2024, Oracle and/or its affiliates 40 Mistral-7Bに「QGISとは?」と質問した結果
  22. mysql> SELECT sys.ML_GENERATE("What is the PLATEAU?", JSON_OBJECT("task", "generation", "model_id", "mistral-7b-instruct-v1"))\G

    *************************** 1. row *************************** sys.ML_GENERATE("What is the PLATEAU?", JSON_OBJECT("task", "generation", "model_id", "mistral- 7b-instruct-v1")): {"text": " The plateau is a level or flat area, often found at high altitudes, where there is little to no vegetation and the landscape is generally barren. It can also refer to a state of stagnation or a period of time where there is little change or progress."} Copyright © 2024, Oracle and/or its affiliates 42 Mistral-7Bに「PLATEAUとは?」と質問した結果
  23. DeepLによる参考日本語訳 台地とは、標高の高い場所によく見られる平らな場所のことで、植物がほとんど生えず、一般的に不毛な 風景が広がっている。<略> Copyright © 2024, Oracle and/or its affiliates

    43 Mistral-7Bに「PLATEAUとは?」と質問した結果 ※「ハルシネーション」と呼ばれるLLMが事実とは異なる内容や無関係な文脈の内容を出力する問題が起きている。 私達が期待する3DモデルのPLATEAUのことではなく、英単語としてのPLATEAU(台地)の説明が出力された。
  24. MySQLサーバーは全て共通のソースコードのためハイブリッド構成も可能 MySQLを自社で運用管理 HeatWave MySQL Database Service • MySQLチームが100%開発・ 提供するクラウド・サービス •

    Amazon RDS (MySQL)の 1/3以下のコスト • データ損失なし、自動フェイルオー バーの高可用性機能をマネージ ドサービスで提供 MySQL Operator for k8s • MySQL サーバーをKubernetes上に 構築し運用管理 柔軟なMySQLの利用方法 49 オンプレミスでのMySQL • バージョン選択や構成を 最も柔軟に選択可能 IaaS上でのMySQL • OCIのマーケットプレイスの イメージから簡単に環境構築 商用版MySQL • コミュニティ版に加え、サポートや セキュリティに優れた商用版も MySQLのマネージドサービス クラウドネイティブなMySQL いずれの利用方法でもMySQL開発チームと連携した 専門部隊によるサポートサービスをご利用いただけます※ Copyright © 2024, Oracle and/or its affiliates MySQL :: MySQL Operator for Kubernetes テクニカルアップデート ※コミュニティ版を除く
  25. • 最大のMySQLのエンジニアリングおよびサポート組織 • MySQL開発チームによるサポート • 29言語で世界クラスのサポートを提供 • メンテナンス・リリース、バグ修正、パッチ、アップデートの提供 • 24時間x365日サポート

    • MySQL コンサルティング・サポート 開発チームと一体となったサポートサービス ⇒ 商用版MySQL サーバー及びHeatWave MySQL Database Services利用者に提供 Oracle Premier Support for MySQL Copyright © 2024, Oracle and/or its affiliates 50 Get immediate help for any MySQL issue, plus expert advice
  26. MySQL コミュニティ Copyright © 2024, Oracle and/or its affiliates 52

    8/24/2024 ▪ MySQL コミュニティの紹介 ▪ MySQL への貢献 ▪ Oracle Contribution Agreement (OCA) ▪ MySQL無償認証制度
  27. MySQL コミュニティの紹介 Copyright © 2024, Oracle and/or its affiliates 53

    • MySQL コミュニティへの貢献プロセスの運営 • MySQL ユーザーグループへの支援 https://dev.mysql.com/community/mug/ • 全世界でのサードパーティによるカンファレンスやイベントへの支援や参加 https://dev.mysql.com/community/ • 教育ビデオの作成 • MySQL 短編動画 (MySQL Shorts) • MySQL 入門編シリーズ (MySQL 101 for Biginners) • https://www.youtube.com/@mysql • MySQL RockStar プログラム • MySQLの利用促進に最も精力的に取り組んだ MySQL コミュニティ・メンバーへの表彰 • 第1回: https://blogs.oracle.com/mysql/post/mysql-rockstars-2022 • MySQL ACE プログラム • MySQL プロジェクトでの ACE プログラムの運営 • https://ace.oracle.com/pls/apex/ace_program/r/oracle-aces/home
  28. MySQL への貢献 • MySQL オープンソースプロジェクトのコントリビューターコミュニティへの参加: https://forums.oracle.com/ords/apexds/post/contributing-code-to-mysql-8037 • コントリビュータになるために持つべきこと • MySQL

    の機能を変更/修正したい、あるいは新しい機能を追加したいといった要望 • MySQL ソースコードのダウンロード http://dev.mysql.com/downloads/ • bugs.mysql.com のアカウント http://bugs.mysql.com or • 有効な GitHub アカウント https://github.com • Oracle Contribution Agreement (OCA) への署名 https://oca.opensource.oracle.com/ • OCAは、コントリビューターとオラクルの両方を法的攻撃から保護する短い法的契約です。OCAに署名することにより、コントリビュー ターはオラクルがコントリビューターのコードをオラクル・ソフトウェアで使用することが法的に許可されていること、およびコントリビューター の知る限りにおいて、そのコードに特許的な問題がないことに同意することになります。 Copyright © 2024, Oracle and/or its affiliates 54
  29. MySQL 無償認証制度 • MySQL コミュニティチームは、Oracle University および Oracle Academy と協力し、

    mylearn.oracle.com を介して、2ヶ月間の指定期間内に使用できる無料のトレーニングバウチャー/クレジッ トを受講者に提供します。 • ご興味のある方は、以下についての詳細をお知らせくだされば、MySQL コミュニティから連絡いたします。 • 名前 • 姓 • Email アドレス • 居住国 • https://education.oracle.com/ Copyright © 2024, Oracle and/or its affiliates 55
  30. 連絡先 • MySQL コミュニティとのコンタクト先一覧: • MySQL コミュニティページ, https://dev.mysql.com/community/ • MySQL

    Slack, https://mysqlcommunity.slack.com • The Oracle MySQL ブログ, https://blogs.oracle.com/mysql/ • The Oracle MySQL Japan ブログ, https://blogs.oracle.com/mysql-jp/ • Planet MySQL, https://planet.mysql.com/ • LinkedIn, https://www.linkedin.com/groups/60715/ • ブログ, https://lefred.be/ • MySQL フォーラム, http://lists.mysql.com/ • ディスカッションフォーラム, http://forums.mysql.com Copyright © 2024, Oracle and/or its affiliates 56