SlideShare a Scribd company logo
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0で強化されたGIS機能のご紹介と
周辺ツールとの連携について
Yoshiaki Yamasaki / 山﨑 由章
MySQL Global Business Unit
MySQL Senior Sales Consultant
updated: 2018/11/10
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき
ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも
のではない為、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、
弊社の裁量により決定されます。
2
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
はじめに
3
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
今日伝えたいこと
• MySQLにもGIS機能があります!積極的に開発しています!!
• ご意見下さい!
– 本日は終日会場にいます
– 懇親会も参加します
• 試してみて気づいた点があれば、是非フィードバック下さい!
– フィードバックできるページ
• MySQL Bugs
https://bugs.mysql.com/
– バグ報告だけでなく、機能追加リクエストも受け付けています
4
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
今日伝えたいこと
• GDAL 2.3.2がリリースされ、ogr2ogrを使用してMySQL 8.0へ
シェープファイルをインポートできるようになりました
– ですが、まだ課題もあります
• 周辺ツールに対するフィードバックも是非お願します!
5
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQLのGIS機能の歴史
6
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 7
MySQLの歴史
4.0
全文検索 (MyISAM)
複数テーブルUPDATE/DELETE
組み込みライブラリ型サーバ
OracleMySQL Sun
3.23
MyISAM
InnoDB
レプリケーション
5.1
プラグガブル・
ストレージエンジン・
アーキテクチャ
パーティショニング
タスクスケジューラ
5.6
全文検索(InnoDB)
memcached API
UNDO表領域
Global Transaction ID
マルチスレッドスレーブ
オンラインALTER TABLE
トランスポータブル表領域
5.5
InnoDBがデフォルトに
準同期型レプリケーション
PERFORMANCE_SCHEMA
1.0-3.22以前
ストレージエンジン (ISAM, HEAP)
マルチスレッド
Windows対応/64bit対応
日本語文字コード (SJIS/UJIS)
5.0
ストアドプロシージャ
ストアドファンクション
カーソル/トリガ/ビュー
XAトランザクション
INFORMATION_SCHEMA
4.1
GIS(MyISAM)
Unicode対応
サブクエリ
CSV, ARCHIVE
ndbcluster
1995 2000 2005 2010 2015
5.7
2015年10月21日 GA
全文検索CJK対応/GIS (InnoDB)
新コストモデル オプティマイザ
ロスレス レプリケーション
マルチソース レプリケーション
グループ レプリケーション
セキュリティ強化
データディクショナリ
NoSQLオプション
・ 1995年:スウェーデンにてMySQL AB設立
・(2005年:オラクルがInnobase Oyを買収)
・ 2008年:Sun MicrosystemsがMySQL ABを買収
・ 2010年:オラクルがSun Microsystemsを買収
8.0
2018年4月19日 GA
トランザクショナルDD
MySQLドキュメントストア
Unicode 9.0サポート
国ごとの照合順序を追加
CTE、Window関数
GIS機能の拡張 (InnoDB)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GIS機能の歴史
• MySQL 5.7
– Boost.GeometryというC++のオープンソースライブラリを採用して独自実装をやめ、
InnoDBでGIS関連機能を再実装した
• geometryデータ型
• Spatialインデックス
• Spatial関数(使える関数の種類も増加)
• GeoHashサポート
• GeoJSONサポート
※Boost.Geometryコミュニティとも活発に交流し、MySQLチームから
Boost.Geometryへのコントリビュートも行っている
8
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GIS機能の歴史
• MySQL 8.0
– OpenGIS標準準拠
– 演算、データ変換に役立つ各種のSpatial関数の追加
• st_x(geom, x)
• st_y(geom, y)
• st_srid(geom, srid)
– MySQL 5.7で非推奨になった関数の廃止
–Geography サポート
• st_distance() 関数
–Spatial Data、Spatial Index、Spatial関数のSRIDサポート
9
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GIS機能の歴史
• MySQL 8.0
– OpenGIS標準準拠
– 演算、データ変換に役立つ各種のSpatial関数の追加
• st_x(geom, x)
• st_y(geom, y)
• st_srid(geom, srid)
– MySQL 5.7で非推奨になった関数の廃止
–Geography サポート
• st_distance() 関数
–Spatial Data、Spatial Index、Spatial関数のSRIDサポート
10
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQLは積極的に
GIS機能を開発しています!!
11
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GIS機能の紹介
12
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
geometryデータ型
• OpenGISジオメトリモデルに基づいた以下のデータが使用可能
– GEOMETRY、GEOMETRYCOLLECTION
– 点:POINT、MULTIPOINT
– 線:LINESTRING、MULTILINESTRING
– 多角形:POLYGON、MULTIPOLYGON
※GEOMETRYには、POINT、LINESTRING、POLYGONを格納可能
※GEOMETRYCOLLECTIONには、MULTIPOINT、MULTILINESTRING、MULTIPOLYGONを
格納可能
13
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Spatial関数
• ジオメトリデータを扱える各種の関数
• 例
– ST_Distance()
• 2つのジオメトリを入力し、2地点間の距離を出力
– ST_Distance_Sphere()
• 2つのジオメトリを入力し、2地点間の最小球面距離を出力
– ST_Contains()
• あるジオメトリに別のジオメトリが含まれているかどうかを判定する
• MySQL 8.0で使えるSpatial関数一覧
– MySQL 8.0 Reference Manual / ... / 12.15.1 Spatial Function Reference
https://dev.mysql.com/doc/refman/8.0/en/spatial-function-reference.html
14
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GeoHash
• 経緯度の情報を文字列化したもの
– 例:青山OMセンター(経度:139.718490、緯度:35.671497)のGeoHash
⇒ xn76gmgcsc10hf7v664d8ebpbpbpbp<<後略>>
• 特徴
– 文字列なので、データベースで扱いやすい
(インデックスも活用可能)
– GeoHashの情報は点ではなく範囲(矩形のエリア)を表す
– 文字列の桁数で精度を変えることができる
• 10桁を超えると矩形の一辺が1m以下になるので、経緯度の変わりとしても十分利用可能
• 近接エリアの判定等に利用可能
15
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GeoHash
• MySQL 5.7以降では、GeoHashを扱うための関数が使用できる
– ST_GeoHash():経度、緯度(POINT型のデータでも可)を入力し、GeoHashを出力
– ST_LatFromGeoHash():GeoHashを入力し、経度を出力
– ST_LongFromGeoHash():GeoHashを入力し、緯度を出力
– ST_PointFromGeoHash():GeoHashを入力し、POINT型のデータを出力
16
※詳細を解説しているマニュアル
MySQL 8.0 Reference Manual / ... / 12.15.10 Spatial Geohash Functions
https://dev.mysql.com/doc/refman/8.0/en/spatial-geohash-functions.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GeoJSON
• 空間データを扱うためのフォーマットの一つ
• JSONによる表現で空間データを扱える
– 例:青山OMセンター(経度:139.718490、緯度:35.671497)のGeoJSONによる表現
⇒ {"type": "Point", "coordinates": [139.71849, 35.671497]}
17
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GeoJSON
• MySQL 5.7以降では、GeoJSONを扱うための関数が使用できる
– ST_AsGeoJSON():ジオメトリ型のデータを入力し、GeoJSONデータを出力
– ST_GeomFromGeoJSON():GeoJSONデータを入力し、ジオメトリ型のデータを出力
18
※詳細を解説しているマニュアル
MySQL 8.0 Reference Manual / ... / 12.15.11 Spatial GeoJSON Functions
https://dev.mysql.com/doc/refman/8.0/en/spatial-geojson-functions.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL Workbenchの活用
19
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL Workbench
• 管理ツール
• SQLエディタ
• Performance Dashboard
• Visual Explain
• GIS Viewer
• ER図作成、フォワード/
リバースエンジニアリング、
など豊富な機能
20
データベースアーキテクト、開発者、DBA のための統合ビジュアルツール
商用版のみの機能:
DBドキュメント出力、データモデルの検証、
MySQL Enterprise Backup GUI、MySQL Enterprise Audit GUI
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
"Spatial Viewer" and "Geometry Viewer"
• ジオメトリ型のデータを図示可能
21
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
周辺ツールとの連携について
22
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
周辺ツールとの連携について
• FOSS4G Hokkaido 2018で、おざきさんに以下の発表をして頂きました
– MySQL8.0.11使ってみた SRIDが実装されたと聞いて
https://foss4g.hokkaido.jp/2018/data/mysql8011tukattemita.pdf
• シェープファイルの取り込み、POINTデータのインサートに以下4つの
方法を試して頂きましたが、いずれもエラーになっていました
1.MySQL Workbench 8.0.11
2.QGIS 2.18.20、3.0.1
3.SQL実行(MySQL Workbenchから
4.org2ogr
23
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
周辺ツールとの連携について
• FOSS4G Hokkaido 2018で、おざきさんに以下の発表をして頂きました
– MySQL8.0.11使ってみた SRIDが実装されたと聞いて
https://foss4g.hokkaido.jp/2018/data/mysql8011tukattemita.pdf
• シェープファイルの取り込み、POINTデータのインサートに以下4つの
方法を試して頂きましたが、いずれもエラーになっていました
1.MySQL Workbench 8.0.11
2.QGIS 2.18.20、3.0.1
3.SQL実行(MySQL Workbenchから
4.org2ogr
⇒2.~4.はGDALに依存した問題だったので、githubでissueを登録しました。
また、issueを登録してくれている方がいました。
24
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
関連するissue
• ogr2ogr with MySQL 8 #782
https://github.com/OSGeo/gdal/issues/782
• Issue with Mysql import #899
https://github.com/OSGeo/gdal/issues/899
• ogr2ogr with MySQL 8 (Wrong SRID) #905
https://github.com/OSGeo/gdal/issues/905
• ogr2ogr with MySQL 8 (Wrong Axis Order) #906
https://github.com/OSGeo/gdal/issues/906
25
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
関連するissue
• ogr2ogr with MySQL 8 #782
https://github.com/OSGeo/gdal/issues/782
• Issue with Mysql import #899
https://github.com/OSGeo/gdal/issues/899
• ogr2ogr with MySQL 8 (Wrong SRID) #905
https://github.com/OSGeo/gdal/issues/905
• ogr2ogr with MySQL 8 (Wrong Axis Order) #906
https://github.com/OSGeo/gdal/issues/906
⇒これらはGDAL 2.3.2で修正されました!!
26
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
と言うことで、FOSS4G Hokkaidoの
リベンジをします!!
(おざきさんから提供頂いたシェープファイルのインポートをデモします)
27
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
デモ
28
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
デモ手順
1.MySQL 8.0に接続し、シェープファイルをインポートするための
データベースを作成する(データベース名は任意の名前)
2.ogr2ogrを使ってシェープファイルをインポート
29
[実行例]
mysql> create database geotest;
Query OK, 1 row affected (0.02 sec)
[実行例]
C:¥>ogr2ogr.exe -f "MySQL" MySQL:"geotest,host=127.0.0.1,user=root,
password=root,port=3306" C:¥work¥point_4326.shp
※以下環境での実行例
- ローカルのMySQLサーバーへ接続、3306ポートを使用(デフォルト)
- MySQLのユーザー名:root、パスワード:root
- シェープファイル:C:¥work¥point_4326.shp
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
デモ手順
3.MySQLでインポートされたデータを確認
30
[実行例]
mysql> USE geotest;
Database changed
mysql>
mysql> SHOW TABLES;
+-------------------+
| Tables_in_geotest |
+-------------------+
| geometry_columns |
| point_4326 |
+-------------------+
2 rows in set (0.00 sec)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 31
mysql> SELECT * FROM geometry_columns;
+-----------------+----------------+--------------+-------------------+-----------------+------+-------+
| F_TABLE_CATALOG | F_TABLE_SCHEMA | F_TABLE_NAME | F_GEOMETRY_COLUMN | COORD_DIMENSION | SRID | TYPE |
+-----------------+----------------+--------------+-------------------+-----------------+------+-------+
| NULL | NULL | point_4326 | SHAPE | 2 | 4326 | POINT |
+-----------------+----------------+--------------+-------------------+-----------------+------+-------+
1 row in set (0.00 sec)
mysql> SELECT OGR_FID,ST_AsText(SHAPE),gid,point_name FROM point_4326;
+---------+------------------------------------------+------+----------------+
| OGR_FID | ST_AsText(SHAPE) | gid | point_name |
+---------+------------------------------------------+------+----------------+
| 1 | POINT(35.1707331634177 136.88149942349) | 1 | nagoya_station |
| 2 | POINT(35.1857023272457 136.899114368707) | 2 | nagoya_castle |
| 3 | POINT(35.1649809196272 136.899766774086) | 3 | science_museum |
+---------+------------------------------------------+------+----------------+
3 rows in set (0.00 sec)
mysql> SELECT OGR_FID,HEX(SHAPE),gid,point_name FROM point_4326;
+---------+----------------------------------------------------+------+----------------+
| OGR_FID | HEX(SHAPE) | gid | point_name |
+---------+----------------------------------------------------+------+----------------+
| 1 | E61000000101000000A36A473E351C61405F9C9495DA954140 | 1 | nagoya_station |
| 2 | E61000000101000000BA1E7F8BC51C6140DB270718C5974140 | 2 | nagoya_castle |
| 3 | E610000001010000004297B0E3CA1C6140A42143181E954140 | 3 | science_museum |
+---------+----------------------------------------------------+------+----------------+
3 rows in set (0.00 sec)
[実行例の続き]
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
とは言え、まだ課題もあります
32
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
課題
• ogr2ogrでシェープファイルのインポートを試した時に、文字化けにより
エラーが発生したケースもあります
– 発生したエラー
• ERROR 1: MySQL error message:Data too long for column 'XXXXX' at row 1 Description: INSERT INTO<後略>
– まだissue登録出来ていません
33
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
課題
• (必須要件ではありませんが)
ogr2ogrでシェープファイルをインポートした際にMySQLに作成された
テーブルのgeometry型の列にSRIDが明示的に定義されていません
– SRIDが明示的に定義されていれば、異なるSRIDのデータの混入を防げます
• INSERT時にエラーになります
– issue登録済みです
• ogr2ogr with MySQL 8: POINT column doesn't have SRID attribute #1015
https://github.com/OSGeo/gdal/issues/1015
34
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
課題
• (必須要件ではありませんが)
MySQL 8.0でデフォルトの認証方式を使用している場合、ogr2ogrで
接続できません
– 「MySQL8.0.11使ってみた」の8ページで
「AuthenticationMethodはLegacyを選択しておきましょう。」と言われている件です
– MySQL 8.0の設定で「default-authentication-plugin=mysql_native_password」
としてからMySQLユーザーを作成することで回避できます
– issue登録済みです
• ogr2ogr with MySQL 8 (MySQL connect failed with caching_sha2_password plugin) #910
https://github.com/OSGeo/gdal/issues/910
• libmysql-client version is old for MySQL 8.0 #132
https://github.com/gisinternals/buildsystem/issues/132
35
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GDAL以外の話題
36
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GDAL以外の話題
• Ushahidiのissue
– Runtime problems with MySQL 8.0 #3308
https://github.com/ushahidi/platform/issues/3308
⇒GDALのissue #782、#899 と同じ原因です(※)
※私のFOSS4G Tokaiでの発表資料で原因を解説しています
(次ページの「1.廃止された関数を使用していた」が原因です)
37
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GDALに依存した問題の整理 ※FOSS4G Tokaiでの発表資料より
• GDALを利用して生成されたSQL文を修正すれば、SQLが実行できた
– MySQL 8.0がエラーの原因ではなく、GDALがMySQL 8.0に合わせた
SQLを正しく生成できていないことが原因
• 修正点は以下の3点
– 1.廃止された関数を使用していた
⇒MySQL 8.0で使用できる関数名に修正すれば解決
– 2.SRIDの指定が間違っていた
⇒SRIDを正しく指定すれば解決
– 3.経度、緯度の指定順番が逆になっていた
⇒MySQLの仕様に合わせた順番に修正すれば解決
38
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
GDALで発生した問題と同様の問題が
他のツールでも発生するかもしれません
39
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
周辺ツールに対するフィードバックも
ご協力頂けると助かります m(_ _)m
40
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
参考情報
41
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
参考情報
• マニュアル
– https://dev.mysql.com/doc/refman/8.0/en/
• コミュニティフォーラム
– http://forums.mysql.com/list.php?23
• Boost.Geometry
– http://www.boost.org/libs/geometry
• バグ報告&機能追加リクエスト
– http://bugs.mysql.com/
42
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
参考情報
• MySQL開発チームのブログ記事(GIS機能開発者の投稿記事)
https://mysqlserverteam.com/author/nryeng/
– 例)
• Spatial Reference Systems in MySQL 8.0
• Geography in MySQL 8.0
• Axis Order in Spatial Reference Systems
• Geographic Indexes in InnoDB
• Geographic Spatial Reference Systems in MySQL 8.0
• Projected Spatial Reference Systems in MySQL 8.0
• Upgrading Spatial Indexes to MySQL 8.0
• Creating Your Own Spatial Reference Systems in MySQL 8.0
43
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
参考情報
• MySLQ 8.0 GIS Demos
https://github.com/nryeng/mysql-8.0-gis-demos
– OpenLayers、OpenStreetMap、ProxySimplePHPのタイルキャッシュを使用したデモ
(MySQL 8.0がGA(製品版)になる前に作成されたデモ)
44
MySQL 8.0で強化されたGIS機能のご紹介と周辺ツールとの連携について

More Related Content

What's hot (20)

Helidon 概要
Helidon 概要Helidon 概要
Helidon 概要
オラクルエンジニア通信
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
 
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Ryota Watabe
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and Performance
Mineaki Motohashi
 
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
Daichi Hayashi
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
 
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
Apache Atlasの現状とデータガバナンス事例 #hadoopreadingApache Atlasの現状とデータガバナンス事例 #hadoopreading
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
Yahoo!デベロッパーネットワーク
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
 
MyBatisとMyBatis Generatorの話
MyBatisとMyBatis Generatorの話MyBatisとMyBatis Generatorの話
MyBatisとMyBatis Generatorの話
tekuragari
 
DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向
Naoki Matsunaga
 
MongoDBと位置情報 ~地理空間インデックスの紹介
MongoDBと位置情報 ~地理空間インデックスの紹介MongoDBと位置情報 ~地理空間インデックスの紹介
MongoDBと位置情報 ~地理空間インデックスの紹介
Koji Iwazaki
 
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
Norishige Fukushima
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
 
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostGISの落とし穴 (第47回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
Ryota Watabe
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
 
Snowflake Architecture and Performance
Snowflake Architecture and PerformanceSnowflake Architecture and Performance
Snowflake Architecture and Performance
Mineaki Motohashi
 
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
【Deep Learning】AlexNetの解説&実装 by PyTorch (colabリンク付き)
Daichi Hayashi
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
 
MyBatisとMyBatis Generatorの話
MyBatisとMyBatis Generatorの話MyBatisとMyBatis Generatorの話
MyBatisとMyBatis Generatorの話
tekuragari
 
DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向DNNの曖昧性に関する研究動向
DNNの曖昧性に関する研究動向
Naoki Matsunaga
 
MongoDBと位置情報 ~地理空間インデックスの紹介
MongoDBと位置情報 ~地理空間インデックスの紹介MongoDBと位置情報 ~地理空間インデックスの紹介
MongoDBと位置情報 ~地理空間インデックスの紹介
Koji Iwazaki
 
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
Norishige Fukushima
 

Similar to MySQL 8.0で強化されたGIS機能のご紹介と周辺ツールとの連携について (20)

MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
yoyamasaki
 
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料 MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
yoyamasaki
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
DAISUKE INAGAKI
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
Machiko Ikoma
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
yoyamasaki
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報
yoyamasaki
 
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
オラクルエンジニア通信
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
オラクルエンジニア通信
 
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
Insight Technology, Inc.
 
20200627_MySQL開発最新動向
20200627_MySQL開発最新動向20200627_MySQL開発最新動向
20200627_MySQL開発最新動向
Machiko Ikoma
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
yoyamasaki
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
Ryusuke Kajiyama
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
yoyamasaki
 
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
オラクルエンジニア通信
 
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
Insight Technology, Inc.
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
Chihiro Ito
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
オラクルエンジニア通信
 
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介:「FOSS4G 2018 Hokkaido」での発表資料
yoyamasaki
 
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料 MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
MySQL 8.0で強化されたGIS機能のご紹介+α:「FOSS4G Tokai 2018 」での発表資料
yoyamasaki
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
DAISUKE INAGAKI
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
Machiko Ikoma
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
yoyamasaki
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報
yoyamasaki
 
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
オラクルエンジニア通信
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
Insight Technology, Inc.
 
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
Insight Technology, Inc.
 
20200627_MySQL開発最新動向
20200627_MySQL開発最新動向20200627_MySQL開発最新動向
20200627_MySQL開発最新動向
Machiko Ikoma
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
yoyamasaki
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
Ryusuke Kajiyama
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
yoyamasaki
 
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
オラクルエンジニア通信
 
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQL 5.7 GIS(地理情報システム) by 日本オラクル株式会社 MySQL GBU 山﨑由章
Insight Technology, Inc.
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
Chihiro Ito
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
オラクルエンジニア通信
 
Ad

More from yoyamasaki (20)

MySQL最新情報
MySQL最新情報MySQL最新情報
MySQL最新情報
yoyamasaki
 
MySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL WorkbenchMySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL Workbench
yoyamasaki
 
MySQL 開発最新動向
MySQL 開発最新動向MySQL 開発最新動向
MySQL 開発最新動向
yoyamasaki
 
MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月
yoyamasaki
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
yoyamasaki
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQL
yoyamasaki
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
yoyamasaki
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
yoyamasaki
 
DrupalとMySQL
DrupalとMySQLDrupalとMySQL
DrupalとMySQL
yoyamasaki
 
Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索
yoyamasaki
 
MySQL Workbench 6.1 の紹介
MySQL Workbench 6.1 の紹介MySQL Workbench 6.1 の紹介
MySQL Workbench 6.1 の紹介
yoyamasaki
 
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
 
早くなったのか? MySQL5.5から5.6へのアップグレード事例
早くなったのか? MySQL5.5から5.6へのアップグレード事例早くなったのか? MySQL5.5から5.6へのアップグレード事例
早くなったのか? MySQL5.5から5.6へのアップグレード事例
yoyamasaki
 
SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。
yoyamasaki
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
yoyamasaki
 
MySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL WorkbenchMySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL Workbench
yoyamasaki
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
yoyamasaki
 
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
yoyamasaki
 
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
yoyamasaki
 
MySQL最新情報
MySQL最新情報MySQL最新情報
MySQL最新情報
yoyamasaki
 
MySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL WorkbenchMySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL Workbench
yoyamasaki
 
MySQL 開発最新動向
MySQL 開発最新動向MySQL 開発最新動向
MySQL 開発最新動向
yoyamasaki
 
MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月
yoyamasaki
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
yoyamasaki
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
yoyamasaki
 
Windows環境でのMySQL
Windows環境でのMySQLWindows環境でのMySQL
Windows環境でのMySQL
yoyamasaki
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
yoyamasaki
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
yoyamasaki
 
DrupalとMySQL
DrupalとMySQLDrupalとMySQL
DrupalとMySQL
yoyamasaki
 
Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索Mysql+Mroongaで全文検索
Mysql+Mroongaで全文検索
yoyamasaki
 
MySQL Workbench 6.1 の紹介
MySQL Workbench 6.1 の紹介MySQL Workbench 6.1 の紹介
MySQL Workbench 6.1 の紹介
yoyamasaki
 
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
 
早くなったのか? MySQL5.5から5.6へのアップグレード事例
早くなったのか? MySQL5.5から5.6へのアップグレード事例早くなったのか? MySQL5.5から5.6へのアップグレード事例
早くなったのか? MySQL5.5から5.6へのアップグレード事例
yoyamasaki
 
SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。SQL+NoSQL!? それならMySQL Clusterでしょ。
SQL+NoSQL!? それならMySQL Clusterでしょ。
yoyamasaki
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
yoyamasaki
 
MySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL WorkbenchMySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL Workbench
yoyamasaki
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
yoyamasaki
 
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
ドキュメントデータベースとして MySQLを使う!? ~MySQL JSON UDF~
yoyamasaki
 
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
yoyamasaki
 
Ad

MySQL 8.0で強化されたGIS機能のご紹介と周辺ツールとの連携について

  • 1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0で強化されたGIS機能のご紹介と 周辺ツールとの連携について Yoshiaki Yamasaki / 山﨑 由章 MySQL Global Business Unit MySQL Senior Sales Consultant updated: 2018/11/10
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはでき ません。以下の事項は、マテリアルやコード、機能を提供することをコミットメントするも のではない為、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 2
  • 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. はじめに 3
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 今日伝えたいこと • MySQLにもGIS機能があります!積極的に開発しています!! • ご意見下さい! – 本日は終日会場にいます – 懇親会も参加します • 試してみて気づいた点があれば、是非フィードバック下さい! – フィードバックできるページ • MySQL Bugs https://bugs.mysql.com/ – バグ報告だけでなく、機能追加リクエストも受け付けています 4
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 今日伝えたいこと • GDAL 2.3.2がリリースされ、ogr2ogrを使用してMySQL 8.0へ シェープファイルをインポートできるようになりました – ですが、まだ課題もあります • 周辺ツールに対するフィードバックも是非お願します! 5
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQLのGIS機能の歴史 6
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 7 MySQLの歴史 4.0 全文検索 (MyISAM) 複数テーブルUPDATE/DELETE 組み込みライブラリ型サーバ OracleMySQL Sun 3.23 MyISAM InnoDB レプリケーション 5.1 プラグガブル・ ストレージエンジン・ アーキテクチャ パーティショニング タスクスケジューラ 5.6 全文検索(InnoDB) memcached API UNDO表領域 Global Transaction ID マルチスレッドスレーブ オンラインALTER TABLE トランスポータブル表領域 5.5 InnoDBがデフォルトに 準同期型レプリケーション PERFORMANCE_SCHEMA 1.0-3.22以前 ストレージエンジン (ISAM, HEAP) マルチスレッド Windows対応/64bit対応 日本語文字コード (SJIS/UJIS) 5.0 ストアドプロシージャ ストアドファンクション カーソル/トリガ/ビュー XAトランザクション INFORMATION_SCHEMA 4.1 GIS(MyISAM) Unicode対応 サブクエリ CSV, ARCHIVE ndbcluster 1995 2000 2005 2010 2015 5.7 2015年10月21日 GA 全文検索CJK対応/GIS (InnoDB) 新コストモデル オプティマイザ ロスレス レプリケーション マルチソース レプリケーション グループ レプリケーション セキュリティ強化 データディクショナリ NoSQLオプション ・ 1995年:スウェーデンにてMySQL AB設立 ・(2005年:オラクルがInnobase Oyを買収) ・ 2008年:Sun MicrosystemsがMySQL ABを買収 ・ 2010年:オラクルがSun Microsystemsを買収 8.0 2018年4月19日 GA トランザクショナルDD MySQLドキュメントストア Unicode 9.0サポート 国ごとの照合順序を追加 CTE、Window関数 GIS機能の拡張 (InnoDB)
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GIS機能の歴史 • MySQL 5.7 – Boost.GeometryというC++のオープンソースライブラリを採用して独自実装をやめ、 InnoDBでGIS関連機能を再実装した • geometryデータ型 • Spatialインデックス • Spatial関数(使える関数の種類も増加) • GeoHashサポート • GeoJSONサポート ※Boost.Geometryコミュニティとも活発に交流し、MySQLチームから Boost.Geometryへのコントリビュートも行っている 8
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GIS機能の歴史 • MySQL 8.0 – OpenGIS標準準拠 – 演算、データ変換に役立つ各種のSpatial関数の追加 • st_x(geom, x) • st_y(geom, y) • st_srid(geom, srid) – MySQL 5.7で非推奨になった関数の廃止 –Geography サポート • st_distance() 関数 –Spatial Data、Spatial Index、Spatial関数のSRIDサポート 9
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GIS機能の歴史 • MySQL 8.0 – OpenGIS標準準拠 – 演算、データ変換に役立つ各種のSpatial関数の追加 • st_x(geom, x) • st_y(geom, y) • st_srid(geom, srid) – MySQL 5.7で非推奨になった関数の廃止 –Geography サポート • st_distance() 関数 –Spatial Data、Spatial Index、Spatial関数のSRIDサポート 10
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQLは積極的に GIS機能を開発しています!! 11
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GIS機能の紹介 12
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. geometryデータ型 • OpenGISジオメトリモデルに基づいた以下のデータが使用可能 – GEOMETRY、GEOMETRYCOLLECTION – 点:POINT、MULTIPOINT – 線:LINESTRING、MULTILINESTRING – 多角形:POLYGON、MULTIPOLYGON ※GEOMETRYには、POINT、LINESTRING、POLYGONを格納可能 ※GEOMETRYCOLLECTIONには、MULTIPOINT、MULTILINESTRING、MULTIPOLYGONを 格納可能 13
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Spatial関数 • ジオメトリデータを扱える各種の関数 • 例 – ST_Distance() • 2つのジオメトリを入力し、2地点間の距離を出力 – ST_Distance_Sphere() • 2つのジオメトリを入力し、2地点間の最小球面距離を出力 – ST_Contains() • あるジオメトリに別のジオメトリが含まれているかどうかを判定する • MySQL 8.0で使えるSpatial関数一覧 – MySQL 8.0 Reference Manual / ... / 12.15.1 Spatial Function Reference https://dev.mysql.com/doc/refman/8.0/en/spatial-function-reference.html 14
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GeoHash • 経緯度の情報を文字列化したもの – 例:青山OMセンター(経度:139.718490、緯度:35.671497)のGeoHash ⇒ xn76gmgcsc10hf7v664d8ebpbpbpbp<<後略>> • 特徴 – 文字列なので、データベースで扱いやすい (インデックスも活用可能) – GeoHashの情報は点ではなく範囲(矩形のエリア)を表す – 文字列の桁数で精度を変えることができる • 10桁を超えると矩形の一辺が1m以下になるので、経緯度の変わりとしても十分利用可能 • 近接エリアの判定等に利用可能 15
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GeoHash • MySQL 5.7以降では、GeoHashを扱うための関数が使用できる – ST_GeoHash():経度、緯度(POINT型のデータでも可)を入力し、GeoHashを出力 – ST_LatFromGeoHash():GeoHashを入力し、経度を出力 – ST_LongFromGeoHash():GeoHashを入力し、緯度を出力 – ST_PointFromGeoHash():GeoHashを入力し、POINT型のデータを出力 16 ※詳細を解説しているマニュアル MySQL 8.0 Reference Manual / ... / 12.15.10 Spatial Geohash Functions https://dev.mysql.com/doc/refman/8.0/en/spatial-geohash-functions.html
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GeoJSON • 空間データを扱うためのフォーマットの一つ • JSONによる表現で空間データを扱える – 例:青山OMセンター(経度:139.718490、緯度:35.671497)のGeoJSONによる表現 ⇒ {"type": "Point", "coordinates": [139.71849, 35.671497]} 17
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GeoJSON • MySQL 5.7以降では、GeoJSONを扱うための関数が使用できる – ST_AsGeoJSON():ジオメトリ型のデータを入力し、GeoJSONデータを出力 – ST_GeomFromGeoJSON():GeoJSONデータを入力し、ジオメトリ型のデータを出力 18 ※詳細を解説しているマニュアル MySQL 8.0 Reference Manual / ... / 12.15.11 Spatial GeoJSON Functions https://dev.mysql.com/doc/refman/8.0/en/spatial-geojson-functions.html
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Workbenchの活用 19
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Workbench • 管理ツール • SQLエディタ • Performance Dashboard • Visual Explain • GIS Viewer • ER図作成、フォワード/ リバースエンジニアリング、 など豊富な機能 20 データベースアーキテクト、開発者、DBA のための統合ビジュアルツール 商用版のみの機能: DBドキュメント出力、データモデルの検証、 MySQL Enterprise Backup GUI、MySQL Enterprise Audit GUI
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. "Spatial Viewer" and "Geometry Viewer" • ジオメトリ型のデータを図示可能 21
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 周辺ツールとの連携について 22
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 周辺ツールとの連携について • FOSS4G Hokkaido 2018で、おざきさんに以下の発表をして頂きました – MySQL8.0.11使ってみた SRIDが実装されたと聞いて https://foss4g.hokkaido.jp/2018/data/mysql8011tukattemita.pdf • シェープファイルの取り込み、POINTデータのインサートに以下4つの 方法を試して頂きましたが、いずれもエラーになっていました 1.MySQL Workbench 8.0.11 2.QGIS 2.18.20、3.0.1 3.SQL実行(MySQL Workbenchから 4.org2ogr 23
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 周辺ツールとの連携について • FOSS4G Hokkaido 2018で、おざきさんに以下の発表をして頂きました – MySQL8.0.11使ってみた SRIDが実装されたと聞いて https://foss4g.hokkaido.jp/2018/data/mysql8011tukattemita.pdf • シェープファイルの取り込み、POINTデータのインサートに以下4つの 方法を試して頂きましたが、いずれもエラーになっていました 1.MySQL Workbench 8.0.11 2.QGIS 2.18.20、3.0.1 3.SQL実行(MySQL Workbenchから 4.org2ogr ⇒2.~4.はGDALに依存した問題だったので、githubでissueを登録しました。 また、issueを登録してくれている方がいました。 24
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 関連するissue • ogr2ogr with MySQL 8 #782 https://github.com/OSGeo/gdal/issues/782 • Issue with Mysql import #899 https://github.com/OSGeo/gdal/issues/899 • ogr2ogr with MySQL 8 (Wrong SRID) #905 https://github.com/OSGeo/gdal/issues/905 • ogr2ogr with MySQL 8 (Wrong Axis Order) #906 https://github.com/OSGeo/gdal/issues/906 25
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 関連するissue • ogr2ogr with MySQL 8 #782 https://github.com/OSGeo/gdal/issues/782 • Issue with Mysql import #899 https://github.com/OSGeo/gdal/issues/899 • ogr2ogr with MySQL 8 (Wrong SRID) #905 https://github.com/OSGeo/gdal/issues/905 • ogr2ogr with MySQL 8 (Wrong Axis Order) #906 https://github.com/OSGeo/gdal/issues/906 ⇒これらはGDAL 2.3.2で修正されました!! 26
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. と言うことで、FOSS4G Hokkaidoの リベンジをします!! (おざきさんから提供頂いたシェープファイルのインポートをデモします) 27
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. デモ 28
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. デモ手順 1.MySQL 8.0に接続し、シェープファイルをインポートするための データベースを作成する(データベース名は任意の名前) 2.ogr2ogrを使ってシェープファイルをインポート 29 [実行例] mysql> create database geotest; Query OK, 1 row affected (0.02 sec) [実行例] C:¥>ogr2ogr.exe -f "MySQL" MySQL:"geotest,host=127.0.0.1,user=root, password=root,port=3306" C:¥work¥point_4326.shp ※以下環境での実行例 - ローカルのMySQLサーバーへ接続、3306ポートを使用(デフォルト) - MySQLのユーザー名:root、パスワード:root - シェープファイル:C:¥work¥point_4326.shp
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. デモ手順 3.MySQLでインポートされたデータを確認 30 [実行例] mysql> USE geotest; Database changed mysql> mysql> SHOW TABLES; +-------------------+ | Tables_in_geotest | +-------------------+ | geometry_columns | | point_4326 | +-------------------+ 2 rows in set (0.00 sec)
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 31 mysql> SELECT * FROM geometry_columns; +-----------------+----------------+--------------+-------------------+-----------------+------+-------+ | F_TABLE_CATALOG | F_TABLE_SCHEMA | F_TABLE_NAME | F_GEOMETRY_COLUMN | COORD_DIMENSION | SRID | TYPE | +-----------------+----------------+--------------+-------------------+-----------------+------+-------+ | NULL | NULL | point_4326 | SHAPE | 2 | 4326 | POINT | +-----------------+----------------+--------------+-------------------+-----------------+------+-------+ 1 row in set (0.00 sec) mysql> SELECT OGR_FID,ST_AsText(SHAPE),gid,point_name FROM point_4326; +---------+------------------------------------------+------+----------------+ | OGR_FID | ST_AsText(SHAPE) | gid | point_name | +---------+------------------------------------------+------+----------------+ | 1 | POINT(35.1707331634177 136.88149942349) | 1 | nagoya_station | | 2 | POINT(35.1857023272457 136.899114368707) | 2 | nagoya_castle | | 3 | POINT(35.1649809196272 136.899766774086) | 3 | science_museum | +---------+------------------------------------------+------+----------------+ 3 rows in set (0.00 sec) mysql> SELECT OGR_FID,HEX(SHAPE),gid,point_name FROM point_4326; +---------+----------------------------------------------------+------+----------------+ | OGR_FID | HEX(SHAPE) | gid | point_name | +---------+----------------------------------------------------+------+----------------+ | 1 | E61000000101000000A36A473E351C61405F9C9495DA954140 | 1 | nagoya_station | | 2 | E61000000101000000BA1E7F8BC51C6140DB270718C5974140 | 2 | nagoya_castle | | 3 | E610000001010000004297B0E3CA1C6140A42143181E954140 | 3 | science_museum | +---------+----------------------------------------------------+------+----------------+ 3 rows in set (0.00 sec) [実行例の続き]
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. とは言え、まだ課題もあります 32
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 課題 • ogr2ogrでシェープファイルのインポートを試した時に、文字化けにより エラーが発生したケースもあります – 発生したエラー • ERROR 1: MySQL error message:Data too long for column 'XXXXX' at row 1 Description: INSERT INTO<後略> – まだissue登録出来ていません 33
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 課題 • (必須要件ではありませんが) ogr2ogrでシェープファイルをインポートした際にMySQLに作成された テーブルのgeometry型の列にSRIDが明示的に定義されていません – SRIDが明示的に定義されていれば、異なるSRIDのデータの混入を防げます • INSERT時にエラーになります – issue登録済みです • ogr2ogr with MySQL 8: POINT column doesn't have SRID attribute #1015 https://github.com/OSGeo/gdal/issues/1015 34
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 課題 • (必須要件ではありませんが) MySQL 8.0でデフォルトの認証方式を使用している場合、ogr2ogrで 接続できません – 「MySQL8.0.11使ってみた」の8ページで 「AuthenticationMethodはLegacyを選択しておきましょう。」と言われている件です – MySQL 8.0の設定で「default-authentication-plugin=mysql_native_password」 としてからMySQLユーザーを作成することで回避できます – issue登録済みです • ogr2ogr with MySQL 8 (MySQL connect failed with caching_sha2_password plugin) #910 https://github.com/OSGeo/gdal/issues/910 • libmysql-client version is old for MySQL 8.0 #132 https://github.com/gisinternals/buildsystem/issues/132 35
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GDAL以外の話題 36
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GDAL以外の話題 • Ushahidiのissue – Runtime problems with MySQL 8.0 #3308 https://github.com/ushahidi/platform/issues/3308 ⇒GDALのissue #782、#899 と同じ原因です(※) ※私のFOSS4G Tokaiでの発表資料で原因を解説しています (次ページの「1.廃止された関数を使用していた」が原因です) 37
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GDALに依存した問題の整理 ※FOSS4G Tokaiでの発表資料より • GDALを利用して生成されたSQL文を修正すれば、SQLが実行できた – MySQL 8.0がエラーの原因ではなく、GDALがMySQL 8.0に合わせた SQLを正しく生成できていないことが原因 • 修正点は以下の3点 – 1.廃止された関数を使用していた ⇒MySQL 8.0で使用できる関数名に修正すれば解決 – 2.SRIDの指定が間違っていた ⇒SRIDを正しく指定すれば解決 – 3.経度、緯度の指定順番が逆になっていた ⇒MySQLの仕様に合わせた順番に修正すれば解決 38
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. GDALで発生した問題と同様の問題が 他のツールでも発生するかもしれません 39
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 周辺ツールに対するフィードバックも ご協力頂けると助かります m(_ _)m 40
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 参考情報 41
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 参考情報 • マニュアル – https://dev.mysql.com/doc/refman/8.0/en/ • コミュニティフォーラム – http://forums.mysql.com/list.php?23 • Boost.Geometry – http://www.boost.org/libs/geometry • バグ報告&機能追加リクエスト – http://bugs.mysql.com/ 42
  • 43. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 参考情報 • MySQL開発チームのブログ記事(GIS機能開発者の投稿記事) https://mysqlserverteam.com/author/nryeng/ – 例) • Spatial Reference Systems in MySQL 8.0 • Geography in MySQL 8.0 • Axis Order in Spatial Reference Systems • Geographic Indexes in InnoDB • Geographic Spatial Reference Systems in MySQL 8.0 • Projected Spatial Reference Systems in MySQL 8.0 • Upgrading Spatial Indexes to MySQL 8.0 • Creating Your Own Spatial Reference Systems in MySQL 8.0 43
  • 44. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 参考情報 • MySLQ 8.0 GIS Demos https://github.com/nryeng/mysql-8.0-gis-demos – OpenLayers、OpenStreetMap、ProxySimplePHPのタイルキャッシュを使用したデモ (MySQL 8.0がGA(製品版)になる前に作成されたデモ) 44