Enviar búsqueda
Cargar
PostgreSQLによるデータ分析ことはじめ
•
9 recomendaciones
•
17,862 vistas
Ohyama Masanori
Seguir
pgconf.asia 2016 チュートリアルの資料です。
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 79
Descargar ahora
Descargar para leer sin conexión
Recomendados
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
Recomendados
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
株式会社MonotaRO Tech Team
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
Satoshi Kitajima
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
NTT DATA OSS Professional Services
Más contenido relacionado
La actualidad más candente
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
株式会社MonotaRO Tech Team
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
La actualidad más candente
(20)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
Similar a PostgreSQLによるデータ分析ことはじめ
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
Satoshi Kitajima
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
NTT DATA OSS Professional Services
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
Insight Technology, Inc.
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
NTT DATA OSS Professional Services
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
Daichi Egawa
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
NTT DATA OSS Professional Services
Spark SQL - The internal -
Spark SQL - The internal -
NTT DATA OSS Professional Services
DeNAでのVertica運用
DeNAでのVertica運用
Shota Suzuki
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
DataWorks Summit
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
Kazunori Sato
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
NTT DATA OSS Professional Services
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
Yasuyuki Sugai
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Takuya Iwatsuka
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
Insight Technology, Inc.
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
【JAWS UG 山形】ランサーズでのAWS活用事例
【JAWS UG 山形】ランサーズでのAWS活用事例
Yuki Kanazawa
Similar a PostgreSQLによるデータ分析ことはじめ
(20)
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
Spark SQL - The internal -
Spark SQL - The internal -
DeNAでのVertica運用
DeNAでのVertica運用
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
【JAWS UG 山形】ランサーズでのAWS活用事例
【JAWS UG 山形】ランサーズでのAWS活用事例
Más de Ohyama Masanori
Multi Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on Kubernetes
Ohyama Masanori
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
PostgreSQL Security. How Do We Think? at PGCon 2017
PostgreSQL Security. How Do We Think? at PGCon 2017
Ohyama Masanori
PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?
Ohyama Masanori
Database Security for PCI DSS
Database Security for PCI DSS
Ohyama Masanori
PostgreSQL 9.5 CPU Read Scalability
PostgreSQL 9.5 CPU Read Scalability
Ohyama Masanori
Más de Ohyama Masanori
(6)
Multi Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on Kubernetes
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
PostgreSQL Security. How Do We Think? at PGCon 2017
PostgreSQL Security. How Do We Think? at PGCon 2017
PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?
Database Security for PCI DSS
Database Security for PCI DSS
PostgreSQL 9.5 CPU Read Scalability
PostgreSQL 9.5 CPU Read Scalability
PostgreSQLによるデータ分析ことはじめ
1.
Copyright©2016 NTT corp.
All Rights Reserved. PostgreSQLによるデータ分析 ことはじめ 2016/12/03 PGConf.asia 2016 チュートリアル NTT OSSセンタ DBMS担当 ⼤⼭ 真実
2.
2Copyright©2016 NTT corp.
All Rights Reserved. ⾃⼰紹介 ⼤⼭ 真実 おおやま まさのり 2012-2015 NTTデータ OSSプロフェッショナルサービス Hadoopの検証・サポート 2015-現在 NTT OSSセンタ DBMS担当 PostgreSQLの検証・サポート 注)データ分析の専⾨家ではありません! @ooyamams1987
3.
3Copyright©2016 NTT corp.
All Rights Reserved. • PostgreSQLに関して、データ分析という観点で幅広 いトピックを扱います。 • 時間の制約上⼀つ⼀つを深く触れることはできません。 • この講義がこれから皆様がPostgreSQLを⼗⼆分に使 いこなしていく上での⼊り⼝になれば幸いです。 • もし後⽇ご質問があれば、JPUGのSlackにてご質問く ださい。 はじめに ⽇本PostgreSQLユーザ会公式(?)Slack https://postgresql-jp.slack.com/
4.
4Copyright©2016 NTT corp.
All Rights Reserved. はじめに PostgreSQLはデータ分析にも適したデータベースである! l ⾼機能なSQL l ⼤量データに対応するための機能 • 9.6 からは念願のパラレルクエリが導⼊! l 豊富な関連ツール l 他のDBとの連携機能 OSSだから今すぐ始められる!
5.
5Copyright©2016 NTT corp.
All Rights Reserved. はじめに 今時データ分析と⾔えば、HadoopとかSparkでは? 本当に“ビッグ”なデータを分析したいのであればその通り。 ・画像、映像 ・IoT機器からのセンサーデータ ・⼤量のWebアクセスログ などなど。
6.
6Copyright©2016 NTT corp.
All Rights Reserved. はじめに Q. 分析したいデータはHadoopを使わなきゃいけないほどのサイズ? 企業に存在するデータはそんなに⼤きくない(かも?) 平成27年版 情報通信⽩書 図表5-4-3-9 各データを分析に活⽤している企業等の割合 https://data.cityofnewyork.us/view/gn7m-em8n 2014 Yellow Taxi Trip Data NYの1年分のタクシーの 搭乗ログでも30GBほど。
7.
7Copyright©2016 NTT corp.
All Rights Reserved. はじめに データ活⽤の効果があった企業の特徴として次の特徴が挙げられている 「平成27年版情報通信⽩書」によると… 平成27年版 情報通信⽩書 図表 5-4-3-18 データ活⽤の効果達成率
8.
8Copyright©2016 NTT corp.
All Rights Reserved. はじめに 1.データ分析の専⾨家が⾼度なツールを使って分析している 平成27年版 情報通信⽩書 図表 5-4-3-23 分析⼿法、分析⼈材による効果が得られた割合の⽐較
9.
9Copyright©2016 NTT corp.
All Rights Reserved. はじめに 2.短い間隔でデータ分析を⾏っている 平成27年版 情報通信⽩書 図表 5-4-3-20 効果有無による⽐較(分析頻度)
10.
10Copyright©2016 NTT corp.
All Rights Reserved. はじめに 3.様々な種類のデータを組み合わせてデータ分析を⾏っている 平成27年版 情報通信⽩書 図表 5-4-3-21 効果有無による⽐較 (分析に活⽤するデータの種類)
11.
11Copyright©2016 NTT corp.
All Rights Reserved. はじめに データ分析の専⾨家が、短い間隔で、様々なデータを組み合わせて ⾼度な分析を⾏うことが⼤事! →PostgreSQLは良い選択肢です! 1.データ分析の専⾨家が⾼度なツールを使って分析している 2.短い間隔でデータ分析を⾏っている 3.様々な種類のデータを組み合わせてデータ分析を⾏っている データ活⽤の効果があった企業の特徴 なぜ?
12.
12Copyright©2016 NTT corp.
All Rights Reserved. はじめに PostgreSQLでデータ分析を⾏うときのポイント 1.⾼機能なSQLを使いこなせ! 2.⼤容量データへの対応はこうだ! 3.他のデータベースと連携させろ! 4.豊富なツールを使いこなせ!
13.
13Copyright©2016 NTT corp.
All Rights Reserved. 1.⾼機能なSQLを使いこなせ!
14.
14Copyright©2016 NTT corp.
All Rights Reserved. ⾼機能なSQLを使いこなせ! 1. 統計・集約関数 2. ウィンドウ関数 3. CTE (With句) 省略! きっとそーだいさんが話してくれるはず!
15.
15Copyright©2016 NTT corp.
All Rights Reserved. ⾼機能なSQLを使いこなせ!
16.
16Copyright©2016 NTT corp.
All Rights Reserved. ⾼機能なSQLを使いこなせ! 3.CTE (With句) SELECT ... FROM (SELECT ... FROM t1 JOIN (SELECT ... FROM ...) a ON (...) ) b JOIN (SELECT ... FROM ...) c ON (...) データ分析で使いがちな複雑な ⼊れ⼦構造のSQLでもわかりやすく 記述可能 WITH a AS ( SELECT ... FROM ... ), b AS ( SELECT ... FROM t1 JOIN a ON (...) ), c AS ( SELECT ... FROM ... ) SELECT ... FROM b JOIN c ON ... CTEなし CTEあり t1 a (select...) b t1 × a c (select...) result
17.
17Copyright©2016 NTT corp.
All Rights Reserved. 2.⼤容量データへの対応はこうだ!
18.
18Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1. パラレルクエリ 2. パーティショニング 3. BRINインデックス 4. ストリーミングレプリケーション
19.
19Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1. パラレルクエリ 2. パーティショニング 3. BRINインデックス 4. ストリーミングレプリケーション
20.
20Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1.パラレルクエリ 澤⽥雅彦「PostgreSQL 9.6 新機能紹介」 http://www.slideshare.net/masahikosa wada98/postgresql-96-69228794
21.
21Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1.パラレルクエリ 澤⽥雅彦「PostgreSQL 9.6 新機能紹介」 http://www.slideshare.net/masahikosa wada98/postgresql-96-69228794
22.
22Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 13Copyright©2016 NTT corp. All Rights Reserved. • HPE ProLiant DL580 GEN9 • Intel Xeon E7-8890 v4 2.20GHz (4P/192 core (96-HT)) • 2TB RAM • Workload Accelerator(PCIe SSD) • Read : 715,000 IOPS, 3.0GB/s • Write : 95,000 IOPS, 2.5GB/s Evaluation on a great machine Supported by Thank you! 1.パラレルクエリ
23.
23Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 17Copyright©2016 NTT corp. All Rights Reserved. 0 50 100 150 200 250 300 350 400 0 20 40 60 80 100 120 140 160 180 200 ExecutionTime(s) Parallel Degree Parallel Query on 192 cores machine • All table data(400GB) is on the shared buffer; no disk access. • Simple aggregation, count(*). • Parallel query makes aggregation 19x faster!! 385 sec 21 sec 1.パラレルクエリ
24.
24Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 19Copyright©2016 NTT corp. All Rights Reserved. 3,006 3,966 8,272 40 6,000 28 177 1,029 2,111 0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 SF1 SF10 SF50 SF100 TotalExecutionTime(sec) Hive PostgreSQL 9.1.3 PostgreSQL 9.6.0 • Compare DBT-3 benchmark result with Hive (SF1 - SF100) • Hive flushes data to disk whenever finished each job, which could be overhead. • Now in 2016 we should use Hive on Tez. • On the other hand, PostgreSQL has the all table data in shared buffer. • Parallel execution in memory bring us much performance improvement. SF1 to SF100 - CDH4.1.2 - 24 cores (12-HT) - 32G RAM - 2TB SATA - PostgresSQL 9.1.3 - 8 cores (4-HT) - 16G RAM - SATA 1.パラレルクエリ
25.
25Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1. パラレルクエリ 2. パーティショニング 3. BRINインデックス 4. ストリーミングレプリケーション
26.
26Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング PGECons「2013年度活動成果報告」 https://www.pgecons.org/wp- content/uploads/2014/05/ca3a0b2d4d 00c62d43aa367594a72589.pdf
27.
27Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング https://www.pgecons.org/wp-content/uploads/2014/05/ca3a0b2d4d00c62d43aa367594a72589.pdf PGECons「2013年度活動成果報告」 https://www.pgecons.org/wp- content/uploads/2014/05/ca3a0b2d4d 00c62d43aa367594a72589.pdf
28.
28Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング メリット デメリット • (パーティション単位での)参照性能向上 • テーブルの保守性向上(⼀部の場⾯において) • INSERT性能の低下、ON CONFLICT句との併⽤時の制約 • 別のパーティションに移るようなUPDATEにはUPDATE⽤の トリガを別途する必要あり • プランニングコスト上昇 (パーティション数は100までを推奨) • 複雑なクエリだと不適切なプランになる可能性がある (チェック制約は単純なものにすることを推奨) 詳細はPostgreSQLの公式マニュアルを参照してください https://www.postgresql.jp/document/9.5/html/ddl-partitioning.html
29.
29Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング 図 6.1: パーティション表作成フロー パーティションの作成はちょっと大変 PGECons「2015年度活動成果報告」 https://www.pgecons.org/wp- content/uploads/PGECons/2015/WG3/ PGECons_2015_WG3_DBTools.pdf
30.
30Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング パーティショニングを簡単に操作するためのツール • pg_part https://github.com/uptimejp/pg_part • pg_partman https://github.com/keithf4/pg_partman • pg_pathman https://github.com/postgrespro/pg_pathman pg_part, pg_partman に関してはPGEConsに詳細な解説資料あり。 • 2015年度WG3活動報告書(データベースツール編) https://www.pgecons.org/wp- content/uploads/PGECons/2015/WG3/PGECons_2015_WG3_DBTools.pdf • 付録_パーティションツール https://www.pgecons.org/wp- content/uploads/PGECons/2015/WG3/PGECons_2015_WG3_DBTools_appendix_chapter6.pdf
31.
31Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング pg_pathman Pg_pathman UPDATE and DELETE Support and Benchmark Alexander Korotkov「Pg_pathman UPDATE and DELETE Support and Benchmark」 http://akorotkov.github.io/blog/2016/0 3/18/pg_pathman-update-delete- benchmark/
32.
32Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 2.パーティショニング PostgreSQL本体機能としてのパーティション機能は NTT OSSセンタ の Amit Langote が全⼒開発中! PostgreSQL 10 をお楽しみに!
33.
33Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1. パラレルクエリ 2. パーティショニング 3. BRINインデックス 4. ストリーミングレプリケーション
34.
34Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 3.BRINインデックス 澤⽥雅彦「 PostgreSQL 9.5 新機能紹介」 http://www.slideshare.net/hadoopxnttd ata/postgresql-95-new-features-nttdata
35.
35Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 3.BRINインデックス http://www.slideshare.net/hadoopxnttdata/postgresql-95-new-features-nttdata 澤⽥雅彦「 PostgreSQL 9.5 新機能紹介」 http://www.slideshare.net/hadoopxnttd ata/postgresql-95-new-features-nttdata
36.
36Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 3.BRINインデックス http://www.slideshare.net/hadoopxnttdata/postgresql-95-new-features-nttdata 澤⽥雅彦「 PostgreSQL 9.5 新機能紹介」 http://www.slideshare.net/hadoopxnttd ata/postgresql-95-new-features-nttdata
37.
37Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 3.BRINインデックス 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 0 5000 10000 15000 20000 BRIN vs. BTREE Bitmap Index Scan on 100M rows (table sorted) BTREE BRIN (128) BRIN (4) fraction of table matching the condition duration[miliseconds] Tomas Vondra「PostgreSQL9.5,9.6,次期バージョンに おける性能向上」http://www.pgconf.asia/JP/wp- content/uploads/2016/12/performance-9.5-and- beyond.pdf
38.
38Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 3.BRINインデックス btree BRIN (1) BRIN (4) BRIN (128) 0 500 1000 1500 2000 2500 2142 11 2.8 0.13 BRIN vs. BTREE Index size on 100M rows (sorted) size(MB) http://www.pgconf.asia/JP/wp- content/uploads/2016/12/performance-9.5-and-beyond.pdf Tomas Vondra「PostgreSQL9.5,9.6,次期バージョンに おける性能向上」http://www.pgconf.asia/JP/wp- content/uploads/2016/12/performance-9.5-and- beyond.pdf
39.
39Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 1. パラレルクエリ 2. パーティショニング 3. BRINインデックス 4. ストリーミングレプリケーション
40.
40Copyright©2016 NTT corp.
All Rights Reserved. Copyright © NTT COMWARE CORPORATION 2015 Copyright © 2015 NTT corp. All Rights Reserved. 開発プロジェクトの最大のミッション 最大のミッション、それは「性能の担保」 大量データの計算処理を確実に時間内で完了しつつ、処理時間の安定化も図れ 大規模な分析処理を行いつつ、関連システムからのオンライン処理をさばけ 6 DBMS • 業務データ • 過去履歴 • ...など 仮想化基盤 分析業務利用者 関連システム群 オペレータ 夜間帯 バッチ処理 日中帯 オンライン処理 情報分析処理 時間帯 処理内容 夜... バ... オンライン処理 AP 情報分析処理 AP バッチ処理AP ⼤容量データへの対応はこうだ! 4.ストリーミングレプリケーション 朝倉 佑貴,⼭⽥ 達朗「料⾦系基幹システム へのPostgreSQL導⼊事例」 https://www.pgecons.org/wp- content/uploads/2015/09/PGECons3_N TT_20150911.pdf
41.
41Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 4.ストリーミングレプリケーション https://www.pgecons.org/wp-content/uploads/2015/09/PGECons3_NTT_20150911.pdf
42.
42Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! https://www.pgecons.org/wp-content/uploads/2015/09/PGECons3_NTT_20150911.pdf Copyright © NTT COMWARE CORPORATION 2015 Copyright © 2015 NTT corp. All Rights Reserved. 性能特性の異なる業務が互いに影響しないよう設計せよ 12 常に最新のデータに対して大規模分析処理を行いたい でも、オンライン処理の性能に影響を与えたくない ストリーミングレプリケーションで分析処理用のリードレプリカを構築 情報分析処理 AP オンライン処理 AP バッチ処理AP マスタ リード レプリカ レプリケーション DBが2つに分かれ 分析処理が オンライン処理に 影響しない DBが2つに分かれ 分析処理が オンライン処理に 影響しない レプリケーションで 最新データに対する 分析処理が可能 レプリケーション処理 によって、分析処理の SQLが実行中に中断 されないよう設定(*) する必要あり レプリカ側で テーブルへのデータ反映処理が 全く進まなくなった!! NTT OSSセンタの助力もあり 無事解決 対処策は後半で 4.ストリーミングレプリケーション
43.
43Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! Copyright © NTT COMWARE CORPORATION 2015 Copyright © 2015 NTT corp. All Rights Reserved. WAL適用と競合する参照クエリとは何か? ◆競合の典型的な例 クエリ実行中に行削除が行われた場合 40 リード レプリカ ①SELECT * FROM HOGE; ②DELETE FROM HOGE; VACUUM HOGE; ⑤WAL適用 参照中のHOGEテーブル に対し、WALはデータ 削除、と記載。 1つの対象に操作が2つ。 → これが競合 ③WAL転送 内容はHOGEテーブルの行削除(物理削除) 競合発生の場合、 WAL適用が優先されるため、 実行中の参照クエリは中断される。 競合は回避できないか? マスタ ④SELECTのクエリを中断 4.ストリーミングレプリケーション 朝倉 佑貴,⼭⽥ 達朗「料⾦系基幹システム へのPostgreSQL導⼊事例」 https://www.pgecons.org/wp- content/uploads/2015/09/PGECons3_N TT_20150911.pdf
44.
44Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! Copyright © NTT COMWARE CORPORATION 2015 Copyright © 2015 NTT corp. All Rights Reserved. フィードバックのパラメータを追加し解決へ! ◆本案件では以下のパラメータを組み合わせて採用 44 max_standby_streaming_delay=30秒 → -1 WALが到着してから何秒後にWAL適用を開始するかを設定する。 -1 : クエリ完了までWAL適用は行わない リードレプリカ側はクエリ中断を回避しつつ、 データ反映処理が行われるようになり、課題は解決 hot_standby_feedback=OFF → ON トランザクションIDをマスタに伝え、参照する可能性がある行の削除を待ってもらう。 ON : 有効 追加 4.ストリーミングレプリケーション ※マスタのテーブルの肥⼤化に注意 朝倉 佑貴,⼭⽥ 達朗「料⾦系基幹システム へのPostgreSQL導⼊事例」 https://www.pgecons.org/wp- content/uploads/2015/09/PGECons3_N TT_20150911.pdf
45.
45Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 37Copyright©2016 NTT corp. All Rights Reserved. マルチ同期レプリケーション マスタ スタンバイ A スタンバイ B スタンバイ C 同期 レプリケーション 同期 レプリケーション ⾮同期 レプリケーション • 複数のスタンバイサーバに対して同期レプリケーションを使用可能 • より高可用な構成を組むことが可能に スタンバイAとスタンバイBに 同期レプリケーションを使⽤ 4.ストリーミングレプリケーション PostgreSQL 9.6 ではレプリケーション機能がさらに進化! 澤⽥雅彦「PostgreSQL 9.6 新機能紹介」 http://www.slideshare.net/masahikosa wada98/postgresql-96-69228794
46.
46Copyright©2016 NTT corp.
All Rights Reserved. ⼤容量データへの対応はこうだ! 4.ストリーミングレプリケーション Quorum Commit マルチ同期レプリケーション機能は NTT OSSセンタ の 澤⽥ 雅彦 が全⼒開発中! PostgreSQL 10 をお楽しみに!
47.
47Copyright©2016 NTT corp.
All Rights Reserved. 3.他のデータベースと連携させろ!
48.
48Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! http://www.slideshare.net/babystarmonja/postgre-sql-11764943?from_action=save ・FDW - Foreign data wrappers PostgreSQLの外部にあるデータに普通のSELECT⽂でアクセスするためのしくみ 花⽥ 茂「外部データラッパによる PostgreSQL の拡張」 http://www.slideshare.net/babystarmo nja/postgre-sql- 11764943?from_action=save
49.
49Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! ・FDW - Foreign data wrappers Postgres_fdw file_fdw については、PostgreSQL本体の追加モジュール(contrib)として 提供されているのですぐに利⽤可能。 # create extension postgres_fdw; CREATE EXTENSION ※postgres_fdwではCREATE FOREIGN DATA WRAPPER は⾃動的に実⾏される # ¥dew 外部データラッパーの一覧 名前 | 所有者 | ハンドラー | バリデータ --------------+----------+----------------------+------------------------ postgres_fdw | postgres | postgres_fdw_handler | postgres_fdw_validator
50.
50Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! ・FDW - Foreign data wrappers ローカルPostgreSQL リモートPostgreSQL リモートMySQL PostgreSQL⽤外部データラッパ # CREATE EXTENSION postgres_fdw; (CREATE FOREIGN DATA WRAPPER …) MySQL⽤ 外部データ ラッパ 外部サーバ CREATE SERVER … リモートサーバのホスト名、DB名、ポート番号など ユーザーマッピング CREATE USER MAPPING … リモートサーバで使⽤する ユーザ名、パスワードなど 外部テーブル CREATE FOREIGN TABLE … アクセスしたいリモートサーバの テーブルを定義
51.
51Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! Demo various pushdown features etc. ====================================================================== 1. Select 句ののプッシュダウン select * from ft1; ローカルサーバから外部テーブルにSELECT 2. Where 句のプッシュダウン select * from ft1 where val < 10; -- WHERE clause pushdown 3. DML プッシュダウン delete from ft1 where val % 2 = 0; -- DML pushdown update ft1 set val2 = val + 2; 4. Sortプッシュダウン select * from ft1 order by val; PGCon 2016 で⾏われた Ashutosh Bapat のチュートリアル https://www.pgcon.org/2016/schedule/attachments/419_pgfdw_demo_script FDWの設定⼿順は上記URL、または、PostgreSQLの公式マニュアルを参照。
52.
52Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! 6. Joinプッシュダウン select * from ft1 join ft2 on (ft1.val = ft2.val) where ft1.val2 < 15; ※ローカルのテーブルとリモートのテーブルのJoinも可能 7. Analyze 実行 analyze ft2; select * from pg_statistic where starelid = 'ft2'::regclass; ※Analyze対象の全データをローカルPostgreSQLに転送することに注意 8. View、Materialized Viewの作製 create view ft_join as select ft1.val ft1_val, ft1.val2 ft1_val2, ft2.val2 ft2_val2 from ft1 left join ft2 on (ft1.val = ft2.val); create materialized view mv_ft_join as select ft1.val ft1_val, ft1.val2 ft1_val2, ft2.val2 ft2_val2 from ft1 left join ft2 on (ft1.val = ft2.val); select * from ft_join; select * from mv_ft_join; PGCon 2016 で⾏われた Ashutosh Bapat のpostgres_fdwチュートリアル https://www.pgcon.org/2016/schedule/attachments/419_pgfdw_demo_script
53.
53Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! 分析に必要なデータはRDBの中にある場合が多い。 →必要なデータを保持しているDBに透過的に直接アクセス! 基幹DB データソース SQL ユーザー 基幹DB 基幹DB BIツール PostgreSQL FDW FDW FDW
54.
54Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! http://www.slideshare.net/masahikosawada98/postgresql-96-69228794 澤⽥雅彦「PostgreSQL 9.6 新機能紹介」 http://www.slideshare.net/masahikosa wada98/postgresql-96-69228794
55.
55Copyright©2016 NTT corp.
All Rights Reserved. 他のデータベースと連携させろ! ・FDW - Foreign data wrappers FDWは NTT OSSセンタ の 藤⽥ 悦郎 堀⼝ 恭太郎 ⼭⽥ 達郎 も全⼒開発中! PostgreSQL 10 をお楽しみに!
56.
56Copyright©2016 NTT corp.
All Rights Reserved. 4.豊富なツールを使いこなせ!
57.
57Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! ここではデータ分析の観点で以下のツールをご紹介する。 1. Apache MADlib (Incubating) 2. その他 1. Orange 2. PostGIS 3. ⽇本語全⽂検索ツール PostgreSQLをより便利にする多様なツールが 様々な組織・個⼈によって公開されている。 参考:NTT OSSセンタ が公開しているPostgreSQL関連のOSSはこちら NTT OSS Center DBMS Development and Support Team https://github.com/ossc-db https://sourceforge.net/projects/pgstatsinfo/
58.
58Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) http://madlib.incubator.apache.org/
59.
59Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) ・オープンソースソフトウェア(2-clause BSD license) ・豊富な統計・機械学習ライブラリをUDF(※)で簡単に利⽤可能 https://cwiki.apache.org/confluence/display/MADLIB/Architecture ※UDF:ユーザ定義関数 https://www.postgresql.jp/document/9.5/html/xfunc.html http://pgsqldeepdive.blogspot.jp/2016/01/plpython-aggregation-function.html
60.
60Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) http://madlib.incubator.apache.org/community-artifacts/Apache- MADlib-user-survey-results-Oct-2016.pdf
61.
61Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! http://madlib.incubator.apache.org/community-artifacts/Apache- MADlib-user-survey-results-Oct-2016.pdf 11 Q5 - Frequently Used Algorithms 1.Apache MADlib (Incubating)
62.
62Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) インストールは省略! ・PostgreSQL 9.6 へのインストールはソースコードからの ビルドがお勧め。(RPMからはインストールできませんでした。私の環境起因?) ・PostgreSQL 9.5 へのインストールはRPMがお勧め。 https://cwiki.apache.org/confluence/display/MADLIB/Installation+Guide Installation Guide https://dist.apache.org/repos/dist/release/incubator/madlib/1.9.1-incubating/ # select madlib.version(); version -------- MADlib version: 1.10.0-dev, git revision: rel/v1.9.1-8-g82e56a4, cmake configuration time: ...
63.
63Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例1:相関係数 # select * from pearson_test; ItemID | User1 | User2 | User3 | User4 | User5 --------+-------+-------+-------+-------+------- 101 | 5.0 | 2.0 | 2.5 | 5.0 | 4.0 102 | 3.0 | 4.4 | 2.0 | 4.0 | 3.0 103 | 2.5 | 5.0 | 2.0 | 3.0 | 2.0 104 | 4.0 | 1.0 | 4.0 | 4.5 | 4.0 105 | 2.5 | 5.0 | 2.5 | 2.0 | 3.5 106 | 2.5 | 4.5 | 3.0 | 4.0 | 5.0 107 | 2.5 | 1.0 | 5.0 | 3.5 | 2.0 # select corr("User1","User4") from pearson_test; corr ------------------- 0.769711105935245 例11. PostgreSQL本体の相関係数関数を使った場合
64.
64Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例1:相関係数 # select madlib.correlation( 'pearson_test’,'pearson_test_output’ ,'"User1","User2","User3","User4","User5"'); # select * from pearson_test_output; column_position | variable | User1 | User2 | User3 | User4 | User5 -----------------+----------+---------------------+--------------------+-------------------+-------------------+------- 1 | User1 | 1 | | | | 2 | User2 | -0.546929577338552 | 1 | | | 3 | User3 | -0.0377195470232912 | -0.79465632134891 | 1 | | 4 | User4 | 0.769711105935245 | -0.582961865158075 | 0.149966529063513 | 1 | 5 | User5 | 0.364518243177598 | 0.0260498161861346 | -0.10096620601608 | 0.410984968442742 | 1 例12. MADlibの相関係数関数を使った場合 select madlib.correlation( ‘インプットテーブル名’ ,‘アウトプットテーブル名’ ,’”相関を求めたいカラム名”, “…”, “…”ʼ);
65.
65Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例2:サポートベクターマシン(SVM) Ver.1.9.0 からの新機能! • サポートベクターマシンとは? http://qiita.com/pesuchin/items/c55f40b69aa1aec2bd19 Ø 教師あり学習を⽤いるパター ン認識モデルの⼀つ。 Ø 分類や回帰へ適⽤。 Ø 現在知られている⼿法の中で も認識性能が優れた学習モデ ルの⼀つ。 pesuchin「機械学習⼊⾨〜ハードマー ジンSVM編〜」 http://qiita.com/pesuchin/items/c5 5f40b69aa1aec2bd19
66.
66Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例2:サポートベクターマシン(SVM) • カーネルトリック Ø カーネル関数を⽤いてパターンを有限もしくは無 限次元の特徴空間へ写像し、特徴空間上で線形分 離を⾏う pesuchin「機械学習⼊⾨〜ハードマー ジンSVM編〜」 http://qiita.com/pesuchin/items/c5 5f40b69aa1aec2bd19
67.
67Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例2:サポートベクターマシン(SVM) • カーネルトリックのイメージ 「SVM with polynomial kernel visualization」 https://www.youtube.com/watch?v=3liCbRZPrZA
68.
68Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例2:サポートベクターマシン(SVM) 例21. まずはマニュアルに記載の例を試してみる id tax bedroom bath price size lot 1 590 2 1.0 50000 770 22100 2 1050 3 2.0 85000 1410 12000 3 20 3 1.0 22500 1060 3500 4 870 2 2.0 90000 1300 17500 5 1320 3 2.0 133000 1500 30000 6 1350 2 1.0 90500 820 25700 7 2790 3 2.5 260000 2130 25000 8 680 2 1.0 142500 1170 22000 9 1840 3 2.0 160000 1500 19000 … … … … … … … houseテーブル https://madlib.incubator.apache.org/docs/latest/group__grp__svm.html • bedroom, bath , size など の情報から、price が 100,000 以下の物件かどう かを推測する。 • マニュアルではカーネルトリ ックを使わないもの、使った ものがそれぞれが例⽰されて いる。
69.
69Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) • リニアモデル作成(カーネル不使⽤) SELECT madlib.svm_classification('houses', 'houses_svm', 'price < 100000', 'ARRAY[1, tax, bath, size]'); • ガウスカーネルを使ったノンリニアモデル作成 SELECT madlib.svm_classification( 'houses', 'houses_svm_gaussian', 'price < 100000', 'ARRAY[1, tax, bath, size]', 'gaussian', 'n_components=10', '', 'init_stepsize=1, max_iter=200'); • 予測モデル作成
70.
70Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) • リニアモデルによる予測結果 select * from houses_pred; id | prediction | decision_function ----+------------+-------------------- 1 | t | 0.0938672144797545 2 | t | 0.134445050268981 3 | t | 1.90320546662703 ... • 作成したモデルを使って予測してみる • リニアモデルによる予測(元データを流⽤して実施) SELECT madlib.svm_predict('houses_svm', 'houses', 'id', 'houses_pred');
71.
71Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) • 予測結果の⽐較 SELECT *, price < 100000 AS target FROM houses JOIN houses_pred USING (id) ORDER BY id; id price prediction decision_function observed 1 50000 True 0.0938672144798 True 2 85000 True 0.134445050269 True 3 22500 True 1.90320546663 True 4 90000 True 0.34410006693 True 5 133000 False -0.314618105199 False 6 90500 False -1.53502545094 True 7 260000 False -2.5421155107 False 8 142500 True 0.608110606339 False 9 160000 False -1.49051126913 False … … … … … id price prediction decision_function observed 1 50000 True 2.42762512244 True 2 85000 True 1.76050726948 True 3 22500 True 1.14044931256 True 4 90000 True 1.10706143597 True 5 133000 False -1.26570595537 False 6 90500 True 1.33794522323 True 7 260000 False -1.0164054774 False 8 142500 False -1.09640506629 False 9 160000 False -1.92695648532 False … … … … … リニアモデルによる予測結果 ノンリニアモデルによる予測結果
72.
72Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) • AUC (Area under the curve) による識別性能の⽐較 select madlib.area_under_roc('houses_pred_roc', 'houses_pred_roc_output', 'prediction', 'observed'); area_under_roc 0.79464285714285714285500000000000000000000 • リニアモデル select madlib.area_under_roc('houses_pred_gaussian_roc', 'houses_pred_gaussian_roc_output', 'prediction', 'observed'); • ノンリニアモデル area_under_roc 1.00000000000000000000000000000000000000000
73.
73Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例22. : UC Irvine Machine Learning Repository - Adult Data Set http://archive.ics.uci.edu/ml/datasets/Adult • 1994年の国勢調査に基づくデータ • 性別、年齢、学歴、職種などの情報に加えて、所得が$50K/年を 超えているかいないかが記録されている • 属性情報からその⼈の所得が$50K/年を超えているかを予測する ためによく使われるデータセット 例2:サポートベクターマシン(SVM) SVMを使った試⾏錯誤の詳細は下記URLで! https://github.com/ooyamams/pgconf.asia_tutorial
74.
74Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 例22. : UC Irvine Machine Learning Repository - Adult Data Set http://archive.ics.uci.edu/ml/datasets/Adult 例2:サポートベクターマシン(SVM) SVMを使った試⾏錯誤の詳細は下記Githubで! https://github.com/ooyamams/pgconf.asia_tutorial/blo b/master/MADlib_test_SVM_adult.ipynb
75.
75Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 1.Apache MADlib (Incubating) 使ってみた感想 • UDFを⾃分で作成せずに、PostgreSQL内のデータに対して⾼度な分 析や機械学習ができるのは⼤変魅⼒的。 • ただし… Ø ⼩さいデータであれば、DBからロードして、ローカルPCにて PythonやらRやらで分析したほうが効率的であるのは確か。 (Pythonの機械学習系のライブラリの充実度は素晴らしい) Ø サポートベクターマシンを本格的に使うとなるとパラメーター チューニングが⼤変。グリットサーチやベイズ最適化などの ツール類がまだ存在しない(たぶん)なので追加されることを期 待。(クロスバリデーションはできる。)
76.
76Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! • GPL 3.0 • スロベニアのリュブリャナ⼤学バイオインフォマティクス研究所が中 ⼼となって開発 • AXLE PROJECT で開発が推進されたソフトウェアの⼀つ (Advanced Analytics for Extremely Large European Databases) 2.その他のツール http://orange.biolab.si/orange3/
77.
77Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! 2.その他のツール
78.
78Copyright©2016 NTT corp.
All Rights Reserved. 豊富なツールを使いこなせ! • PostGIS http://www.postgis.net/ Ø PostgreSQL データベースで地理空間情報を扱うための拡張 Ø ⽇本語による紹介記事 http://lets.postgresql.jp/documents/tutorial/PostGIS/1/ • ⽇本語全⽂検索ツール Ø pg_bigm http://pgbigm.osdn.jp/ Ø PGroonga https://pgroonga.github.io/ja/ pg_bigmの開発者である澤⽥雅彦による⽇本語全⽂検索の解説 http://www.slideshare.net/hadoopxnttdata/postgresqlpgbigm -mysqlpostgresql 2.その他のツール
79.
79Copyright©2016 NTT corp.
All Rights Reserved. 最後に改めて… データ分析の専⾨家が、短い間隔で、様々なデータを組み合わせて ⾼度な分析を⾏うことが⼤事! →PostgreSQLは良い選択肢です! 1.データ分析の専⾨家が⾼度なツールを使って分析している 2.短い間隔でデータ分析を⾏っている 3.様々な種類のデータを組み合わせてデータ分析を⾏っている データ活⽤の効果があった企業の特徴
Descargar ahora