SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
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機能のご紹介と周辺ツールとの連携について

Mais conteúdo relacionado

Mais procurados

マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜Yoshiki Nakagawa
 
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...Google Cloud Platform - Japan
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroongaKouhei Sutou
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころJunya Hayashi
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutesShingo Omura
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座Samir Hammoudi
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...whywaita
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門Yuichi Ito
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門増田 亨
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 
WebGIS初級編 - OpenLayersで簡単作成
WebGIS初級編 - OpenLayersで簡単作成WebGIS初級編 - OpenLayersで簡単作成
WebGIS初級編 - OpenLayersで簡単作成Hideo Harada
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 

Mais procurados (20)

マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroonga
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutes
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
WebGIS初級編 - OpenLayersで簡単作成
WebGIS初級編 - OpenLayersで簡単作成WebGIS初級編 - OpenLayersで簡単作成
WebGIS初級編 - OpenLayersで簡単作成
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 

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

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_publicDAISUKE 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ドキュメントストアとCTEyoyamasaki
 
ついにリリース!! 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.0Ryusuke 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)オラクルエンジニア通信
 

Semelhante a 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」での発表資料
 
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 」での発表資料
 
20190530 osc hokkaido_public
20190530 osc hokkaido_public20190530 osc hokkaido_public
20190530 osc hokkaido_public
 
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
20190825_MySQL ServerだけじゃないMySQL Shellもあるんです
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報
 
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新機能
 
[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
 
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 山﨑由章
 
20200627_MySQL開発最新動向
20200627_MySQL開発最新動向20200627_MySQL開発最新動向
20200627_MySQL開発最新動向
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
 
[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
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
 
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 山﨑由章
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
 
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)
 

Mais de yoyamasaki

MySQL最新情報
MySQL最新情報MySQL最新情報
MySQL最新情報yoyamasaki
 
MySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL WorkbenchMySQLの公式GUIツール MySQL Workbench
MySQLの公式GUIツール MySQL Workbenchyoyamasaki
 
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_jpyoyamasaki
 
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環境でのMySQLyoyamasaki
 
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とMySQLyoyamasaki
 
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 Tokyoyoyamasaki
 
早くなったのか? 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 Workbenchyoyamasaki
 
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
 

Mais de yoyamasaki (20)

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

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Último (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

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