Weitere ähnliche Inhalte
Ähnlich wie 10大ニュースで振り返るPGCon2015 (20)
Mehr von NTT DATA OSS Professional Services (20)
10大ニュースで振り返るPGCon2015
- 1. Copyright © 2015 NTT DATA Corporation
2015年6月27日
(株)NTTデータ
10大ニュースで振り返るPGCon2015
@JPUG 2015 夏セミナ
- 2. 2Copyright © 2015 NTT DATA Corporation
PostgreSQL エバンジェリスト@ NTT データ
社内 PostgreSQL 営業・技術支援
GresCube 開発・サポート
PostgreSQL コミッタ
全世界で20名、日本人で3人目
PostgreSQL のコア機能を開発
レプリケーション(非同期 / 同期 / カスケード)
トランザクションログ圧縮
pg_bigm(全文検索モジュール)
藤井 雅雄 @fujii_masao
- 4. 4Copyright © 2015 NTT DATA Corporation
PGConとは
PostgreSQLに関する世界最大のカンファレンス
日程 2015/6/16(火) ~ 6/20(土)
場所 オタワ大学
参加人数 244人
構成 Talks、Tutorials、Unconferenceの3部構成
特徴
世界中のPostgreSQL開発者・ユーザ大集合!
PostgreSQLについてひたすら熱く語りつくす!
公式サイト http://www.pgcon.org/2015/
ハッシュタグ #pgcon
- 5. 5Copyright © 2015 NTT DATA Corporation
PGConへの道のり
DATE/TIME CITY/AIRPORT FLIGHT FLTTIME
---------------------------------------------------------------------
6/15 (月) 17:40 東京/羽田 AC0006 12:00
16:40 トロント AIR CANADA
----------------------------------------------------------------------
19:10 トロント AC0464 01:03
20:13 オタワ AIR CANADA
----------------------------------------------------------------------
移動に16時間、時差13時間。。。
●
- 6. 6Copyright © 2015 NTT DATA Corporation
スケジュール
DAY Track1 Track2 Track3 Track4 Other
6/16
(Tue)
PM
AM
17
(Wed)
PM
AM
18
(Thu)
PM
AM
19
(Fri)
PM
AM
20
(Sat)
PM
AM
Unconference
Talks
Tutorial
Developer Meeting
Major Social Event!
Registration Pickup
Tutorial
Talks、Tutorial、Unconferenceの3部構成
- 7. 7Copyright © 2015 NTT DATA Corporation
参加費
Type Talks Tutorial Unconference
個人 $195
$75
(per half day)
$0
会社(一人目) $350
会社(二人目以降) $200
学生 $60
※支払いはカナダドル CAD$1 = 100.42円 (6/12時点)
- 9. 9Copyright © 2015 NTT DATA Corporation
Developer Meetingとは
PostgreSQLのコア開発者のみが招待される会議
Photo by Oleg Bartunov
https://www.flickr.com/photos/obartunov/18245690144
- 10. 10Copyright © 2015 NTT DATA Corporation
Developer Meetingとは
今年は技術以外のトピックを議論
Developer
Meeting
Developer
Meeting
Developer
Unconference
コミュニティ運営
開発スケジュール
技術トピック
コミュニティ運営
開発スケジュール
技術トピック
2015
~ 2014
- 11. 11Copyright © 2015 NTT DATA Corporation
Developer Meetingで議論されたこと
議事録はすべてWikiに掲載
https://wiki.postgresql.org/wiki/PgCon_2015_Developer_Meeting
PGCon2015 Developer Meeting
- 12. 12Copyright © 2015 NTT DATA Corporation
Developer Meetingで議論されたこと
時期 開発イベント
2015年 7月 CommitFest 1
9月 CommitFest 2
11月 CommitFest 3
2016年 1月 CommitFest 4
3月 CommitFest 5
4月 Feature Freeze
6月 βバージョンリリース
10月 PostgreSQL 9.6 リリース
PostgreSQL 9.6 の開発スケジュールが決定
- 13. 13Copyright © 2015 NTT DATA Corporation
Developer Meetingで議論されたこと
コミュニティの重要決定にコミッタも参加できるように
ユーザ 開発者
コアチーム
Mailing List
バグ報告、開発議論、アナウンス
コミッタ
メジャーコントリビュータ
パッチ
提供
選出
PostgreSQLコミュニティの運営形態
Wiki
TODO、開発進捗管理
GitHub
ソースコード管理
管理
提案
バグ報告
要望
選出
ソースの変更権限がある開発者
世界で十数名のみ任命
新バージョン・リリースに関する議論
新規コミッタ選出に関する議論
- 15. 15Copyright © 2015 NTT DATA Corporation
Developer Unconferenceとは
PostgreSQLの技術的な公開討論会
Photo by Oleg Bartunov
https://www.flickr.com/photos/obartunov/18718087759
- 16. 16Copyright © 2015 NTT DATA Corporation
Developer Unconferenceとは
様々な技術ネタについて公開討論
Developer
Meeting
Developer
Meeting
Developer
Unconference
コミュニティ運営
開発スケジュール
技術トピック
コミュニティ運営
開発スケジュール
技術トピック
2015
~ 2014
- 17. 17Copyright © 2015 NTT DATA Corporation
Developer Unconferenceで議論されたこと
議事録は概ねWikiに掲載
https://wiki.postgresql.org/wiki/PgCon_2015_Developer_Unconference
PGCon2015 Developer Unconference
- 18. 18Copyright © 2015 NTT DATA Corporation
Developer Unconferenceで議論されたこと
Autonomous Transaction
PL/pgSQL 関数内でトランザクションの開始と終了が可能に
PRAGMA AUTONOMOUS_TRANSACTION @ Oracle
2ndQuadrant と Huawei が 9.6 での開発を計画
BEGIN;
SELECT hoge();
COMMIT;
BEGIN;
INSERT ...
...
COMMIT;
BEGIN;
UPDATE ...
...
COMMIT;
- 19. 19Copyright © 2015 NTT DATA Corporation
Developer Unconferenceで議論されたこと
性能改善
1 A B C D 1 a B C D …
1 A B C D a …
CREATE TABLE test (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT);
INSERT INTO test VALUES (1, 'A', 'B', 'C', 'D');
UPDATE test SET col1 = 'a' WHERE id = 1;
現状
改善案
(更新対象でない列も含めて)すべての列を追記
更新差分のみを追記
- 28. 28Copyright © 2015 NTT DATA Corporation
JSONB
Event Title
Tutorial NoSQL on ACID
Talk
Update and Delete operations for jsonb
Rethinking JSONB
Unconference Direction of json and jsonb
- 29. 29Copyright © 2015 NTT DATA Corporation
PostgreSQLにおけるJSONの歴史
v9.2 (2012年) v9.3 (2013年) v9.4 (2014年) v9.5
TEXT型 + 構文チェッカ
利用可能な関数と演算子
はわずか
演算子4個追加
要素抽出の演算子(->)
関数10個追加
JSONから行への変換
バイナリ形式 + 構文チェッカ
GINインデックス対応
JSON型
サポート
JSONB型
サポート !?
関数と演算子の
充実化
- 30. 30Copyright © 2015 NTT DATA Corporation
JSONBの9.5新機能まとめ
関数
演算子
-、-# 削除
|| 追加
jsonb_concat() 追加
jsonb_delete() 削除
jsonb_set() 更新
jsonb_pretty() JSONB型を見やすく整形
NEW!
NEW!
NEW!
NEW!
NEW!
NEW!
- 32. 32Copyright © 2015 NTT DATA Corporation
JPUG関係者による講演が過去最多 - 11本
Event Title Speaker
Unconference
Horizontal Scalability /
Sharding in PostgreSQL
Etsuro Fujita
pgPool2 towards version 3.5 Tatsuo Ishii
Partitioning Amit Langote
Foreign Data Wrapper enhancements
Shigeru Hanada
Etsuro Fujita
Utilization of modern semiconductors KaiGai Kohei
Talk
PostgreSQL on FPGA Satoshi Nagayasu
Monitor more of PostgreSQL Kyotaro Horiguchi
The Art of Performance Evaluation Yuto Hayamizu
PG-Strom KaiGai Kohei
Improving PostgreSQL for
Greater Enterprise Adoption
Tetsuo Sakata
Yurie Enomoto
Lightning Talk Postgres Toolkit & pgDay Asia 2016 Satoshi Nagayasu
- 34. 34Copyright © 2015 NTT DATA Corporation
CPUボトルネック時代に向けた取り組み
CPUボトル
ネック時代
Native
Compilation
H/W
Offloading
Memory size > DB size
Flash storage
GPU
FPGA
(Field Programmable Gate Arra)
①CPUの仕事を減らす
②CPU以外に仕事を任せる
PL/pgSQL C exe
変換 コンパイル
Generate specialized code
+ Compilation
+ Execute compiled code
- 36. 36Copyright © 2015 NTT DATA Corporation
Postgres-XC本体化計画!?
XCの並列分散機能をPostgreSQL本体に組み込む計画
PG PG PG
PG
Partitioning
+
FDW
backend
凡例
実テーブル
外部テーブル
Parallel
Query
worker worker worker worker
Pushdown Automatic
Foreign Tx
SQL
- 37. 37Copyright © 2015 NTT DATA Corporation
Postgres-XC本体化計画!?
9.5
外部テーブルのパーティション組み込み
JOIN pushdown
9.6
JOIN pushdownへのpostgres_fdwの対応
パーティショニング強化(作り直し?)
パラレルスキャン
Automatic Foreign Transaction
9.7
パラレルクエリ
Sharding
More and more pushdown (Sort, Aggregate, Update, ...)
- 38. Copyright © 2015 NTT DATA Corporation 38
第3位 pgDay Asia @ FOSSASIA 2016 始動!?
- 39. 39Copyright © 2015 NTT DATA Corporation
pgDay Asia @ FOSSASIA 2016
FOSSASIA March 18th - 20th in Singapore
前回は、27か国から、128人のスピーカー、900人以上の参加者
FOSSASIAのジョイントイベントとしてpgDayを1日2トラックで開催できないか
JPUG理事長の永安さんが計画するアジア向けPostgreSQLイベント
●
- 44. 44Copyright © 2015 NTT DATA Corporation
若手PostgreSQL技術者の成長記録
1日目午前
ノートルダム大聖堂バシリカ
モントリオール美術館
パーラメント・ヒル
- 49. 49Copyright © 2015 NTT DATA Corporation
Quorum Commitとは
マスタ
スタンバイ
例えば、
スタンバイのうち2台から応答があったら
同期レプリケーションは完了と判断したい!
同期レプリケーションのより柔軟な構成を可能にする機能
- 51. 51Copyright © 2015 NTT DATA Corporation
9.5の新機能を知りたいときは
リリースノート
http://www.postgresql.org/docs/devel/static/release-9-5.html
新機能紹介スライド @ PGCon2015
http://slides.keithf4.com/pg95live/#/
新機能紹介ブログ
http://michael.otacoo.com/
http://www.depesz.com/tag/postgresql/
コミュニティ公式Wiki上の記事
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.5
9.5開発で最も多くの
パッチを作成したと思われる
ミカエルさんのブログ
- 52. 52Copyright © 2015 NTT DATA Corporation
UPSERT
INSERT INTO emp VALUES (3, '鈴木', '開発')
ON CONFLICT (id)
DO UPDATE
SET name = EXCLUDE.name,
role = EXCLUDE.role;
行がなければINSERT、あればUPDATEを実行
id name role
1 斉藤 開発
2 田中 営業
3 鈴木 開発
4 山下 経理
5 佐藤 営業
id=3の行がなければ
INSERT INTO emp VALUES (3, '鈴木', '開発');
id=3の行があれば
UPDATE emp SET name = '鈴木', role = '開発'
WHERE id = 3;
- 53. 53Copyright © 2015 NTT DATA Corporation
ROW LEVEL SECURITY
id name age role
1 斉藤 27 開発
2 田中 53 営業
3 鈴木 45 開発
4 山下 39 経理
5 佐藤 31 営業
ユーザfoo
empテーブル
例) 開発者の情報のみをユーザfooに閲覧許可したい
CREATE POLICY emp_foo_policy ON emp
FOR SELECT
TO foo
USING (role = '開発');
ユーザが閲覧・操作できる行を指定できる機能
- 54. 54Copyright © 2015 NTT DATA Corporation
pg_rewind
フェイルバック時にDBデータを差分バックアップ転送できる機能
レプリケー
ション
マスタ スタン
バイ
停止 マスタ
マスタスタン
バイ
レプリケー
ション
停止 マスタ
差分
バック
アップ
両系稼働
マスタ単独稼働
両系稼働
差分バックアップ転送
マスタ故障により
フェイルオーバ
旧マスタの再組込み
(フェイルバック)
pg_rewind
フェイルバック時間を大幅短縮!