Submit Search
Upload
NoSQLデータベースと位置情報
•
7 likes
•
17,649 views
Koji Ichiwaki
Follow
FOSS4G 2013 東京での発表スライド
Read less
Read more
Technology
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
Daiyu Hatakeyama
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
Recommended
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Google Cloud Platform - Japan
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
Daiyu Hatakeyama
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
MLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめ
Kenichi Sonoda
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
TiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
例外設計における大罪
例外設計における大罪
Takuto Wada
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Osc shimane-2016-do-postgres-dream-of-graph-database
Osc shimane-2016-do-postgres-dream-of-graph-database
Toshi Harada
More Related Content
What's hot
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
MLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめ
Kenichi Sonoda
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
Google Cloud Platform - Japan
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
TiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
例外設計における大罪
例外設計における大罪
Takuto Wada
What's hot
(20)
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
データベース設計徹底指南
データベース設計徹底指南
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
MLflowで学ぶMLOpsことはじめ
MLflowで学ぶMLOpsことはじめ
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
TiDBのトランザクション
TiDBのトランザクション
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
例外設計における大罪
例外設計における大罪
Similar to NoSQLデータベースと位置情報
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Osc shimane-2016-do-postgres-dream-of-graph-database
Osc shimane-2016-do-postgres-dream-of-graph-database
Toshi Harada
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
Microsoft
About NoSQL
About NoSQL
hideaki honda
Mongo db勉強会
Mongo db勉強会
otmb
Osc2012.dbに行ってきました
Osc2012.dbに行ってきました
Masaru Kobashigawa
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
Takuya Sato
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx
MariMurotani
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
Mongo db使ってみよう
Mongo db使ってみよう
Oda Shinsuke
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
Mongodb
Mongodb
Satoru Mikami
MongoDB
MongoDB
あしたのオープンソース研究所
AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション
de:code 2017
Polyglot Persistence and Graph Schema
Polyglot Persistence and Graph Schema
Takao Tetsuro
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Platform - Japan
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Similar to NoSQLデータベースと位置情報
(20)
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Osc shimane-2016-do-postgres-dream-of-graph-database
Osc shimane-2016-do-postgres-dream-of-graph-database
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
About NoSQL
About NoSQL
Mongo db勉強会
Mongo db勉強会
Osc2012.dbに行ってきました
Osc2012.dbに行ってきました
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
Mongo db使ってみよう
Mongo db使ってみよう
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Mongodb
Mongodb
MongoDB
MongoDB
AWSで作る分析基盤
AWSで作る分析基盤
[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション
Polyglot Persistence and Graph Schema
Polyglot Persistence and Graph Schema
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
NoSQLデータベースと位置情報
1.
株式会社オークニー 市脇康二 NoSQLデータベースと位置情報
1
2.
自己紹介 NoSQLって何? MongoDB
Neo4j アジェンダ 2
3.
株式会社オークニー プロダクトサービス部市脇康二 お仕事
ソリューション開発 クラウドサービス 自己紹介 GeoGraph GeoGraphSDK 地図配信ジオコーディング空間DB 3
4.
NoSQL? 4
5.
NoSQLって何? 一般的にデータベースといえばリレーショナル データベースを指すことが多い
リレーショナルデータベースの操作にはSQLとい う問い合わせ言語を用いる NoSQLとは「Not only SQL」であり、リレー ショナルデータベースではない、新しいデータ ベース群を表す総称のようなもの ※明確な定義があるわけではない 5
6.
NoSQLって何? NoSQLでもデータモデルの違いでいくつ かのタイプにわかれる
キーバリュー型 列指向型 ドキュメント指向型 グラフ指向型 http://nosql-database.org/ 6
7.
①キーバリュー型 キーとペアになる値を保持するシンプルな構造 シンプルな構造なので使い方もシンプル
キャッシュ的な使い方が有効 Webのセッション情報など、頻繁にアクセスされる が永続化はしなくてもいいデータに向く 代表的なソフトウェア Memcached, Redis, Amazon DynamoDB 7
8.
②列指向型 従来型RDBは行でデータを扱うのに対し、それを列で 行う
それにより必要なデータのみを効率良く抽出でき、内 部的なデータの圧縮効率も上がることから高速に大量 のデータを扱うことができる 代表的なソフトウェア Hbase(Hadoop), Apache Cassandra, Amazon SimpleDB 大量のデータ読み出しは得意な反面、更新が苦手なの で、OLAPのような分析処理に有効 8
9.
③ドキュメント指向型 スキーマレス 事前にデータ構造を決めておかなくても良い為、柔軟性に優れ
る スケーラブル 標準でシャーディング機能を持ち更新、検索処理を分散できる 仕組みを備えている 代表的なソフトウェア MongoDB, Apache CouchDB, RavenDB スキーマを固定できない用途やスケーラビリティを活かした 大規模アプリケーションのバックエンドDBとして有効 9
10.
④グラフ指向型 ノードとリレーション(エッジ)でデータの関連を表 現
ノード、リレーションそれぞれに属性を持つプロパ ティグラフ SQLで自己結合や再帰クエリを用いるようなケースで 有効かも? ソーシャルな人間関係…友達の友達を探す 製造業のBOM 代表的なソフトウェア Neo4j、Infinite Graph 10
11.
MongoDB 11
12.
ドキュメント指向型データベースの代表格 データはJSON(BSON= Binary
JSON) コマンドラインはJavaScriptで操作するのでWeb開発者との親和性は高い とにかくRead/Writeが多い!というケースに向く ACIDなトランザクションはない 開発元 MongoDB(旧10gen) ライセ ンス AGPLv3 言語 C++(Driverは各種言語あり) OS Windows, Mac OSX, Linux, Solaris UI コマンドライン http://www.mongodb.org/ 12
13.
各OSごとのバイナリが配布されているのでインストールも容易 AWSのマーケットプレイスにはインストール済みインスタンスもある 13
14.
位置情報機能 GeoJSON WGS84
FeatureType Point, LineString, Polygon (Multi*はダメ) ※LineString, Polygonは最新の2.4系から Function$geoWithin, $geoIntersects, $near 14
15.
空間検索クエリ例 SELECT COUNT(*)
FROM points WHERE geom&& ST_MakeBox2D(ST_Point(139.5, 35.6), ST_Point(139.6, 35.7)) db.points.find({"geometry": { $geoIntersects: { $geometry: { type: "Polygon", coordinates: [[ [139.5, 35.6], [139.5, 35.7], [139.6, 35.7], [139.6, 35.6], [139.5, 35.6] ]] } } }}).count() PostGIS MongoDB 国土数値情報から東京都のバス停データを入れたところ、同じ件数(607件)が得 られた。 15
16.
Point:バス停 LineString:河川 Polygon:行政区域
16
17.
Neo4j 17
18.
グラフ指向型データベースの代表格(勝手に) OSSのCommunity EditionでもDBとしての基本機能は全部使える
上位エディションでは更にオンラインバックアップ、クラスタリング、モニタリング機能 が使える トランザクションはACIDに完全準拠 開発元 Neo Technology ライセ ンス Community EditionはGPLv3 それ以外は商用ライセンス 言語 Java OS Javaが動くOS UI WebUI, コマンドライン http://www.neo4j.org/ 18
19.
Matrixの登場人物をノード、関係をリレーショ ンタイプで表現しており、ノードとリレーショ ンにはそれぞれ属性を持たせることができる
Neo4jを調べていると よく見かける画像 19
20.
こんな比較データがありました 100万件のデータ(ユーザー)の中から、と あるユーザーの友達、さらに友達の友達…の
ような検索 depth Neo4j (sec) RDBMS (sec) 1 … … 2 0.01 0.016 3 0.168 30.267 4 1.359 1543.505 5 2.132 Not finished 20
21.
属性の一覧を見ること ができる ノードとリレーションの
関連を直感的な図として 見ることができる ← → 21
22.
Spatialなエクステンションもあります R-Treeインデックス Spatial
Query Contain, Cross, Intersect, Overlap, Touch, Within Importer Class (Java) OpenStreetMap(.osm) Shapefile GraphDatabaseServicedb= new GraphDatabaseFactory() .newEmbeddedDatabase("D:/neo4j_OSM"); ShapefileImporterimporter = new ShapefileImporter(db); importer.importFile("tokyo_highway.shp", "layer_roads"); db.shutdown(); 22
23.
OSM道路データ(みなとみらい付近) 23
24.
Dijkstra、A*が実装されており、すぐに使える これら以外にもあります データを準備
1.OpenStreetMapのデータを投入 •CloudMadeから東京のosm.bz2データをダウンロード 2.osm2poでPostGIS用SQLファイルを作成してロード 3.ここまででエッジのテーブルは出来るがノードのテーブルがない ので自分で作成 •エッジテーブルの緯度・経度からPointのGeometryを作ってインデック スを作成しておく 4.エッジテーブルからNeo4jのネットワークデータを作成 •PostGISからNeo4jのデータ作成処理は自前で実装 ルーティング 24
25.
PostGISとNeo4jのハイブリッド Neo4jはEmbeddedモードで使用 ルーティング
25
26.
まとめ NoSQLデータベースはその強みを活かし、リレーショ ナルデータベースを補完できる
大量データ スキーマフリーな柔軟性 ジオな機能はPostGISと比較すると少ない シンプルな"位置情報サービス"ならそれで十分 用途特化型のNoSQLデータベースが今後もジオな機能 と共に進化していけば、解決できるようになる問題や新 しいサービスが生まれる可能性 26
27.
ご清聴ありがとうございました。 27
Download now