Share
Embed
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
Transcript
57 slides
-
GIS機能が使えるMySQLのマネージドサービスを 無料で使用する方法 FOSS4G TOKAI 2024 山﨑 由章 MySQL Master Principal
Solution Engineer & MySQL Cloud Evangelist, MySQL Community Team 2024年8月24日 -
• 名前:山﨑 由章(やまさき よしあき) • 所属:日本オラクル株式会社 MySQL Community Team /
MySQL Global Business Unit • 役割:MySQLのプリセールス、MySQL 及び HeatWave MySQL Database Service の 普及促進活動、など • Twitter ID:@yyamasaki1 • 出身地:明石市 • 趣味:美味しいものを食べること、 色々な所に行くこと、ボードゲーム、など 自己紹介 Copyright © 2024, Oracle and/or its affiliates 2 -
1. MySQLのGIS機能の歴史 と 新バージョンポリシー 2. MySQLのGIS機能の概要と、MySQLで(データベースで) GISが使えることの利点 3. MySQLのマネージドサービスを無料で使用する方法 4.
おまけ Appendix Copyright © 2024, Oracle and/or its affiliates 3 アジェンダ -
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) 座標系変換がほぼ 全ての座標系に対応 -
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) -
• 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 大事なこと -
Copyright © 2024, Oracle and/or its affiliates 10 2. MySQLのGIS機能の概要と、
MySQLで(データベースで) GISが使えることの利点 -
• GISデータを格納するための専用のデータが型ある • GISデータを計算したり変換したりするための各種Spatial関数がある Copyright © 2024, Oracle and/or its
affiliates 11 MySQLのGIS機能概要 -
• POINT:点 • 例:緯度、経度 • LINESTRING:線 • 例:ルート(道筋) • POLYGON:多角形
• 例:市町村の区画 • GEOMETRY:POINT、LINESTRING、POLYGONをまとめて扱える Copyright © 2024, Oracle and/or its affiliates 12 GISデータを格納するための専用のデータが型ある ※それぞれの集合を扱えるデータ型もある (MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION) -
• テキストデータを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関数がある -
• GISデータをテキストデータに変換するための関数 • ST_AsText() Copyright © 2024, Oracle and/or its
affiliates 14 GISデータを変換したり計算したりするための各種Spatial関数がある -
• 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を扱うための関数もある -
• 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関数の一覧は、ドキュメントで確認できます -
• FOSS4G HOKKAIDO 2019 でのハンズオンデイでのセッション資料を 引用して説明します • FOSS4G HOKKAIDO 2019
https://foss4g.hokkaido.jp/archive/2019/ Copyright © 2024, Oracle and/or its affiliates 17 MySQLで(データベースで) GISが使えることの利点 -
➢ 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 -
◼ MySQLにシェープファイルをインポートする方法については、 宮内さん(FOSS4G TOKAI実行委員)の発表資料やQiitaの記事を参考にして下さい ➢ MySQLにシェープファイルをインポートするツール(shp2mysql)を作った https://qiita.com/miyauchi/items/b4e810b3becf2cf07e2f ➢ MySQLにシェープファイルをインポートしてWebGISを作る https://www.osgeo.jp/events/foss4g-2020/foss4g-2020-japan-online/foss4g-japan-2020-
online-coreday#presentation_a6 参考資料 Copyright © 2024, Oracle and/or its affiliates 22 -
Copyright © 2023, Oracle and/or its affiliates 25 HeatWave MySQL
Database Service MySQLだけでトランザクション処理、データ分析、機械学習、データレイクを実現 Transactions Analytics Machine Leaning Lakehouse -
Copyright © 2024, Oracle and/or its affiliates 26 オラクルのクラウドにはAlways Freeというサービスがあり、
いくつかのリソースが常時無料で使用できます + 今月HeatWave MySQLがAlways Freeの対象に 含まれました!! -
• 以下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リリース後のものに更新されていませんが、 基本的な手順は確認可能です -
• 最新バージョンのみ使用可能 (本日時点では、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 -
• 最新バージョンのみ使用可能 (本日時点では、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 -
Copyright © 2024, Oracle and/or its affiliates 33 FOSS4G TOKAI
2024のテーマは 「デジタルツイン」 -
Copyright © 2024, Oracle and/or its affiliates 35 そこで、HeatWave GenAIを使って、
LLMに「デジタルツインとは?」と 質問してみます -
Copyright © 2024, Oracle and/or its affiliates 36 HeatWave GenAIを使うと、
MySQLだけでLLMを利用できます -
• MySQLとHeatWaveが切り開くオープンソース・データベースの新基準 HeatWave GenAI によるインデータベースLLMと自動化されたインデータベース・ベクトル・ストア #15 https://enterprisezine.jp/article/detail/20127 Copyright © 2024,
Oracle and/or its affiliates 37 HeatWave GenAI の説明は、こちらの記事をご覧ください -
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に「デジタルツインとは?」と質問した結果 -
DeepLによる参考日本語訳 デジタルツインは、センサー、ソフトウェア、その他のソースからのリアルタイムデータを使用して作成される、 物理的なオブジェクトやシステムの仮想モデルです。デジタルツインは、対象物やシステムのシミュレーション、 分析、最適化、動作予測に使用され、エンジニア、建築家、その他の専門家が、その設計、運用、保守に ついて十分な情報に基づいた意思決定を行うことを可能にする。デジタル・ツインは、製造、建設、輸送、 エネルギー、ヘルスケアなど、幅広い産業に応用できる。 Copyright © 2024, Oracle
and/or its affiliates 39 Mistral-7Bに「デジタルツインとは?」と質問した結果 -
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とは?」と質問した結果 -
DeepLによる参考日本語訳 QGIS(Quantum GIS)は、ユーザーが空間データを作成、編集、分析できるオープンソースの地理情 報システム(GIS)ソフトウェアスイートです。Windows、macOS、Linux、Androidを含む様々なオペ レーティングシステム上で動作し、マッピング、データ分析、3Dビジュアライゼーションなどの幅広いGISタスクに 使用できる。QGISは、専門家、教育者、趣味愛好家を問わず広く利用されており、ユーザーフレンドリーな インターフェースと強力な機能性で知られている。 Copyright © 2024,
Oracle and/or its affiliates 41 Mistral-7Bに「QGISとは?」と質問した結果 -
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とは?」と質問した結果 -
DeepLによる参考日本語訳 台地とは、標高の高い場所によく見られる平らな場所のことで、植物がほとんど生えず、一般的に不毛な 風景が広がっている。<略> Copyright © 2024, Oracle and/or its affiliates
43 Mistral-7Bに「PLATEAUとは?」と質問した結果 ※「ハルシネーション」と呼ばれるLLMが事実とは異なる内容や無関係な文脈の内容を出力する問題が起きている。 私達が期待する3DモデルのPLATEAUのことではなく、英単語としてのPLATEAU(台地)の説明が出力された。 -
• MySQLとHeatWaveが切り開くオープンソース・データベースの新基準 https://enterprisezine.jp/article/corner/533 Copyright © 2024, Oracle and/or its affiliates
44 HeatWave GenAI でRAGを利用する方法なども、 今後こちらの連載で解説予定です -
【質問】 MySQLでは、日付変更線を跨いだ距離計算も正しくできますか? 【回答】 正しく計算できます。以下2つの距離がほぼ同じであることから確認しました。 (実行結果を次ページに掲載) 1. (緯度:0、経度:177)の位置と(緯度:0、経度:179)の位置 2. (緯度:0、経度:179)の位置と(緯度:0、経度:-179)の位置 ※経度差が2
なお、2つの距離に非常に小さな差異がありますが、こちらは計算の中で発生した誤差と 思われます。(0.00004mm程度の差異) Copyright © 2024, Oracle and/or its affiliates 46 発表時に頂いた質問に関する補足 -
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 テクニカルアップデート ※コミュニティ版を除く -
• 最大の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 -
MySQLホームページ http://www.mysql.com/jp MySQL イベント http://www.mysql.com/jp/news-and-events/ MySQLニュースレター 英語版&日本語版(月刊) https://www.mysql.com/jp/news-and-events/newsletter/ MySQL Twitter
日本語公式アカウント @mysql_jp MySQLの最新情報配信 51 Copyright © 2024, Oracle and/or its affiliates -
MySQL コミュニティ Copyright © 2024, Oracle and/or its affiliates 52
8/24/2024 ▪ MySQL コミュニティの紹介 ▪ MySQL への貢献 ▪ Oracle Contribution Agreement (OCA) ▪ MySQL無償認証制度 -
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 -
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 -
MySQL 無償認証制度 • MySQL コミュニティチームは、Oracle University および Oracle Academy と協力し、
mylearn.oracle.com を介して、2ヶ月間の指定期間内に使用できる無料のトレーニングバウチャー/クレジッ トを受講者に提供します。 • ご興味のある方は、以下についての詳細をお知らせくだされば、MySQL コミュニティから連絡いたします。 • 名前 • 姓 • Email アドレス • 居住国 • https://education.oracle.com/ Copyright © 2024, Oracle and/or its affiliates 55 -
連絡先 • 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