postgre sql9.3新機能 (osc hiroshima 2013)
Post on 30-Jun-2015
1.889 Views
Preview:
TRANSCRIPT
9月10日リリース!!PostgreSQL9.3の最新事情
~他RDBとの徹底比較!!~
お詫び
他RDBの比較について盛り込めませんでした
お詫び
ごめんなさい、ごめんなさい、ごめんなさい
お詫び
最新事情はしっかりフォローします!
What is it?
みなさん
PostgreSQL
使ってますか?
What is it?
PostgreSQL9.3をガンガン使ってる人
What is it?
さくらインターネットさんの部屋に行ってOKです
What is it?
JPUG 2013 夏セミナーの資料を見た人
Postgre sql9.3新機能紹介
What is it?
Metasepi Projectさんに行っt(ry
What is it?
残っている精鋭の皆様へ
あじぇんだ
1 自己紹介
2 Postgres9.3の新機能
3 今からPostgreSQLを使う人へ
4 まとめ
あじぇんだ
1 自己紹介
2 Postgres9.3の新機能
3 今からPostgreSQLを使う人へ
4 まとめ
自己紹介
名前:曽根 壮大(そね たけとも)年齢:28歳(二十代だよ!)職業:WEB系プログラマー
技術的にはWEB系でLLとかRDBをゴリゴリしてます。
日本PostgreSQLユーザ会
Twitterは
@soudai1025 と言うアカウントで活動してます。
最近はFuelPHPと艦これがメインです。
あじぇんだ
1 自己紹介
2 Postgres9.3の新機能
3 今からPostgreSQLを使う人へ
4 まとめ
PostgreSQL9.3の新機能
知って得する新機能
・Updatable Views(更新可能ビュー)・Materialized View(実態のあるビュー)・JSON型の強化・Foreign data wrappers(外部データラッパー)
PostgreSQL9.3の新機能
知って得する新機能
・Updatable Views(更新可能ビュー)・Materialized View(実態のあるビュー)・JSON型の強化・Foreign data wrappers(外部データラッパー)
PostgreSQL9.3の新機能
Viewのメリッ卜
・表示列を制限できる・表示列を制限できる・複雑なクエリを簡潔にできる
PostgreSQL9.3の新機能
Viewのメリッ卜
・表示列を制限できる・表示列を制限できる・複雑なクエリを簡潔にできる
PostgreSQL9.3の新機能
Viewのメリッ卜
・表示列を制限できる・表示列を制限できる・複雑なクエリを簡潔にできる
PostgreSQL9.3の新機能
Viewのメリッ卜
・表示列を制限できる・表示列を制限できる・複雑なクエリを簡潔にできる
PostgreSQL9.3の新機能
正規化した際のJOIN地獄
PostgreSQL9.3の新機能
複雑なサブクエリ複雑なサブクエリ
PostgreSQL9.3の新機能
これらをシンプルに!
PostgreSQL9.3の新機能
でもViewは直接更新できない
PostgreSQL9.3の新機能
今までの更新できるView
ルール("rule")or
トリガ("trigger")
を使って更新動作を定義する
PostgreSQL9.3の新機能
これが直接更新できるように!
PostgreSQL9.3の新機能
知って得する新機能
・Updatable Views(更新可能ビュー)・Materialized View(実態のあるビュー)・JSON型の強化・Foreign data wrappers(外部データラッパー)
PostgreSQL9.3の新機能
Viewはクエリの結果なのでSQLに依存する
PostgreSQL9.3の新機能
Viewは遅い
PostgreSQL9.3の新機能
そこでマテリアライズド・ビュー
PostgreSQL9.3の新機能
Viewの結果をキャッシュする
PostgreSQL9.3の新機能
実体を返すので高速!
PostgreSQL9.3の新機能
ただしリフレッシュの管理が必要
PostgreSQL9.3の新機能
PostgreSQL9.3のマテビューの注意点
• 定期的に行われる自動リフレッシュ機能• 参照元の変更に連動した自動リフレッシュ機能• 更新差分だけを反映する高速リフレッシュ機能
PostgreSQL9.3の新機能
PostgreSQL9.3のマテビューの注意点
• 定期的に行われる自動リフレッシュ機能• 参照元の変更に連動した自動リフレッシュ機能• 更新差分だけを反映する高速リフレッシュ機能
PostgreSQL9.3の新機能
PostgreSQL9.3のマテビューの注意点
• 定期的に行われる自動リフレッシュ機能• 参照元の変更に連動した自動リフレッシュ機能• 更新差分だけを反映する高速リフレッシュ機能
PostgreSQL9.3の新機能
PostgreSQL9.3のマテビューの注意点
• 定期的に行われる自動リフレッシュ機能• 参照元の変更に連動した自動リフレッシュ機能• 更新差分だけを反映する高速リフレッシュ機能
PostgreSQL9.3の新機能
適切な使用は薬だが濫用すると毒になる
PostgreSQL9.3の新機能
Viewは設計と使い分けが大事
そもそも設計が良ければViewはいらないだろjk
PostgreSQL9.3の新機能
知って得する新機能
・Updatable Views(更新可能ビュー)・Materialized View(実態のあるビュー)・JSON型の強化・Foreign data wrappers(外部データラッパー)
PostgreSQL9.3の新機能
JSON型は9.2からの機能
PostgreSQL9.3の新機能
それ、TEXT型で良くね?
PostgreSQL9.3の新機能
ジェイ・ウォーク(SQLアンチパターン)
PostgreSQL9.3の新機能
非正規化地獄
PostgreSQL9.3の新機能
お客さん「1ゲーム基本一人だから」
PostgreSQL9.3の新機能
お客さん「1ゲーム基本一人だから」
PostgreSQL9.3の新機能
一ヶ月後…
PostgreSQL9.3の新機能
お客さん「やっぱキャラ追加するわ」
PostgreSQL9.3の新機能
PostgreSQL9.3の新機能
さぁどうする?
PostgreSQL9.3の新機能
PostgreSQL9.3の新機能
CSV(カンマ区切り)でよくね?
PostgreSQL9.3の新機能
CSV(カンマ区切り)でよくね?
PostgreSQL9.3の新機能
解決!!
PostgreSQL9.3の新機能
三年後・・・
PostgreSQL9.3の新機能
お客様「キャラのデータ入らないだけど」
PostgreSQL9.3の新機能
テストでは
PostgreSQL9.3の新機能
なぜか?
PostgreSQL9.3の新機能
カラムの大きさは有限
PostgreSQL9.3の新機能
IDの例
PostgreSQL9.3の新機能
11,12,13,14,15
PostgreSQL9.3の新機能
三年後・・・
PostgreSQL9.3の新機能
2000011,2000012,2000013
PostgreSQL9.3の新機能
限界が来た時に拡張が困難
PostgreSQL9.3の新機能
その他の問題点
1 検索の低パフォーマンス2 更新時の整合性が担保できない3 集約クエリが作成出来ない
PostgreSQL9.3の新機能
その他の問題点
1 検索の低パフォーマンス2 更新時の整合性が担保できない3 集約クエリが作成出来ない
PostgreSQL9.3の新機能
その他の問題点
1 検索の低パフォーマンス2 更新時の整合性が担保できない3 集約クエリが作成出来ない
PostgreSQL9.3の新機能
その他の問題点
1 検索の低パフォーマンス2 更新時の整合性が担保できない3 集約クエリが作成出来ない
PostgreSQL9.3の新機能
その他にもJSONやXMLで・・・
PostgreSQL9.3の新機能
本来は正規化すべき
PostgreSQL9.3の新機能
でもそれだとSQLが冗長
PostgreSQL9.3の新機能
そこで本来あるべき姿の型を用意する
PostgreSQL9.3の新機能
PostgreSQLの柔軟な型
・Array型・JSON型・XML型・IP型・位置情報型
PostgreSQL9.3の新機能
PostgreSQLは今後も
JSONに対する機能を強化
します
PostgreSQL9.3の新機能
知って得する新機能
・Updatable Views(更新可能ビュー)・Materialized View(実態のあるビュー)・JSON型の強化・Foreign data wrappers(外部データラッパー)
PostgreSQL9.3の新機能
外部データラッパー?
PostgreSQL9.3の新機能
様々な外部データを
自分のテーブルとして扱うため
の枠組み
PostgreSQL9.3の新機能
PostgreSQL以外のデータを参照できる外部データラッパによる PostgreSQL の拡張
PostgreSQL9.3の新機能
PostgreSQL For PostgreSQL
PostgreSQL9.3の新機能
PostgreSQL For ODBC
PostgreSQL9.3の新機能
PostgreSQL For Oracle
PostgreSQL9.3の新機能
PostgreSQL For MySQL
PostgreSQL9.3の新機能
PostgreSQL For Twitter
PostgreSQL9.3の新機能
9.3からは書き込みもできる
※ただし一部のDBのみ
PostgreSQL9.3の新機能
既存DB…一匹残らず…駆逐してやる!
あじぇんだ
1 自己紹介
2 Postgres9.3の新機能
3 今からPostgreSQLを使う人へ
4 まとめ
PostgreSQLこれから使う人へ
最新版を使いましょう
PostgreSQLこれから使う人へ
日本語ドキュメントが豊富
PostgreSQLこれから使う人へ
コミュニティも盛ん!
PostgreSQLこれから使う人へ
中国地方DB勉強会
http://local.aguuu.com/events/21550
https://groups.google.com/d/forum/dbstudychugoku
PostgreSQLこれから使う人へ
最新版を使いましょう
大事なことなので2回言いました
あじあぇんだ
1 自己紹介
2 Postgres9.3の新機能
3 今からPostgreSQLを使う人へ
4 まとめ
まとめ
高機能・高多様性を持つ
まとめ
今後もPostgreSQLは進化しつづけます
まとめ
積極的に情報を発信します
まとめ
PostgreSQLカンファレンス2013
日時 2013年 11月 8日(講演 10:00 ~ 18:00、 懇親会 ~ 20:00)
場所 AP東京八重洲通り (東京都 中央区)講演 午前 1トラック、午後 3トラック にて14講演参加 300名 (一般参加定員 200名 予定)参加費 3,000円 (ローソンチケット L35899 )
主催 特定非営利活動法人 日本PostgreSQLユーザ会
まとめ
皆さんのご参加お待ちしています
まとめ
ご静聴ありがとうございました
top related