postgre sql9.3新機能 (osc hiroshima 2013)

Post on 30-Jun-2015

1.889 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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の新機能

WEBエンジニアが知るべき3つのSQLアンチパターン

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