SlideShare a Scribd company logo
1 of 35
Copyright © 2016 NTT DATA Corporation
2016年12月2日
株式会社NTTデータ
システム技術本部
電力自由化を陰で支えるPostgreSQL
PGCONF.ASIA 発表資料
Copyright © 2016 NTT DATA Corporation 2
社会インフラへPostgreSQLを適用する道のり
3Copyright © 2016 NTT DATA Corporation
スマートメーター運用管理システムの位置づけ
集約装置
SM
SM
SM
スマートメーター
運用管理システム
SM
データセンター
SM
SM
SM
集約装置
託送業務
料金計算
(新メニュー用)
他電力へ
新電力へ
請求処理へ
Web会員システム
ポイントシステム
スイッチング支援
電力広域機関
(電力広域的運営
推進機関)
★
SM:スマートメーター
4Copyright © 2016 NTT DATA Corporation
システムの主要処理とミッション
スマートメーター運用管理システムの主要処理
30分おきに500万件の
指示数を収集
データの
欠測チェック等
最新の
指示数保存
使用量の
保存
使用量の
計算
10分以内
• 毎日、 2億4000万件増加
• 24ヶ月分
(≒1700億件分)保存が必要
500万件
挿入
500万件
挿入
ミッション 1
ミッション 2
バッチ等
大規模参照
ミッション 3
5Copyright © 2016 NTT DATA Corporation
ミッション
1. 1000万件データを10分以内にロードせよ!
2. 24ヶ月分の大量データを長期保管せよ!
3. 大規模参照の性能を安定化せよ!
6Copyright © 2016 NTT DATA Corporation
(1)1000万件データを10分以内にロードせよ!
スマートメーター運用管理システムの主要処理
★
30分おきに500万件の
指示数を収集
データの
欠測チェック等
最新の
指示数保存
使用量の
保存
使用量の
計算
10分以内
• 毎日、 2億4000万件増加
• 24ヶ月分
(≒1700億件分)保存が必要
500万件
挿入
500万件
挿入
ミッション 2
バッチ等
大規模参照
ミッション 3
ミッション 1
7Copyright © 2016 NTT DATA Corporation
格納モデルの選択
データは「機器ID」、「日時」、「指示数」を含む
例)機器ID:1は、8/1 1:00 の指示数は500
方法①:UPDATEモデル
機器ID、日付ごとに行を持ち、該当する時間のカラムの値をUPDATE
機器
ID
日付 0:00 0:30 1:00 1:30 …
1 8/1 100 300 500
2 8/1 200 400
PostgreSQLは追記型アーキテクチャを採用しているため、
高頻度の更新処理は性能がでにくい。
8Copyright © 2016 NTT DATA Corporation
格納モデルの選択
機器
ID
日付時刻 値
1 8/1 0:00 100
1 8/1 0:30 300
1 8/1 1:00 500
… … …
○ レコードの追加(INSERT) が速い。
× テーブルサイズが大きくなる。
方法②:INSERTモデル
機器ID、日時ごとに、レコードをINSERT
方法①:UPDATEモデル
機器
ID
日付 0:00 0:30 1:00 1:30 …
1 8/1 100 300 500
2 8/1 200 400
9Copyright © 2016 NTT DATA Corporation
格納モデルの選択
機器
ID
日付時刻 値
1 8/1 0:00 100
1 8/1 0:30 300
1 8/1 1:00 500
… … …
○ レコードの追加(INSERT) が速い。
× テーブルサイズが大きくなる。
方法②:INSERTモデル
機器ID、日時ごとに、レコードをINSERT
方法①:UPDATEモデル
機器
ID
日付 0:00 0:30 1:00 1:30 …
1 8/1 100 300 500
2 8/1 200 400
格納性能重視で採用!
10Copyright © 2016 NTT DATA Corporation
高速ロードにおける性能ファクター
何件おきに
コミットすべき?多重度の
最適値? パラメータ?
データ型?
制約の有無?
インデックス?
バージョン?
性能ファクターを洗い出して事前検証
パーティションへの
ロード方法?
11Copyright © 2016 NTT DATA Corporation
高速ロードにおける性能ファクター
多重度
8
wal_buffers
1GB
サイズが小さい
データ型制約は
最小限
インデックスは
最小限
PostgreSQL
9.4
パーティション子テーブルへ
直接ロード
10000件
コミット
DB設計へのフィードバック
チューニング時の切り札
12Copyright © 2016 NTT DATA Corporation
特に性能改善に寄与した性能ファクター
多重度
8
wal_buffers
1GB
サイズが小さい
データ型制約は
最小限
インデックスは
最小限
PostgreSQL
9.4
パーティション子テーブルへ
直接ロード
10000件
コミット
13Copyright © 2016 NTT DATA Corporation
ボトルネックはWAL処理だった!
19.83% postgres postgres [.] XLogInsert ★
6.45% postgres postgres [.] LWLockRelease
4.41% postgres postgres [.] PinBuffer
3.03% postgres postgres [.] LWLockAcquire
WALがネック!
perf(Linux性能解析ツール)
WAL処理
WAL
ファイル
ディスク
I/O
メモリ
WALバッファ
処理内容の
書込み
・コミットされた
・メモリが一杯になった
★ここを速くしたい
14Copyright © 2016 NTT DATA Corporation
まずは…wal_buffersパラメータ
「デフォルト設定の-1で選択される自動チュー
ニングによると、ほとんどの場合妥当な結果
が得られます。 」
PostgreSQLドキュメントより
15Copyright © 2016 NTT DATA Corporation
wal_buffers検証結果
※格納時間のみ
(参照時間等除く)
0:00:00
0:01:00
0:02:00
0:03:00
0:04:00
0:05:00
0:06:00
0:07:00
0:08:00
0:09:00
16MB 1GB
処理時間
wal_buffersの効果
16Copyright © 2016 NTT DATA Corporation
PostgreSQLバージョン
・WAL性能向上
・JSONB
・GINインデックス性能向上
・ロジカル・デコーディング
9.3 9.4
2014年12月リリース
17Copyright © 2016 NTT DATA Corporation
バージョンアップによる高速化
• 当初PostgreSQL9.3を採用予定から9.4に変更
0:00:00
0:01:00
0:02:00
0:03:00
0:04:00
0:05:00
0:06:00
0:07:00
0:08:00
9.3 9.4
処理時間
バージョンアップの効果
※格納時間のみ
(参照時間等除く)
18Copyright © 2016 NTT DATA Corporation
0:07:57
0:06:59
0:05:49
0:03:29
0:03:29
0:03:29
0:00:00
0:02:00
0:04:00
0:06:00
0:08:00
0:10:00
0:12:01
9.3, 16MB 9.3, 1GB 9.4, 1GB
処理時間
格納 その他
改善の効果
目標値
目標達成!!
その他処理(参
照、計算など)は
チューニング済み。
※終局時ピークを想定した試験
19Copyright © 2016 NTT DATA Corporation
(2) 24ヶ月分の大量データを長期保管せよ!
スマートメーター運用管理システムの主要処理
★
30分おきに500万件の
指示数を収集
データの
欠測チェック等
最新の
指示数保存
使用量の
保存
使用量の
計算
10分以内
• 毎日、 2億4000万件増加
• 24ヶ月分
(≒1700億件分)保存が必要
500万件
挿入
500万件
挿入
ミッション 1
バッチ等
大規模参照
ミッション 3
ミッション 2
108TB
21Copyright © 2016 NTT DATA Corporation
データ型を選んでサイズを小さく
• 整数
 範囲、精度をカバーできる最も小さいデータ型を使う!
• 真偽値
 CHAR(1)ではなく、フラグを使う!
型 精度 サイズ
SMALLINT 4桁(約±3.2万) 2 byte
INTEGER 9桁(約±21億) 4 byte
BIGINT 18桁(約±922京) 8 byte
NUMERIC 1000桁 3 or 6 or 8 + ceiling(桁数 / 4) * 2
型 表現可能なデータ サイズ
CHAR(1) 文字列長1の文字列 5 byte
BOOLEAN 真または偽の状態 1 byte
22Copyright © 2016 NTT DATA Corporation
カラムの順番を変えてデータサイズを小さく
• アライメント(配置境界)
• PostgreSQLはアライメントをまたがってカラムを格納しない
1 2 3 4 5 6 7 8
column_1(4byte) ***PADDING***
column_2(8byte)
8 byteの場合
Column Type
column_1 integer
column_2 timestamp without time zone
column_3 integer
column_4 smallint
column_5 timestamp without time zone
column_6 smallint
column_7 timestamp without time zone
1 2 3 4 5 6 7 8
column_1 ***PADDING***
column_2
column_3 column_4 *PADDING*
column_5
column_6 ********PADDING*********
column_7
1 2 3 4 5 6 7 8
column_2
column_5
column_7
column_1 column_3
column_4 column_6
72 60
1行あたり12byte
節約すると…
一日あたり2.8GB!
24Copyright © 2016 NTT DATA Corporation
格納モデルの変換
項
番
対象データ 参照
頻度
更新
頻度
方針 方式
1 当日
~65日分
高 高 更新性能重視 INSERTモデル
2 66日
~24ヶ月分
低 低 参照容易なレベルで
ストレージ量削減
UPDATEモデル
挿入時は性能重視でINSERTモデルを選択
• サイズが大きいので、長期保管には向いていない
アクセス頻度が低くなる期間からモデルを変換
25Copyright © 2016 NTT DATA Corporation
格納モデル変換
機器ID 日付 0:00 0:30 1:00 … 22:30 23:00 23:30
1 8/1 100 300 500 … 1000 1100 1200
2 8/1 100 200 300 … 800 900 1000
機器ID 日付時刻 値
1 8/1 0:00 100
2 8/1 0:00 100
1 8/1 0:30 300
2 8/1 0:30 200
1 8/1 1:00 500
2 8/1 1:00 300
… … …
1 8/1 22:30 1000
2 8/1 22:30 800
1 8/1 23:00 1100
2 8/1 23:00 900
1 8/1 23:30 1200
2 8/1 23:30 1000
INSERTモデル UPDATEモデル
機器ID、日時ごとに1レコード から
機器ID、日付ごとに1レコード に変換
毎レコードに存在する機器ID,日付の情報を重複して
持たない。
1日の件数: 2億4000万件→500万件
サイズ: 22GB→3GB
26Copyright © 2016 NTT DATA Corporation
改善の効果
108
11
0
20
40
60
80
100
120
前 後
データサイズ(TB)
データサイズの縮小
27Copyright © 2016 NTT DATA Corporation
(3) 大規模参照の性能を安定化せよ!
スマートメーター運用管理システムの主要処理
★
ミッション 3
30分おきに500万件の
指示数を収集
データの
欠測チェック等
最新の
指示数保存
使用量の
保存
使用量の
計算
10分以内
• 毎日、 2億4000万件増加
• 24ヶ月分
(≒1700億件分)保存が必要
500万件
挿入
500万件
挿入
ミッション 1
ミッション 2
バッチ等
大規模参照
28Copyright © 2016 NTT DATA Corporation
大規模参照の性能を安定化せよ!
本案件では、「安定して性能要件を満たすこと」が大切
• 突然の実行計画の変化による性能劣化は避けたい
実行計画制御
特定のプランを選ばせる
pg_hint_plan
統計情報固定化
プランを変更させない
pg_dbms_stats
安定稼動
29Copyright © 2016 NTT DATA Corporation
pg_hint_planとpg_dbms_statsを使用する前に
PostgreSQLのプランナはほとんどの場合は正しい実行計画を選ぶ
実行計画を固定すると、むしろ性能問題を引き起こすかもしれない
• ある時点で最適な実行計画でも、データの内容/サイズの変化により、
遅い実行計画になりうる
それでも、プランナが間違えるリスクを極力ゼロにしなければならない。
→デメリットを理解したうえで採用
• バッチ処理のあと直後のANALYZEが終わるまで
• テーブルの結合数が非常に多いケース
• …
30Copyright © 2016 NTT DATA Corporation
pg_dbms_statsによる固定化
プランナ
pg_dbms_stats
PostgreSQL
本来の
統計情報
実行計画
生成
固定化
“固定化された”
統計情報
31Copyright © 2016 NTT DATA Corporation
本プロジェクトのpg_dbms_stats使いこなし
指示数
データ
日テーブル
固定
統計情報
日テーブル
固定
統計情報
日テーブル
固定
統計情報
日パーティション
新しいパーティション子テーブルの追加と同
時に準備された固定統計情報をセット
コピー
一部の統計情報はテーブルによって異なる
ANALYZEをしなくても、
テーブル作成直後から
すぐに最適なプランが得られる
• テーブルOID、テーブル名
• パーティションキー、時刻
32Copyright © 2016 NTT DATA Corporation
テーブルによって変わるべき統計情報の付け替え
• 値は想定可能なので、ダミーデータを作成。
• ダミーデータをANALYZEした結果をセット
格納された値を元にした統計情報
最頻値・頻度
ヒストグラム
たとえば、”8/1 0:00” “8/1 0:30” “8/1 1:00” など。
1日で48種類。分布は一様になる。
子テーブルによって格納される値が
大きく違うカラム
パーティションキー
時刻
33Copyright © 2016 NTT DATA Corporation
ミッション
1. 1000万件データを10分以内にロードせよ!
2. 24ヶ月分の大量データを長期保管せよ!
3. 大規模参照の性能を安定化せよ!
COMPLETE
34Copyright © 2016 NTT DATA Corporation
まとめ
2016年、PostgreSQL20周年
PostgreSQLはついに大規模社会インフラに採用されるまでとなりました。
しかし巨大なサイズ、厳しい性能要件を持った高難易度のシステムには、
PostgreSQLのノウハウに加え、業務特性も活かした工夫が必要です。
システムの成功のために、徹底した事前検証とノウハウで
PostgreSQLのポテンシャルを引き出しましょう!
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation

More Related Content

What's hot

pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤Yu Otsubo
 
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用Amazon Web Services Japan
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQLAmazon Web Services Japan
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道Jun Kato
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13Amazon Web Services Japan
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
HA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティスHA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティスEnterpriseDB
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...Holden Karau
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaAmazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)NTT DATA Technology & Innovation
 
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送Google Cloud Platform - Japan
 

What's hot (20)

pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
HA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティスHA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティス
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
 

Viewers also liked

ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話Ken SASAKI
 
Apache NiFiと 他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと 他プロダクトのつなぎ方Sotaro Kimura
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
The Future of Analytics, Data Integration and BI on Big Data Platforms
The Future of Analytics, Data Integration and BI on Big Data PlatformsThe Future of Analytics, Data Integration and BI on Big Data Platforms
The Future of Analytics, Data Integration and BI on Big Data PlatformsMark Rittman
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera Japan
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組みRyo Shimamura
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Sotaro Kimura
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)NTT DATA OSS Professional Services
 
値型と参照型
値型と参照型値型と参照型
値型と参照型chocolamint
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)NTT DATA OSS Professional Services
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Hiroki Nakahara
 

Viewers also liked (20)

ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
 
Apache NiFiと 他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと 他プロダクトのつなぎ方
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
The Future of Analytics, Data Integration and BI on Big Data Platforms
The Future of Analytics, Data Integration and BI on Big Data PlatformsThe Future of Analytics, Data Integration and BI on Big Data Platforms
The Future of Analytics, Data Integration and BI on Big Data Platforms
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
 
値型と参照型
値型と参照型値型と参照型
値型と参照型
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 

Similar to Application of postgre sql to large social infrastructure jp

MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報yoyamasaki
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータ
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータHieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータ
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータPuppet
 
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...Insight Technology, Inc.
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM,INC
 
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料Noriaki Ando
 
サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門mangantempy
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlowToshiki Tsuboi
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何かRyousei Takano
 
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8shingo suzuki
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 

Similar to Application of postgre sql to large social infrastructure jp (20)

MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
 
不揮発WALバッファ
不揮発WALバッファ不揮発WALバッファ
不揮発WALバッファ
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータ
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータHieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータ
Hieraテクニック - 効率的にパラメータシートから設定値を取り込む - 横山 浩輔、株式会社NTTデータ
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
 
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)
OSS-DB Gold 合格体験記(第29回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料
 
サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
 
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
pg_bigmを用いた全文検索のしくみ(後編)
pg_bigmを用いた全文検索のしくみ(後編)pg_bigmを用いた全文検索のしくみ(後編)
pg_bigmを用いた全文検索のしくみ(後編)
 

More from NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)NTT DATA OSS Professional Services
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...NTT DATA OSS Professional Services
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)NTT DATA OSS Professional Services
 
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...NTT DATA OSS Professional Services
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)NTT DATA OSS Professional Services
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)NTT DATA OSS Professional Services
 

More from NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
 
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
 
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (10)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Application of postgre sql to large social infrastructure jp

  • 1. Copyright © 2016 NTT DATA Corporation 2016年12月2日 株式会社NTTデータ システム技術本部 電力自由化を陰で支えるPostgreSQL PGCONF.ASIA 発表資料
  • 2. Copyright © 2016 NTT DATA Corporation 2 社会インフラへPostgreSQLを適用する道のり
  • 3. 3Copyright © 2016 NTT DATA Corporation スマートメーター運用管理システムの位置づけ 集約装置 SM SM SM スマートメーター 運用管理システム SM データセンター SM SM SM 集約装置 託送業務 料金計算 (新メニュー用) 他電力へ 新電力へ 請求処理へ Web会員システム ポイントシステム スイッチング支援 電力広域機関 (電力広域的運営 推進機関) ★ SM:スマートメーター
  • 4. 4Copyright © 2016 NTT DATA Corporation システムの主要処理とミッション スマートメーター運用管理システムの主要処理 30分おきに500万件の 指示数を収集 データの 欠測チェック等 最新の 指示数保存 使用量の 保存 使用量の 計算 10分以内 • 毎日、 2億4000万件増加 • 24ヶ月分 (≒1700億件分)保存が必要 500万件 挿入 500万件 挿入 ミッション 1 ミッション 2 バッチ等 大規模参照 ミッション 3
  • 5. 5Copyright © 2016 NTT DATA Corporation ミッション 1. 1000万件データを10分以内にロードせよ! 2. 24ヶ月分の大量データを長期保管せよ! 3. 大規模参照の性能を安定化せよ!
  • 6. 6Copyright © 2016 NTT DATA Corporation (1)1000万件データを10分以内にロードせよ! スマートメーター運用管理システムの主要処理 ★ 30分おきに500万件の 指示数を収集 データの 欠測チェック等 最新の 指示数保存 使用量の 保存 使用量の 計算 10分以内 • 毎日、 2億4000万件増加 • 24ヶ月分 (≒1700億件分)保存が必要 500万件 挿入 500万件 挿入 ミッション 2 バッチ等 大規模参照 ミッション 3 ミッション 1
  • 7. 7Copyright © 2016 NTT DATA Corporation 格納モデルの選択 データは「機器ID」、「日時」、「指示数」を含む 例)機器ID:1は、8/1 1:00 の指示数は500 方法①:UPDATEモデル 機器ID、日付ごとに行を持ち、該当する時間のカラムの値をUPDATE 機器 ID 日付 0:00 0:30 1:00 1:30 … 1 8/1 100 300 500 2 8/1 200 400 PostgreSQLは追記型アーキテクチャを採用しているため、 高頻度の更新処理は性能がでにくい。
  • 8. 8Copyright © 2016 NTT DATA Corporation 格納モデルの選択 機器 ID 日付時刻 値 1 8/1 0:00 100 1 8/1 0:30 300 1 8/1 1:00 500 … … … ○ レコードの追加(INSERT) が速い。 × テーブルサイズが大きくなる。 方法②:INSERTモデル 機器ID、日時ごとに、レコードをINSERT 方法①:UPDATEモデル 機器 ID 日付 0:00 0:30 1:00 1:30 … 1 8/1 100 300 500 2 8/1 200 400
  • 9. 9Copyright © 2016 NTT DATA Corporation 格納モデルの選択 機器 ID 日付時刻 値 1 8/1 0:00 100 1 8/1 0:30 300 1 8/1 1:00 500 … … … ○ レコードの追加(INSERT) が速い。 × テーブルサイズが大きくなる。 方法②:INSERTモデル 機器ID、日時ごとに、レコードをINSERT 方法①:UPDATEモデル 機器 ID 日付 0:00 0:30 1:00 1:30 … 1 8/1 100 300 500 2 8/1 200 400 格納性能重視で採用!
  • 10. 10Copyright © 2016 NTT DATA Corporation 高速ロードにおける性能ファクター 何件おきに コミットすべき?多重度の 最適値? パラメータ? データ型? 制約の有無? インデックス? バージョン? 性能ファクターを洗い出して事前検証 パーティションへの ロード方法?
  • 11. 11Copyright © 2016 NTT DATA Corporation 高速ロードにおける性能ファクター 多重度 8 wal_buffers 1GB サイズが小さい データ型制約は 最小限 インデックスは 最小限 PostgreSQL 9.4 パーティション子テーブルへ 直接ロード 10000件 コミット DB設計へのフィードバック チューニング時の切り札
  • 12. 12Copyright © 2016 NTT DATA Corporation 特に性能改善に寄与した性能ファクター 多重度 8 wal_buffers 1GB サイズが小さい データ型制約は 最小限 インデックスは 最小限 PostgreSQL 9.4 パーティション子テーブルへ 直接ロード 10000件 コミット
  • 13. 13Copyright © 2016 NTT DATA Corporation ボトルネックはWAL処理だった! 19.83% postgres postgres [.] XLogInsert ★ 6.45% postgres postgres [.] LWLockRelease 4.41% postgres postgres [.] PinBuffer 3.03% postgres postgres [.] LWLockAcquire WALがネック! perf(Linux性能解析ツール) WAL処理 WAL ファイル ディスク I/O メモリ WALバッファ 処理内容の 書込み ・コミットされた ・メモリが一杯になった ★ここを速くしたい
  • 14. 14Copyright © 2016 NTT DATA Corporation まずは…wal_buffersパラメータ 「デフォルト設定の-1で選択される自動チュー ニングによると、ほとんどの場合妥当な結果 が得られます。 」 PostgreSQLドキュメントより
  • 15. 15Copyright © 2016 NTT DATA Corporation wal_buffers検証結果 ※格納時間のみ (参照時間等除く) 0:00:00 0:01:00 0:02:00 0:03:00 0:04:00 0:05:00 0:06:00 0:07:00 0:08:00 0:09:00 16MB 1GB 処理時間 wal_buffersの効果
  • 16. 16Copyright © 2016 NTT DATA Corporation PostgreSQLバージョン ・WAL性能向上 ・JSONB ・GINインデックス性能向上 ・ロジカル・デコーディング 9.3 9.4 2014年12月リリース
  • 17. 17Copyright © 2016 NTT DATA Corporation バージョンアップによる高速化 • 当初PostgreSQL9.3を採用予定から9.4に変更 0:00:00 0:01:00 0:02:00 0:03:00 0:04:00 0:05:00 0:06:00 0:07:00 0:08:00 9.3 9.4 処理時間 バージョンアップの効果 ※格納時間のみ (参照時間等除く)
  • 18. 18Copyright © 2016 NTT DATA Corporation 0:07:57 0:06:59 0:05:49 0:03:29 0:03:29 0:03:29 0:00:00 0:02:00 0:04:00 0:06:00 0:08:00 0:10:00 0:12:01 9.3, 16MB 9.3, 1GB 9.4, 1GB 処理時間 格納 その他 改善の効果 目標値 目標達成!! その他処理(参 照、計算など)は チューニング済み。 ※終局時ピークを想定した試験
  • 19. 19Copyright © 2016 NTT DATA Corporation (2) 24ヶ月分の大量データを長期保管せよ! スマートメーター運用管理システムの主要処理 ★ 30分おきに500万件の 指示数を収集 データの 欠測チェック等 最新の 指示数保存 使用量の 保存 使用量の 計算 10分以内 • 毎日、 2億4000万件増加 • 24ヶ月分 (≒1700億件分)保存が必要 500万件 挿入 500万件 挿入 ミッション 1 バッチ等 大規模参照 ミッション 3 ミッション 2
  • 20. 108TB
  • 21. 21Copyright © 2016 NTT DATA Corporation データ型を選んでサイズを小さく • 整数  範囲、精度をカバーできる最も小さいデータ型を使う! • 真偽値  CHAR(1)ではなく、フラグを使う! 型 精度 サイズ SMALLINT 4桁(約±3.2万) 2 byte INTEGER 9桁(約±21億) 4 byte BIGINT 18桁(約±922京) 8 byte NUMERIC 1000桁 3 or 6 or 8 + ceiling(桁数 / 4) * 2 型 表現可能なデータ サイズ CHAR(1) 文字列長1の文字列 5 byte BOOLEAN 真または偽の状態 1 byte
  • 22. 22Copyright © 2016 NTT DATA Corporation カラムの順番を変えてデータサイズを小さく • アライメント(配置境界) • PostgreSQLはアライメントをまたがってカラムを格納しない 1 2 3 4 5 6 7 8 column_1(4byte) ***PADDING*** column_2(8byte) 8 byteの場合
  • 23. Column Type column_1 integer column_2 timestamp without time zone column_3 integer column_4 smallint column_5 timestamp without time zone column_6 smallint column_7 timestamp without time zone 1 2 3 4 5 6 7 8 column_1 ***PADDING*** column_2 column_3 column_4 *PADDING* column_5 column_6 ********PADDING********* column_7 1 2 3 4 5 6 7 8 column_2 column_5 column_7 column_1 column_3 column_4 column_6 72 60 1行あたり12byte 節約すると… 一日あたり2.8GB!
  • 24. 24Copyright © 2016 NTT DATA Corporation 格納モデルの変換 項 番 対象データ 参照 頻度 更新 頻度 方針 方式 1 当日 ~65日分 高 高 更新性能重視 INSERTモデル 2 66日 ~24ヶ月分 低 低 参照容易なレベルで ストレージ量削減 UPDATEモデル 挿入時は性能重視でINSERTモデルを選択 • サイズが大きいので、長期保管には向いていない アクセス頻度が低くなる期間からモデルを変換
  • 25. 25Copyright © 2016 NTT DATA Corporation 格納モデル変換 機器ID 日付 0:00 0:30 1:00 … 22:30 23:00 23:30 1 8/1 100 300 500 … 1000 1100 1200 2 8/1 100 200 300 … 800 900 1000 機器ID 日付時刻 値 1 8/1 0:00 100 2 8/1 0:00 100 1 8/1 0:30 300 2 8/1 0:30 200 1 8/1 1:00 500 2 8/1 1:00 300 … … … 1 8/1 22:30 1000 2 8/1 22:30 800 1 8/1 23:00 1100 2 8/1 23:00 900 1 8/1 23:30 1200 2 8/1 23:30 1000 INSERTモデル UPDATEモデル 機器ID、日時ごとに1レコード から 機器ID、日付ごとに1レコード に変換 毎レコードに存在する機器ID,日付の情報を重複して 持たない。 1日の件数: 2億4000万件→500万件 サイズ: 22GB→3GB
  • 26. 26Copyright © 2016 NTT DATA Corporation 改善の効果 108 11 0 20 40 60 80 100 120 前 後 データサイズ(TB) データサイズの縮小
  • 27. 27Copyright © 2016 NTT DATA Corporation (3) 大規模参照の性能を安定化せよ! スマートメーター運用管理システムの主要処理 ★ ミッション 3 30分おきに500万件の 指示数を収集 データの 欠測チェック等 最新の 指示数保存 使用量の 保存 使用量の 計算 10分以内 • 毎日、 2億4000万件増加 • 24ヶ月分 (≒1700億件分)保存が必要 500万件 挿入 500万件 挿入 ミッション 1 ミッション 2 バッチ等 大規模参照
  • 28. 28Copyright © 2016 NTT DATA Corporation 大規模参照の性能を安定化せよ! 本案件では、「安定して性能要件を満たすこと」が大切 • 突然の実行計画の変化による性能劣化は避けたい 実行計画制御 特定のプランを選ばせる pg_hint_plan 統計情報固定化 プランを変更させない pg_dbms_stats 安定稼動
  • 29. 29Copyright © 2016 NTT DATA Corporation pg_hint_planとpg_dbms_statsを使用する前に PostgreSQLのプランナはほとんどの場合は正しい実行計画を選ぶ 実行計画を固定すると、むしろ性能問題を引き起こすかもしれない • ある時点で最適な実行計画でも、データの内容/サイズの変化により、 遅い実行計画になりうる それでも、プランナが間違えるリスクを極力ゼロにしなければならない。 →デメリットを理解したうえで採用 • バッチ処理のあと直後のANALYZEが終わるまで • テーブルの結合数が非常に多いケース • …
  • 30. 30Copyright © 2016 NTT DATA Corporation pg_dbms_statsによる固定化 プランナ pg_dbms_stats PostgreSQL 本来の 統計情報 実行計画 生成 固定化 “固定化された” 統計情報
  • 31. 31Copyright © 2016 NTT DATA Corporation 本プロジェクトのpg_dbms_stats使いこなし 指示数 データ 日テーブル 固定 統計情報 日テーブル 固定 統計情報 日テーブル 固定 統計情報 日パーティション 新しいパーティション子テーブルの追加と同 時に準備された固定統計情報をセット コピー 一部の統計情報はテーブルによって異なる ANALYZEをしなくても、 テーブル作成直後から すぐに最適なプランが得られる • テーブルOID、テーブル名 • パーティションキー、時刻
  • 32. 32Copyright © 2016 NTT DATA Corporation テーブルによって変わるべき統計情報の付け替え • 値は想定可能なので、ダミーデータを作成。 • ダミーデータをANALYZEした結果をセット 格納された値を元にした統計情報 最頻値・頻度 ヒストグラム たとえば、”8/1 0:00” “8/1 0:30” “8/1 1:00” など。 1日で48種類。分布は一様になる。 子テーブルによって格納される値が 大きく違うカラム パーティションキー 時刻
  • 33. 33Copyright © 2016 NTT DATA Corporation ミッション 1. 1000万件データを10分以内にロードせよ! 2. 24ヶ月分の大量データを長期保管せよ! 3. 大規模参照の性能を安定化せよ! COMPLETE
  • 34. 34Copyright © 2016 NTT DATA Corporation まとめ 2016年、PostgreSQL20周年 PostgreSQLはついに大規模社会インフラに採用されるまでとなりました。 しかし巨大なサイズ、厳しい性能要件を持った高難易度のシステムには、 PostgreSQLのノウハウに加え、業務特性も活かした工夫が必要です。 システムの成功のために、徹底した事前検証とノウハウで PostgreSQLのポテンシャルを引き出しましょう!
  • 35. Copyright © 2011 NTT DATA Corporation Copyright © 2016 NTT DATA Corporation