SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
知って得するWebで便利な
PostgreSQLの3つの機能
オープンソースカンファレンス2015@新潟
What is it?
データベースは何を基準に選んでますか?
What is it?
RDBを制する者は
データ層を制する
と言っても過言ではありません
What is it?
そして
PostgreSQLを使えば開発で楽をする
ことが出来ます
What is it?
今日はそんなPostgreSQLの
Tipsをご紹介します
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
自己紹介
名前:曽根 壮大(そね たけとも)
年齢:30歳(三人の子供がいます)
職業:Webエンジニア
所属:日本PostgreSQLユーザ会
   中国支部 支部長
  技術的にはLL系言語とかRDBが好きです
https://dbstudychugoku.github.io/
MySQL使いが知るべき
PostgreSQLとの違いと変わらない一つのこと
http://soudai1025.blogspot.jp/2015/08/mysql2postgresql.html
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
Window関数とマテビュー
Window関数とマテビュー
Window関数とマテビュー
素早く帳票を作る
Window関数とマテビュー
Window関数
Window関数とマテビュー
Window関数
ウィンドウ関数は現在の行に何らの
関係するテーブル行の一纏まり全般
の計算を行う。
商品名 売上 売上日
プログラマのためのSQL 4200 2015-08-01
"内部構造から学ぶ 3600 2015-08-30
ソフトウェアデザイン 1300 2015-08-02
SQL実践入門 2580 2015-08-03
理論から学ぶデータベース 3110 2015-08-04
SQL逆引き大全363の極意 2600 2015-08-30
プログラマのためのSQL 4200 2015-08-30
SQL実践入門 2580 2015-08-30
理論から学ぶデータベース 3110 2015-08-05
SQL実践入門 2580 2015-08-30
リーダブルコード 2592 2015-08-30
リーダブルコード 2592 2015-08-30
データベース・リファクタ 3000 2015-08-30
達人に学ぶDB設計 2800 2015-08-30
:
:
:
:
:
:
※実務では編は正規化するべき
Window関数とマテビュー
まずは日別に集計する
実際のSQL
SELECT
to_char(
sum(“売上"),'FM999,999,999'
) AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY “売上日" ORDER BY "売上日"
実際のSQL
SELECT
to_char(
sum(“売上"),'FM999,999,999'
) AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY “売上日" ORDER BY "売上日"
実際のSQL
SELECT
to_char(
sum(“売上"),'FM999,999,999'
) AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY “売上日" ORDER BY "売上日"
3桁区切りでカンマを入れる
日別売上 売上日
2,643,552 2015-08-01
2,650,368 2015-08-02
2,601,180 2015-08-03
2,598,392 2015-08-04
2,635,064 2015-08-05
2,650,852 2015-08-06
2,642,568 2015-08-07
2,613,876 2015-08-08
2,658,504 2015-08-09
2,637,376 2015-08-10
2,617,840 2015-08-11
2,596,896 2015-08-12
2,669,644 2015-08-13
2,623,568 2015-08-14
:
:
:
:
Window関数とマテビュー
前日との差分を出したい
Window関数とマテビュー
前日との差分を出したい
↓
lag()を使って集計する
実際のSQL
SELECT
*
, lag("日別売上") OVER (ORDER BY "売上日")AS 前日売上
FROM
(SELECT
to_char(sum("売上"),'FM999,999,999') AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY "売上日") AS "集計"
実際のSQL
SELECT
*
, lag("日別売上") OVER (ORDER BY "売上日")AS 前日売上
FROM
(SELECT
to_char(sum("売上"),'FM999,999,999') AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY "売上日") AS "集計"
実際のSQL
SELECT
*
, lag("日別売上") OVER (ORDER BY "売上日")AS 前日売上
FROM
(SELECT
to_char(sum("売上"),'FM999,999,999') AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY "売上日") AS "集計"
先ほどのクエリをサブクエリにする
実際のSQL
SELECT
*
, lag("日別売上") OVER (ORDER BY "売上日")AS 前日売上
FROM
(SELECT
to_char(sum("売上"),'FM999,999,999') AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY "売上日") AS "集計"
Window関数の対象を指定
先ほどのクエリをサブクエリにする
実際のSQL
SELECT
*
, lag("日別売上") OVER (ORDER BY "売上日")AS 前日売上
FROM
(SELECT
to_char(sum("売上"),'FM999,999,999') AS "日別売上"
, "売上日"
FROM "売上表"
GROUP BY "売上日") AS "集計"
Window関数の対象を指定
先ほどのクエリをサブクエリにする
前行の取得するカラムを指定
日別売上 売上日 前日売上
2,643,552 2015-08-01 NULL
2,650,368 2015-08-02 2,643,552
2,601,180 2015-08-03 2,650,368
2,598,392 2015-08-04 2,601,180
2,635,064 2015-08-05 2,598,392
2,650,852 2015-08-06 2,635,064
2,642,568 2015-08-07 2,650,852
2,613,876 2015-08-08 2,642,568
2,658,504 2015-08-09 2,613,876
2,637,376 2015-08-10 2,658,504
2,617,840 2015-08-11 2,637,376
2,596,896 2015-08-12 2,617,840
2,669,644 2015-08-13 2,596,896
2,623,568 2015-08-14 2,669,644
:
:
:
:
:
:
日別売上 売上日 前日売上
2,643,552 2015-08-01 NULL
2,650,368 2015-08-02 2,643,552
2,601,180 2015-08-03 2,650,368
2,598,392 2015-08-04 2,601,180
2,635,064 2015-08-05 2,598,392
2,650,852 2015-08-06 2,635,064
2,642,568 2015-08-07 2,650,852
2,613,876 2015-08-08 2,642,568
2,658,504 2015-08-09 2,613,876
2,637,376 2015-08-10 2,658,504
2,617,840 2015-08-11 2,637,376
2,596,896 2015-08-12 2,617,840
2,669,644 2015-08-13 2,596,896
2,623,568 2015-08-14 2,669,644
:
:
:
:
:
:
前行が無いのでNULL
Window関数とマテビュー
翌日の場合は?
Window関数とマテビュー
翌日の場合は?
↓
lead()を使って集計出来る
関数 説明
row_number() 行番号
rank() ランキング (同率で番号を飛ばす)
dense_rank() ランキング (同率で番号を飛ばさない)
percent_rank() ランキング (%で表示) : (rank - 1) / (全行数 - 1)
cume_dist() percent_rank に類似 : (現在の行の位置) / (全行数)
ntile(N) ランキング (1..N に分割)
lag(value, offset, default) ソート状態での前の行の値
lead(value, offset, default) ソート状態での後の行の値
first_value(value) 最初の値
last_value(value) 最後の値
nth_value(value, N) N番目の値 (1から数える)
Window関数とマテビュー
データが多くて遅い
Window関数とマテビュー
マテリアライズドビュー
Window関数とマテビュー
マテリアライズドビュー
実体の存在するView。
参照したクエリ結果を保存するため、
参照元を更新した際はマテビューの
更新も必要になる。
※ただしPostgreSQL 9.3からの機能
Window関数とマテビュー
クエリ結果を実体化する
Window関数とマテビュー
クエリ結果を実体化する
↓
高速化
Window関数とマテビュー
マテビューは銀の弾丸ではない
Window関数とマテビュー
マテビューの問題点
・リフレッシュ管理が必要(自動更新しない)
※ただし、9.4から自動更新が可能
・普通のテーブル同様に表領域を消費する
・リフレッシュはそれなりにリソースを使う
Window関数とマテビュー
更新が多いとボトルネックになる
Window関数とマテビュー
まとめ
Window関数とマテビュー
まとめ
Window関数とマテビュー
まとめ
1 機能を覚えると実装が楽に
Window関数とマテビュー
まとめ
1 機能を覚えると実装が楽に
2 拡張を見据えた設計が大事
Window関数とマテビュー
まとめ
1 機能を覚えると実装が楽に
2 拡張を見据えた設計が大事
3 要件に合わせて選択肢を選ぶ
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
外部データラッパ(FDW)
Window関数が便利!!
外部データラッパ(FDW)
Window関数が便利!!
↓
でも弊社、MySQL(́・ω・`)
外部データラッパ(FDW)
でも大丈夫!!
外部データラッパ(FDW)
FDWを使えばMySQLと繋がる
FDWとは
外部テーブルを作成するための機能
(外部のデータをtableにする)
FDWとは
外部データにテーブルと同様に
SQL文でアクセスできる
FDWとは
• WHEREやORDER BYが使える
• GROUP BYなどの集合関数も使える
• JOINなど、他tableと関連付け出来る
• 更新や削除も出来る(ただし9.3から)
FDWとは
外部データ
↓
DB、CSV、JSON、WebAPIなんでも良い
FDWとは
PostgreSQL
to
PostgreSQL
FDWとは
MySQL
to
PostgreSQL
FDWとは
MongoDB
to
PostgreSQL
FDWとは
Git
to
PostgreSQL
SQL Databases Wrappers
• postgres_fdw
• oracle_fdw
• mysql_fdw
• odbc_fdw
• jdbc_fdw
NoSQL Databases Wrappers
• couchdb_fdw
• MonetDB FDW
• mongo_fdw
• redis_fdw
• Neo4j fdw
• Tycoon FDW
Others
• git_fdw
• ldap_fdw
• IMAP_fdw
• s3_fdw
• www_fdw
• OS_fdw
FDWとは
その他に既に多くの実装がある
SQL Databases Wrappers
• postgres_fdw
• oracle_fdw
• mysql_fdw
• odbc_fdw
• jdbc_fdw
FDWを使う
MySQLPostgreSQL
FDWを使う
MySQLPostgreSQL
TABLE
FDWを使う
EXTENSION
MySQLPostgreSQL
TABLE
FDWを使う
EXTENSION
MySQLPostgreSQL
TABLE
mysql_fdwをインストールする
FDWを使う
server
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
FDWを使う
server
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
MySQLの接続先を設定する
MySQLの接続ユーザを設定する
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
PostgreSQLの外部tableを作成する
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
SQLで問い合わせ
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
SQLで問い合わせ
外部tableにアクセス
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
アクセス先を確認
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
MySQLにクエリを投げる
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
実行結果を取得
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
実行結果を表示
FDWを使う
server
FOREIGN
TABLE
EXTENSION
USER MAPPING
MySQLPostgreSQL
TABLE
Client
FDWを使う
既存環境の集計作業が大変
↓
そのままPostgreSQLに委託出来る
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
JSON型とJSONB型
PostgreSQLで今一番アツい機能
※そーだい調べ
JSON型とJSONB型
ドキュメント指向
JSON型とJSONB型
ドキュメント指向
name : hoge
role1 : 開発
role2 : 運用
age : 30
name : fuga
role1 : 営業
from : 広島
age : 25
name : bar
role1 : 総務
JSON型とJSONB型
ドキュメント指向
name : hoge
role1 : 開発
role2 : 運用
age : 30
name : fuga
role1 : 営業
from : 広島
age : 25
name : bar
role1 : 総務
それぞれが独立したドキュメント
ドキュメントにはユニークなIDでアクセスが可能
JSON型とJSONB型
ドキュメント指向
name : hoge
role1 : 開発
role2 : 運用
age : 30
name : fuga
role1 : 営業
from : 広島
age : 25
name : bar
role1 : 総務
それぞれが独立しているので
自由な変更が可能
id name properties
1 test1 { name : hoge", age :30, role :1}
2 test2 { name : fuga", age :21, role :1}
3 test3 { name : bar , age :22, role :1}
4 test4 { name : foo , age :60, role :2}
5 test5 { name :toto, age :16, role :2}
6 test6 { name : titi , age :30, role :2}
7 test7 { name : tata , age :30, role :3}
:
:
:
:
:
:
JSON型とJSONB型
値を指定した検索
実際のSQL
SELECT
*
FROM
demo_json
WHERE
properties->>”name” = “hoge”
実際のSQL
SELECT
*
FROM
demo_json
WHERE
properties->>”name” = “hoge”
JSONの値を指定して直接検索出来る
JSON型とJSONB型
INDEXを指定する
実際のSQL
CREATE INDEX
  demo_json_index
ON
  demo_json
  (properties->>'name');
実際のSQL
CREATE INDEX
  demo_json_index
ON
  demo_json
  (properties->>'name');
INDEX名
実際のSQL
CREATE INDEX
  demo_json_index
ON
  demo_json
  (properties->>'name');
INDEX名
対象テーブル
実際のSQL
CREATE INDEX
  demo_json_index
ON
  demo_json
  (properties->>'name');
INDEX名
対象テーブル
式を指定する
JSON型とJSONB型
銀の弾丸ではない(本日二度目
JSON型とJSONB型
制約を設けれない
JSON型とJSONB型
制約を設けれない
↓
外部キーや一意制約がない
JSON型とJSONB型
データ登録のトレードオフ
JSON型とJSONB型
データ登録のトレードオフ
↓
自由な保存   正しく守る
JSON型とJSONB型
クエリに対する制限
JSON型とJSONB型
クエリに対する制限
↓
集約関数などが使えない
JSON型とJSONB型
要件に合わせて選択肢を選ぶ
JSON型とJSONB型
まとめ
1 値で検索が出来る
2 値の検索でINDEXが使える
3 要件に合わせて選択肢を選ぶ
あじぇんだ
1 自己紹介
2 Window関数とマテビュー
3 外部データラッパ(FDW)
4 JSON型とJSONB型
5 まとめ
まとめ
Webアプリケーションの複雑化
まとめ
Webアプリケーションの複雑化
↓
データ構造も複雑化
まとめ
柔軟で高速な検索が必要
まとめ
柔軟で高速な検索が必要
↓
運用では正しいデータの保存も重要
まとめ
データベースを知ることが大事
まとめ
PostgreSQLは
Webにもマッチします
まとめ
スタートアップに
まとめ
リプレースに
まとめ
既存拡張に
まとめ
PostgreSQL使ってみませんか?
ご静聴ありがとうございました。

Mais conteúdo relacionado

Mais procurados

実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法Soudai Sone
 
Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化Soudai Sone
 
PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化についてSoudai Sone
 
地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話Soudai Sone
 
DBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるDBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるSoudai Sone
 
レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦Soudai Sone
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方Soudai Sone
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips豊明 尾古
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめKosuke Kida
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010Nobuaki Oshiro
 
地方における勉強会事情
地方における勉強会事情地方における勉強会事情
地方における勉強会事情Soudai Sone
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fsTakahiro Iwase
 
pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話Masashi Shibata
 
DATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialDATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialTatsuya Tojima
 

Mais procurados (20)

実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法
 
Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化Ansibleで始めるpostgre sqlの冗長化
Ansibleで始めるpostgre sqlの冗長化
 
PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化について
 
地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話地方エンジニアがPostgreSQLを通じて成長した話
地方エンジニアがPostgreSQLを通じて成長した話
 
DBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるDBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎる
 
レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦レガシーな環境からモダンへの挑戦
レガシーな環境からモダンへの挑戦
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
 
pysqldf
pysqldfpysqldf
pysqldf
 
地方における勉強会事情
地方における勉強会事情地方における勉強会事情
地方における勉強会事情
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
sqldf for pandas
sqldf for pandassqldf for pandas
sqldf for pandas
 
pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話
 
DATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialDATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 Turorial
 
Nds#24 単体テスト
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
 

Destaque

PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpythonSoudai Sone
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料Chika SATO
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルMikiya Okuno
 
RDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるRDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるMikiya Okuno
 
focuslight-validator validate sinatra application - validation night at LINE ...
focuslight-validator validate sinatra application - validation night at LINE ...focuslight-validator validate sinatra application - validation night at LINE ...
focuslight-validator validate sinatra application - validation night at LINE ...Satoshi Suzuki
 
制約をつけて遊ぼう
制約をつけて遊ぼう制約をつけて遊ぼう
制約をつけて遊ぼうFumihito Yokoyama
 
Microsoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。Tomohiko Himura
 
人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきかMikiya Okuno
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素Takahiro YAMADA
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計Mikiya Okuno
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)Uptime Technologies LLC (JP)
 
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...Insight Technology, Inc.
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングKosuke Kida
 

Destaque (19)

PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpython
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデル
 
RDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるRDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考える
 
focuslight-validator validate sinatra application - validation night at LINE ...
focuslight-validator validate sinatra application - validation night at LINE ...focuslight-validator validate sinatra application - validation night at LINE ...
focuslight-validator validate sinatra application - validation night at LINE ...
 
制約をつけて遊ぼう
制約をつけて遊ぼう制約をつけて遊ぼう
制約をつけて遊ぼう
 
Microsoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data WarehouseMicrosoft Azure - SQL Data Warehouse
Microsoft Azure - SQL Data Warehouse
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...
[db tech showcase Tokyo 2015] B16:最新版PostgreSQLのパフォーマンスを引き出すためのポイント by Postgr...
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 

Semelhante a 知って得するWebで便利なpostgre sqlの3つの機能

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京tuchimur
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?Keiichiro Ono
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章YOSHIKAWA Ryota
 
OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料kasaharatt
 
明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)kasaharatt
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...y-uti
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーるSachiko Hirata
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)Masanori Machii
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 

Semelhante a 知って得するWebで便利なpostgre sqlの3つの機能 (20)

第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
 
OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料
 
明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Tokyo r 25_lt_isobe
Tokyo r 25_lt_isobeTokyo r 25_lt_isobe
Tokyo r 25_lt_isobe
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
Tokyo r28 1
Tokyo r28 1Tokyo r28 1
Tokyo r28 1
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 

Mais de Soudai Sone

Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Soudai Sone
 
聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告Soudai Sone
 
今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」Soudai Sone
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたSoudai Sone
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?Soudai Sone
 
Ph per のための php 最適
Ph per のための php 最適Ph per のための php 最適
Ph per のための php 最適Soudai Sone
 
Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Soudai Sone
 
Ossで作るwebサイト
Ossで作るwebサイトOssで作るwebサイト
Ossで作るwebサイトSoudai Sone
 

Mais de Soudai Sone (11)

Osc2014
Osc2014Osc2014
Osc2014
 
Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)Postgre sql9.3新機能 (OSC hiroshima 2013)
Postgre sql9.3新機能 (OSC hiroshima 2013)
 
聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告聞いたら参加したくなるJjug cccの報告
聞いたら参加したくなるJjug cccの報告
 
Wtm
WtmWtm
Wtm
 
今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみた
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
Ph per のための php 最適
Ph per のための php 最適Ph per のための php 最適
Ph per のための php 最適
 
Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発
 
Ossで作るwebサイト
Ossで作るwebサイトOssで作るwebサイト
Ossで作るwebサイト
 

知って得するWebで便利なpostgre sqlの3つの機能