Submit Search
Postgre sqlから見るnosql
•
17 likes
•
7,546 views
Soudai Sone
Follow
MyNA・JPUG合同DB勉強会 in 東京の登壇資料です。 https://dbstudychugoku.github.io/events/tokyo-001.html
Read less
Read more
1 of 70
Download now
Downloaded 19 times
More Related Content
Postgre sqlから見るnosql
1.
PostgreSQLから見るNoSQL MyNA・JPUG 合同DB勉強会 in 東京
2.
What is it? RDBの限界を感じた事ありませんか?
3.
What is it? PostgreSQLは新しい選択肢を用意します
4.
What is it? 外部データラッパ (Foreign
Data Wrapper)
5.
What is it? PostgreSQLはRDBの外の世界と繋がる
6.
What is it? FDWの 使い方と作り方 をご紹介します
7.
What is it? 内部実装や細かい仕様 の話は今日はしません
8.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
9.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
10.
自己紹介 名前:曽根 壮大(そね たけとも) 年齢:30歳(三人の子供がいます) 職業:Webエンジニア 所属:日本PostgreSQLユーザ会 中国支部 支部長 技術的にはLL系言語とかRDBが好きです
11.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
12.
FDWとは 外部テーブルを作成するための機能 (外部のデータをtableにする)
13.
FDWとは 外部データにテーブルと同様に SQL文でアクセスできる
14.
FDWとは • WHEREやORDER BYが使える •
GROUP BYなどの集合関数も使える • JOINなど、他tableと関連付け出来る • 更新や削除も出来る(ただし9.3から)
15.
FDWとは 外部データ ↓ DB、CSV、JSON、WebAPIなんでも良い
16.
FDWとは PostgreSQL to PostgreSQL
17.
FDWとは MySQL to PostgreSQL
18.
FDWとは MongoDB to PostgreSQL
19.
FDWとは Git to PostgreSQL
20.
SQL Databases Wrappers •
postgres_fdw • oracle_fdw • mysql_fdw • odbc_fdw • jdbc_fdw
21.
NoSQL Databases Wrappers •
couchdb_fdw • MonetDB FDW • mongo_fdw • redis_fdw • Neo4j fdw • Tycoon FDW
22.
Others • git_fdw • ldap_fdw •
IMAP_fdw • s3_fdw • www_fdw • OS_fdw
23.
FDWとは その他に既に多くの実装がある
24.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
25.
SQL Databases Wrappers •
postgres_fdw • oracle_fdw • mysql_fdw • odbc_fdw • jdbc_fdw
26.
FDWを使う MySQLPostgreSQL
27.
FDWを使う MySQLPostgreSQL TABLE
28.
FDWを使う EXTENSION MySQLPostgreSQL TABLE
29.
FDWを使う EXTENSION MySQLPostgreSQL TABLE mysql_fdwをインストールする
30.
FDWを使う server EXTENSION USER MAPPING MySQLPostgreSQL TABLE
31.
FDWを使う server EXTENSION USER MAPPING MySQLPostgreSQL TABLE MySQLの接続先を設定する MySQLの接続ユーザを設定する
32.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE
33.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE PostgreSQLの外部tableを作成する
34.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client
35.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client SQLで問い合わせ
36.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client SQLで問い合わせ 外部tableにアクセス
37.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client アクセス先を確認
38.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client MySQLにクエリを投げる
39.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client 実行結果を取得
40.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client 実行結果を表示
41.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client
42.
FDWを使う 百聞は一見(デモ)し如かず
43.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
44.
FDWを使う server FOREIGN TABLE EXTENSION USER MAPPING MySQLPostgreSQL TABLE Client ここを作る
45.
FDWを作る 現時点では ほんの少しの元気と勇気と PostgreSQLの内部構造に関する知識 がある程度必要です。 FDW超詳しい人
46.
FDWを作る なんか出来そう!!
47.
FDWを作る 1週間後…
48.
FDWを作る 圧倒的挫折…
49.
FDWを作る 出来る人の簡単
50.
FDWを作る 出来る人の簡単 ↓ 凡人の超えられない壁
51.
FDWを作る それなりの覚悟とちゃんとした PostgreSQLとCの知識が必要
52.
FDWを作る でも大丈夫
53.
FDWを作る 簡単にPythonで作る方法がある
54.
FDWを作る Multicorn
55.
Multicorn FDWを Pythonで実装する ためのLibrary
56.
Multicorn 案ずるより産むが易し (作ってみたのでデモ)
57.
あじぇんだ 1 自己紹介 2 外部データラッパーとは 3 外部データラッパーを使う 4 外部データラッパーを作る 5 まとめ
58.
まとめ PostgreSQLから外の世界に繋げる
59.
まとめ 他DBと結合、集約関数が使える
60.
まとめ 外部tableはRDB、NoSQL問わない
61.
まとめ FDWは既に多くの実装がある (車輪の再発明が要らない)
62.
まとめ しかし速くは無い (オーバヘッドはそれなりにある)
63.
まとめ FDWは作れる ↓ ガッツリ作る場合はC サクッと作る場合はPython
64.
まとめ 多様性は善
65.
まとめ PostgreSQLは多様性を受け入れる
66.
まとめ PostgreSQLは多様性を受け入れる
67.
参考資料 ・公式PostgreSQL Wiki https://wiki.postgresql.org/wiki/Foreign_data_wrappers ・PGXN(PostgreSQL Extension
Network) http://pgxn.org/ ・公式ドキュメント(日本語) https://www.postgresql.jp/document/9.4/html/postgres-fdw.html
68.
FDWにおける銀の弾丸 花田さん(@s87)をWatchする
69.
FDWにおける銀の弾丸 花田さん(@s87)をWatchする ↓ 今日の会場に潜んでるらしい
70.
ご静聴ありがとうございました。
Download