Submit Search
Upload
NoSQLデータベースと位置情報
•
7 likes
•
17,651 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
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
Recommended
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
NTT DATA Technology & Innovation
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
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
NTT DATA Technology & Innovation
What's hot
(20)
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
DockerとPodmanの比較
DockerとPodmanの比較
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
DockerコンテナでGitを使う
DockerコンテナでGitを使う
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
イベント・ソーシングを知る
イベント・ソーシングを知る
地理分散DBについて
地理分散DBについて
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
大規模オンプレミス環境はGitOpsの夢を見るか(CI/CD Conference 2021 by CloudNative Days 発表資料)
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
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Platform - Japan
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Tomoharu ASAMI
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
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Recently uploaded
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Recently uploaded
(10)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
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