2016年3月21日月曜日

Oracle Master Bronze 12c SQL基礎 合格体験記

2016年3月21日

ごきげんよう。

Oracle Master Bronze 12c SQL基礎に合格したので記録しておきます。


受 験 日 : 2016/03/21
合  否 : 合格
受験科目 : 1Z0-061
受験言語 : 日本語
取 得 点 : 73点
合 格 点 : 65点
問 題 数 : 75
出題形式 : 単一選択,複数選択
試験時間 : 120分
勉強期間 : 40-50時間程度
受験目的 : 自分のスキルアップ
勉強形態 : 独学
実務経験 : チョットダケ
勉強前のレベル : OSS-DB Goldは持ってる。実務経験もあるけど12cはほとんどなし。
本試験のレベル : ちょい難しい

何度目の挑戦か : 2回目

【 セクション毎の正解率 】

非公開

【 使用教材 】

【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)」
「徹底攻略 ORACLE MASTER Bronze 12c SQL基礎問題集[1Z0-061]対応」
「最強WEB問題集Oracle Master 12c Bronze SQL基礎(1Z0-061)」


一押し >>> 【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)


本屋さんで中身をみて白本を購入。
その後問題集を購入。


【 勉強方法 】

白本を1週解いてからping-tのWeb問題集にチャレンジしたら全然わからなくて撃沈。
ping-tをほぼ全問銀にしてから1度目の受験をしたが5点足りず不合格。

なので、黒い徹底攻略問題集を購入して1週。
その後、白本の模擬試験を再度実施。

【 試験の感想 】

120分が長いようで、受験すると短い・・・
あまり時間があまらなく焦りました。

見直そうと思っても見直せず・・

1問1.4分しかかけられないので、即答できる問題は即答して
SQLを眺めないといけない問題に時間を使うべきでしょう。

【 受験者へのアドバイス 】

PostgreSQLの資格をもってるから余裕でしょと思ったら大間違いだった・・
Oracle特有の記述方法がもりだくさん。
かつ12cは難易度高いという噂は本当でした・・・

2016年3月現在では、Oracle Master Bronzeの合格条件に
11gとSQL基礎も選べるので
認定だけ狙うならそちらの方がいいかもです。


【終わりに】

1回目の受験時なめてました。。
ちゃんと模擬試験を繰り返してようやく合格しました。

再受験無料キャンペーン中ですが本気で取り組まないと落ちますね・・


以上

2016年1月6日水曜日

MySQL徹底入門 第3版~5.5新機能対応~ を読んだ

2016年1月6日


ごきげんよう。


年末年始でちょこちょこ読んでた
「MySQL徹底入門 第3版~5.5新機能対応~」
が読み終わりました。

読んでみた感じとしてはMySQL初心者にはオススメです。
5.5なのでちょっと古いけど。
ただ、データベースってなんぞや?ってレベルの方の場合は
「おうちで学べるデータベースのきほん」
を先に読んだ方が良いかもしれません。


MySQLに関しては私はトーシローなので、都度ぐぐりーのしながら今までやりくりしてたんですけど、真面目にやらんとダメだなと常々思ってました。
で、ひとまず本を読みながらやっていくかーということでこの本を1冊目にチョイスしました。

CentOS7にMySQL5.5をインストールするところから手を動かしてちくちくやってました。

本の中身としては「徹底入門」らしく、一通りのMySQLの勘所は広く浅く書いてありました。

インストール 
→ 環境設定 
→ テーブル作る 
→ SQLを打つ 
→ PHPとかJavaとかでのデータベースプログラムを作る

って一通りの流れができていてわかりやすいです。

レプリケーションについても最低限の設定方法が書いてあります。
準同期はなんで「準」なのよ。ってところも触れてあります。
ただ、バックアップについても記載があったんだけど、リストアについては記載が少なかったかなーという印象です。

レプリケーションとバックアップ&リストアについては運用面を考えると重要なので、そこらへんの知識が欲しい場合は自分で調べながら補完すると良いかもです。

あと、文字コードの注意点と巻末のFAQがなかなか良かったです。
文字コードはハマることも多いので気をつけたいところです。


というわけで、MySQLを徹底入門しました。
次に読むMySQLの本は下記のどれかかなー。

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
実践ハイパフォーマンスMySQL 第3版
詳解MySQL


以上


2016年1月2日土曜日

「精神科医が教える読んだら忘れない読書術」を読んだ


2016年1月2日

ごきげんよう。

初詣のおみくじは末吉だったので。今年はほどよく頑張っていこうと思います。


さて、今回はIT技術的な話ではなく、先日読んだ本について書きます。

精神科医が教える読んだら忘れない読書術です。

年末年始休みにいくつか本を読む予定だったのですが、当方忘れっぽいのでこの機会にこの本を読みました。
すると「読んだらレビューを書きましょう」ってあったのでレビューとまではいかないけど、感想でも書こうと思った次第です。


で、この本は「精神科医が教える」って書いてありますが精神科医っぽさはほとんどなく、著者が読書をたくさんする人なので、その人が実践してることが書いてあります。
精神科医だからすごいのか?って期待で読むと釣られるんで注意。
読書しまくってる人がやってることって感じです。


はい。中身の話。


1章を自分なりに要約すると。
「読書は楽しみながらやること。で、読んだら行動することが重要。」
たしかに読んでそのままだと忘れちゃうし、行動を伴わないと「おもしろかったー」で終わってしまうのでとても腑に落ちた。
巷によくあふれてる自己啓発本を私も数冊読んだことがありますけど、基本的にどれも「グダグダ言ってないで行動しろ」って書いてあるものだと認識しています。
今回は読書に関してなので、読みっぱなしにしないで読んで気づいたことがあったら行動に移してみましょうってことを言ってるんだと思います。


2章は忘れないためにやることが書いてある。
「本を読んだら10日以内に3回アウトプットすること。」
「議論(飲み屋で話せるくらい)できるくらい読まないと効果が薄い。」
ということだそうです。
要するにインプットだけだと忘れちゃうってことですね。
読む前からアウトプットを意識して読むと良いそうです。


3章はアウトプットについてもう少し書いてある。
「具体的にどこがためになったのかを要約して誰かに伝えること」
「感想は読んだ当日でもいいけど、書評やレビューは次の日にする。なぜなら当日だと感情的になっちゃうから」
私からすると「これはどうなんだろうな?」と感じた。
本の種類にもよると思うんですよ。
小説とか自己啓発本とかはわかるんだけど、技術書の類はどうなのかなと。
技術書を読むときはたいてい手も動かす(はず)なので、視点が違うのかもしれない。


4章から忘れない読書術はどっか行っちゃってる。
「面白そうと思って本を買ったらすぐに読み始める。熱が冷めちゃうから」
これはその通り、、積み本はよろしくないね。。私はたくさん積んでます。。。
「著者に直接会う」
ってのもあった。
たしかに自分にとって良かった本の著者は実際に会ってみたい。
PostgreSQLの場合はJPUGのイベントとかアンカンファレンスとかに著者がいらっしゃることがある。


5章はどんな本がいいの?って話になってる。忘れない読書術はどこ行ったんだ。
「なりたい人が書いてる本、推薦してる本を読む」
これは最近自分でも気づいていて、技術書を読むときに、(自分の中で)すごい人が書いてる or 話題にしている本はいい感じなことが多い。
最近だとそーだいさんが「SQLアンチパターン」という本をオススメしてた。
ので、早速買った。
25章あってまだ私は5章くらいまでしか読んでないけど、すごく良い本。
データベース設計する人は読んでおいて損はない本。一部の人たちが名著と呼ぶのも納得。


6~8章は「電子書籍すげー」って話と「著者(樺沢 紫苑さん)のオススメ本の紹介」です。
オススメ本に精神科医っぽい視点が入ってるんだけど、一般の人はそれを読むか?って感じの本がいくつか紹介されてる。
あと読書好きにはKindleが便利で、いかに便利かってのがながーーく書いてあった。
まぁ、電子書籍便利だよね。って感じです。
すげぇどうでもいい。この章削って100円くらい安くしてくれ


総括:
「アウトプットを意識して本を読む」ってのと「レビューを書きましょう」ってのはとても納得。
これは今後実践していきたいところ。
なのでブログに書いてみた。


以上です。




2015年12月13日日曜日

第6回 PostgreSQLアンカンファレンス@東京(2015/12/12)に参加しました

2015年12月13日

ごきげんよう

第6回 PostgreSQLアンカンファレンス@東京(2015/12/12)
に参加しましたので、その際のメモを参加報告として記載します。


Twitterハッシュタグ:#pgunconf

======================

■ウィンドウ関数とplv8、PL/R  国府田 諭さん

ウィンドウ関数はWindowsじゃない!w

から始まりました。

PostgreSQLのウィンドウ関数はドキュメントがわかりにくいとのこと。

たしかにドキュメントがちょっとわかりにくい
3章、4章、9章、リファレンスにまたがってる。

というわけで
plv8でウィンドウ関数を自作した

Q.
Window関数をごりごり使う時は分析が多い 
Rとかで実装する方がよくない?
plv8はフィット感どうなの?

A.
大量のデータはRでやるには荷が重い


Web系の人が必要かもしれない?


■所感■
たしかにWindow関数のマニュアルは読みにくいかもしれない
plv8 は初耳単語なので調べます・・

======================

■2016年にしたいこと 桑田さん

1、libpgなしでもDBにアクセスしたい

問題点
・DBドライバが配列型やJSON型に未対応
・libpgのバインディングを言語ごとに作るのは面倒
・新しい言語を試したくてもDBアクセスできないから実用性が低い


解決策
・DBサーバにhttp1/2機能(I/F)を追加

 どの言語でもhttpには対応している
 非同期アクセスもしやすい


2、SQLの静的解析を評価したい

 SQLのテストは少々困難
  → テストデータを用意するのが面倒

 データ型や制約を活かしきれてない
 例;スカラサブクエリになることを表現できない

JavaはCheckStyleやFindBugsみたいなツールがあるけど
SQLだと静的解析するツールが(そんなに)ない!


JSONはちょっと難しい
 → 時刻や日付のデータ型がない

JSONの欠点は「全部」をパースしないと解析できない

http2をDBサーバに組み込むの誰かやってくれたら嬉しい


■所感■
http2のI/Fが追加されたら確かに面白いかも


======================

Kei Hibioさん

Haskellを使ってSQLを組み立てるDSLを作りました

■資料
https://htmlpreview.github.io/?https://github.com/khibino/haskell-relational-record/blob/master/doc/slide/PostgreSQL-Unconference-201512/Query.html


あれやこれや作ってみたようです
・inner Join
・Left Outer Join
・group by
・order by

Q 普段これ使うの?どう使うの?
A SQL生成するところだけ発表したけど、結果も生成されるんです


HaskellのI/FがPostgreSQLにない?



■所感■
スライドを見ながら
なるほど・・って感じたけど
自分じゃ絶対かけない・・・


======================

うさぎコレクター ~PostgreSQLで画像データ管理~
Ayumi ishiiさん

■資料



■問題
変化の激しい世の中において常に技術を追いかけ高いパフォーマンスが求められる
→ 癒しが重要
 → ペットのうさぎが癒し業をボイコットしてる

■仮説
うさぎ画像をみれば癒されるのではないか


■やってみる
うさぎ画像の検索結果から画像を抜き出す
→ ローカルに画像を保存
→ PostgreSQLで画像情報を管理する

<コンプライアンス注意>
非営利目的での再利用が許可された画像に限定
取得した画像は個人で癒しに使うのみ


Googleに非営利目的での再使用が許可された画像を表示する機能がある
→ 非営利目的用のURLになってる
 → 正規表現で地道にこれを抽出する!


ただし、うさぎ画像を非営利目的用画像にしぼると
かわいい画像が減る問題発生


画像をどうやって管理する?
・bytea → データ量が多くなると性能劣化
・ラージオブジェクト → io_import()などを使う
・外部ファイル → 画像の更新がDB管理でできない

PHPを使うとこんな感じになる
insert into image values(Io_import('/home/postgres/1')


■結果

画像フォルダがうさぎ画像でいっぱい!
手元にうさぎ画像がいっぱい!
ローカルなのでオフラインでもうさぎ画像がいっぱい!
何が起きてもうさぎ画像がいっぱい!

Q
このシステムの欠点がある。
このシステムにより飼ってるうさぎが癒し業を完全に放棄してしまうのでは?

A.
うさぎに気づかれないように使いますw


■所感■
こういうの好きw
他の画像でもできそうだし、応用が効きそう
アンカンファレンスらしい発表だった

======================

9.5で追加されたGroup by機能の使い方 喜田さん


GROUP BY GROUPING SETS
1クエリで複数の集計を組み合わせて取得

標準SQLへの対応したと考えてる
・GROUP BY GROUPING SETS
・GROUP BY ROLLUP
・GROUP BY CUBE
 → CUBEはクロス集計ができる


■Group byの新機能で嬉しいこと
1クエリで結果を得られるのでAPとDBのアクセス回数を削減できる。
SeqScanの回数を削減できる。

■注意点
ソートが激増してDISKソートになるので、WORKメモリを増やしましょう
→ クイックソートになります


grouping関数の存在と役割。
9.5では使えたがマニュアルに書いてないし、pg_procなどからも定義が探せない。

関数じゃなくて修飾子っぽい?


■所感■
Group byはたしかに何回もやらないと
欲しい集計が今までできなかった気がする。
複数列を一気に対象にできるなら便利そう。


======================

PostgreSQL CLUSTER計画 久田正樹さん


ウィーンに行ってきました
PostgreSQL Conference Europe 2016

世界最大の401名の参加で世界最大


PGConf.EU Cluster Summitで何が決まった?
 PostgreSQL TODOに更新があった
 FDW、パラレル実行、パーティショニング、おそらくGSM/GTMを拡張し、ビルドインのShardingソリューションのPOCを作る

議事録公開されてるけど、参加みんな言いたい事いっててよくわからないw


シャーディングをする => PostgeSQLがCLUSTER化されることが決まった!

ひとまずShardingでクラスタのPOCを作りますよ

Postgres-XCを拡張する?
※よくわからなかった

Q:
クラスタ化のマイルストーンありましたか?

A:
ありません


■所感■
クラスタ化されるのが早ければ2~3年後かも?
という話もでていた。
たしかにそろそろクラスタ化とか、こういう話がでてくるんだろうなと思った。
Postgres-XCの発展も個人的には期待したい。


======================

postgres_fdwを久々に使ってみた  ぬこさん


AWS RDS PostgreSQL上では実質的に日本語全文検索できねーじゃねーか!
→ postgres_fdwを使おう


※スライドみててメモとってなかった・・

■資料



■所感■
postgres_fdwって聞いたことしかなくて
調べるにはいい機会になった。


======================

パラレルシーケンシャルスキャンの検証 snagaさん


9.6に実装される機能?

パラレルシーケンシャルスキャンのデモ

資料は以下


■所感■
シーケンシャルスキャンが高速化するなら、みんな幸せになりそう。
ただ、まだまだ検証段階なのでこれからどうなるのか楽しみ。
場合によりIndexよりも速くなったりするのかなぁ。



以上

2015年12月6日日曜日

OSS-DB Gold 合格体験記

2015年12月6日

ごきげんよう。

この記事はPostgreSQL Advent Calendar 2015 - Qiitaの6日目の記事です。

5日目はnuko_yokohamaさんに書いていただきました。


テクニカルな話題はみなさんにお任せして
ついさっきOSS-DB Goldに合格したので
その合格体験記(受験体験記)を記載します。

OSS-DB Goldの記事なネットにあんまりないので、少しでもお役にたてば。


受 験 日 : 2015/12/06
合  否 : 合格
受験科目 : OSDBG-01
受験言語 : 日本語
取 得 点 : 73点
合 格 点 : 70点
問 題 数 : 30
出題形式 : 単一選択,複数選択
試験時間 : 90分(同意書・アンケート含む)
勉強期間 : 30-40時間程度
受験目的 : 自分のスキルアップ
勉強形態 : 独学
実務経験 : チョットダケ
勉強前のレベル : Silverの内容すら忘れている状態。contribってなんですか?
本試験のレベル : 簡単ではない。受験するなら本気になった方がいいです。

何度目の挑戦か : 1回目

【 セクション毎の正解率 】

運用管理         ・・・77%
性能監視         ・・66%
パフォーマンスチューニング・・・66%
障害対応         ・・・83%

【 使用教材 】

「PostgreSQL運用管理トレーニング」
「PostgreSQL 高度技術者育成テキスト」
「iStudy for OSS-DB技術者 OSS-DB Gold(Android版)」
「OSS-DBのサイトからダウンロードできる過去の対策講座資料」
「内部構造から学ぶpostgresql 設計・運用計画の鉄則」
「PostgreSQL日本語マニュアル」


一押し >>> PostgreSQL運用管理トレーニング


まず、OSS-DB Goldの対策本が他の試験のようにありません。
Silverの出版社に問い合わせましたが
出版予定はないってバッサリ切られました。
# 出せば売れそうなのに

なので、OSS-DBの公式サイトに載っている対策本をやるしかなかったです。


ただ、
「PostgreSQL運用管理トレーニング」
は4万円するという高価なテキストです。
私はたまたま入手経路がありましたが
多くの人は手に入らないんじゃないかと思います。

なのでその場合は
「PostgreSQL 高度技術者育成テキスト」
を確実に制覇しましょう。
数千円で手に入りますし、実務にも使える感じです。

あと
iStudyですが
PC版はwindows8.1以降に対応してないし(するつもりもないって言われた・・)
16000円くらいします。
スマホ版だと
まったく同じ問題、同じ構成で4000円(2000円×2)で手に入ります。
なのでこちらをオススメです。



【 勉強方法 】

試験勉強をする前に
この試験を受験する方はSilver合格済みと思いますが
結構忘れていませんか?

「内部構造から学ぶpostgresql 設計・運用計画の鉄則」

をまずは読みました。
この本はPostgreSQL9.3ベースですが、一通りのPostgeSQLの知識がまとまっており
知識ベースの持ち上げに最適です。


さて、ここから試験対策本題です。

まずはOSS-DBの公式サイトで試験範囲を確認。
その後、OSS-DBの公式サイトにあるOSS-DB Goldの講座(セミナー)の資料を確認。
資料に書いてある用語で初耳なのはぐぐりーのします。

「PostgreSQL運用管理トレーニング」を一通り読んでから
「iStudy for OSS-DB技術者 OSS-DB Gold(Android版)」を全問正解(バグあるけど)できるまで
やりつくす。(私は移動時間にポチポチしてました)

ここがポイントで1度ある程度の知識まで自分を持っていきます。

そのあとに
「PostgreSQL 高度技術者育成テキスト」
を読み直して知識を補填します。

そして公式サイトに公開されている問題や
手に入る問題はひたすら解きます。

iStudy の問題レベルはやや低いですが
「PostgreSQL 高度技術者育成テキスト」
の問題レベルはやや高いです。

しかし、手に入る問題が少ないため、可能ならばどちらもやりましょう。


【 試験の感想 】

問題数30問で試験時間は事実上80分です。
合格基準が70%なので9問ミスまで許されます。

情処試験やTOEICのように時間に追われる試験ではないので1問1問確実にやりましょう。
特に「適切な答え」と「誤った答え」のどちらを問われているかを間違えないように!

計算問題もありますが、その場合はその問題のみ使える電卓機能があるので
手書きでひっ算したりしなくて済みます。

問題を解く際に、自信がない問題はフラグを付けておきましょう。

一通り丁寧に解き終わった時点で残りが30分程度だったので
フラグをつけた問題をじっくり考えました。

で、どーしてもわからないものはラッキーを信じて埋めて置きます。

時間があまるなら、自信をもって解答した問題も見直してください。
9問ミスまでしか許されません。
1問が致命的になるためです。


【 受験者へのアドバイス 】

「試験に合格さえすればいい!知識を詰め込んでやる!試験なんて覚ゲーだろ!」
って考えはやめておいた方がいいです。
試験を受けて実感しましたが
各種参考書に載ってない問題がわんさかでます。

なので、この試験を勉強する際には
実際に実機でインストールして環境を構築して
ポチポチやりながら勉強することをお勧めします。

「それがめんどくさい!合格すりゃあいいんだ!」
という方は
もうとにかく問題を解いて、マニュアルを読みましょう。

そして繰り返しますが
これだけの本や資料を読んでも
まったくみたことないコマンドなり用語なりが試験には出ます。
(マニュアル制覇すれば別かもですが)

なのでつまずいたり、自信がないってところは
マニュアルみるなり
ぐぐるなりした方がいいです。


【終わりに】


というわけで、何とか合格しました。
ひとまずPostgreSQLの試験はこれが最上位ですが
ここでようやくスタートラインです。
ここで得た知識をもとに、PostgreSQLの実務経験を積んでいきたいところです。



明日の PostgreSQL Advent Calenderの担当はnoborusさんです。よろしくお願いします。

以上!

2015年11月28日土曜日

PostgreSQLカンファレンス2015 に参加しました。


ごきげんよう。

PostgreSQLカンファレンス2015 に参加しました。

https://www.postgresql.jp/events/jpug-pgcon2015/


参加報告を簡潔に記載します。

■ハッシュタグ #pgcon15j

#敬称は略

=======================

1、【 基調講演 】PostgreSQL 9.5 について

PostgreSQL 開発者
Michael Paquier



1-1、講演内容

(1)
掲題の通り、PostgreSQL9.5について講演なさってました。

(2)
来月中に9.5.0が出る見込みらしいです。

(3)
ここでも目玉機能は UPSERT でした。
INSERT文の拡張だと私はとらえていますが、
INSERT...ON CONFLICT文により
データ格納時に衝突が起きたらどんな動きをするか指定することができます。
かなり便利な機能かと。

(4)
あとの話は
・BRINインデックス
・GROUPING SETS
・JSONBの拡張
・RLS(Row-Level Security)
など

RLSはユーザによって検索できる行を制御できるというもの。

(5)
Streaming standbyとして

archive_mode = 'always'

が追加されます。
WALを制御するコマンドですが、この効果により
WALの欠損を防ぐことができる・・? ような認識をしました。


(6)
pg_rewind

ベースバックアップをとったあとに
マスタとスレーブでWALの内容が異なっていく
そしてマスタが何らかの理由でマスタじゃなくなり
スレーブが昇格する際に
マスタのWALをRewind(巻き戻して)、ベースバックアップした時間まで戻り、
そこから昇格したスレーブのWALをたどっていくようです。

# 文字で表現するのがとても難しい・・

(7)
他にも
checkpoint_segmentsがなくなり
max_wal_sizeでコントロールするようになったらしいですが
これはソフトウェアでの制御になるので
実際は流れてくるwalの塊の量によって
サイズオーバーしてしまうことがあるので注意するべしとのこと。



■所感

WALまわりの変更が多い印象を受けました。
ストリーミングレプリケーションの欠点や
ベースバックアップの考慮などに力をいれている印象です。

RDBとしての機能として大きな変更はないように見受けられたので
PostgreSQLとしてどういう方向に今後力を入れていくかが
垣間見られた気がします。


===================================

2、【 基調講演 】
企業における Postgres Way はこれだ
~ 6 年間の取り組みから語る失敗事例と成功パターン ~

株式会社アシスト
データベース技術本部
徳原 茂之


★スライドは後日アップロードされるそうです。


注意:
アシストさんは
「PostgreSQL」も「PostgresPlus」も
「Postgres」と呼ぶので、そこは注意が必要です。
聴いててどっちなのかわからないことが多々あり・・


<<議事メモそのまま載せます>>


2-1、講演内容

(1)
●アシスト社のPostgresへの取り組みの紹介

・パフォーマンスセラピー
 Oracleの性能情報をグラフで可視化するサービス

・勤怠管理
 社内の勤怠管理をPostgresを使ってシステム化した


(2)
●採用傾向の変化

OSS-DBを採用する動きが活発化

・ご相談傾向推移

2013年は新規システムの検討が多い
2015年は移行が多い
 どういうケースでPostgresを使うのか、
 どういう設定にするのか基準を作りたいという要望が多い

・ANAシステムズ様 事例
 Postgresの選定・構築・運用の基準を確立


・大和総研ビジネスイノベーション様 事例
 社会インフラ等クリティカルなシステムでの採用
 
 電力の管理、分析システムの根幹のエンジンにPostgres


(3)
●ヨーロッパにおけるPostgreSQLの取り組み

 EU全体におけるPostgreSQL開発と普及活動
  AXLEプロジェクト
  各種イベント
   カンファレンス
   Meet Up MTG


・大規模データベースへの対応
 AXLEプロジェクト
  10~100TBのデータベースを対象
  BI処置を高速かつセキュアに
  9.5以降の機能開発に貢献
   BRINインデックス
   Tablesample
   双方向レプリケーション
   列単位での格納・圧縮(COAST)

・主要都市でのイベント開催
 PGDay UK
   イギリス国内のカンファレンス1日
  2015年度100名

  物事をオープンにすることが、物事がよくなることだ
  'Make things open: it makes things better.'

 London Meet up
  年3-4回


・PostgreSQL Conference Europe
 ヨーロッパで最大のカンファレンス 4日間
 2015年度400名 過去最高
 多くの主要デベロッパーが参加


・主要都市でのイベント開催
 FOSDEM
  OSCみたいな感じ 無料 オープンソース全体のイベント2日間
  5000-6000名
  PostgreSQL、MySQL、Virtulalization etc..


・ドイツ Zalando社
  ヨーロッパ最大のオンラインショッピングサイト

 導入背景
  処理性能確保のためPHP+MySQLだったのがJava+PostgreSQLへ書き換え
  データ規模 5TB (12GB/1日増加)


・Adspert社ドイツ

 SaaS型のWeb広告系サービス

 導入背景
  OLTP/OLAP用別のデータベースをPostgreSQLで統合
  データ規模:3TB

 導入効果
  顧客ユーザ事にデータベースを分割することでデータを水平分散

  5台のサーバに1TBずつに分割してる

  PostgreSQLはOracleのマルチテナントの思想を元からもっている


・TanTan社 中国
 スマートフォン向け出会い系アプリケーション

 PostGISの機能性を評価し、PostgreSQLを採用
 メモリ256GB ストレージSSD データ規模3TB


 8インスタンスへデータを水平分割し、ストリーミングレプリケーションで参照処理の負荷を分散
 大量の日時処理 1億6千万のINSERTや1200万のSELECT処理の性能を確保


(4)
■Postgresの製品評価

 柔軟&フレンドりなライセンス
 学びやすいDBアーキテクチャ
 エンタープライズ向け機能進化
 活発なコミュニティ活動

 1500件/年の問い合わせ
 障害解決率が高い


(5)
■なぜ企業への浸透・活用は進まないのか


失敗事例
 
A社 採用が進まない
 OSSの積極的な採用を会社方針としている

 失敗要因
  稼働実績の多さからSIerが商用DBを提案する
  DB選定に対する基準があいまいなため、提案内容への指摘ができない
  スキル習得に要するコストが読めない
  担当者が責任を負いたがらない


B社 コストメリットが得られない
 パッケージソフトのリポジトリを商用DBからPostgresに変更

 失敗要因
  アプリケーション改修カ所が想定より多い
  改修コストがライセンスコストの減額分を上回ってしまう
  パッケージソフトの販売展開が見通せていない

C社 ヨコ展開が進まない
 展開効率化のため、事前に共通ドキュメントを整備(ガイドライン)

 
 失敗原因
  推進役が不在
  共通ドキュメントを効果的にアピールする場を作れない
  ドキュメントが陳腐化し、メンテナンスに追われる


(6)
■企業・情報システム部門が抱える課題
 慢性的なヒト不足
  工数・スキルに対する不安


「技術課題」以上に「ヒト課題」を解決することが企業への浸透に大事


展開に向けたステップ

 小さなハードルをまずはこえる

(7)
まとめ

 最初の一歩を踏み出そう
 一発もので終わらない
 サービスや製品をうまく活用しよう




■所感

タイトルが大げさすぎたような印象。
「失敗パターン」とはPostgresの導入ができなかったケースを指し
Postgresを入れてシステムを構築してからの失敗事例ではなかった。

また、
ヨーロッパ最大のオンラインショッピングサイトでも
データ規模は5TBで、データの増加も1日12GB程度とのこと。
1日数TBくらい増加するのかなと個人的には思っていたので
少し拍子抜けしました。
これらの数値は今後のシステム開発の指標として参考になるかもしれません。


================================================================
【K1】

3、あなたの知らない PostgreSQL 監視の世界
TIS 株式会社
中西 剛紀


3-1 講演内容

スライドがかなりしっかりしてるので
詳細はそれを確認してください。
# 公開されるかは不明

スライドが手に入らない場合は
pg_monz
を調べると良いと思います。


(1)
PostgreSQLの監視をどうするかという話

(2)
まずは「正しく動いてんの?」を監視する

(3)
PostgreSQLの監視に使える情報
・PostgreSQLの標準機能
 -コマンド:pg_isready など
 -関数:pg_is_in_recoverry()など
 -稼働統計情報:pg_stat~~~
 -ログ

(4)
PostgreSQLの監視に使えるツール
・pg_stat_statements
・pg_statsinfo(Oracleのstatspackのようなもの)
・pg_monz


(5)
ツールをうまく組み合わせましょう
・pg_monzは「監視」ツール
・pg_statsinfoは「性能分析」ツール
・PostgreSQLのサーバログ



■所感
このセッションではpg_monzが便利ということが伝わりました。
Zabbixと連動して監視が視覚的にできるようです。

pg_monzのページ
http://pg-monz.github.io/pg_monz/



================================================================


【M2】

4、PostgreSQL セキュリティ総復習

アップタイム・テクノロジーズ
永安 悟史


スライドはこちら
http://www.slideshare.net/uptimejp/postgresql-54761353


4-1、講演内容

スライドが公開されているのでメモを記載します。

(1)
PostgreSQLカンファレンスはSIerが多い

(2)
狙われてるのはデータベース
→ セキュリティが重要

(3)
クラウドになってDBサーバがいろんなところにある場合
平文でパスワード認証はネットの海に流れるので注意!

(4)
PostgreSQLはOracleほど細かくセキュリティ設定できない

Oracleは1台のインスタンスをみんなで使う設計?
PostgreSQLは1台のサーバを使うことは想定していない?

(5)
権限の棚卸、クリーニングはセキュリティの基本

(6)
いかにして「想定していないSQLの実行」を防ぐか
→ 実行できるSQLを制限してしまえばいい
 → sql_firewallを作った

学習していないSQLの実行を防止することができる

(7)
バックアップファイルは暗号化されないし
置きっぱなしになることが多々あるため気をつけましょう!



■所感

SQLの実行そのものを制御してしまおうという発想はなかった。
しかし、たしかにそれによってセキュリティは向上しそうです。

また、クラウド上にDBサーバを設置している場合は
ネットの海にさらされてるということを忘れてはいけません。

sql_firewall
使ってみたいと思いました。


================================================================

【M3】
5、監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性

日本電信電話株式会社
NTT オープンソースソフトウェアセンタ
DBMS 担当
大山 真実


5-1、講演内容


(1)
DBの監査は重要

(2)
DBAの1割が
DBに格納されている情報を売却するかもしれない、改ざんするかもしれない、破壊するかもしれない。
つい、むしゃくしゃしてしまうw

(3)
PostgreSQLには監査ログの出力機能がない?
→ log_statement = all がある

(4)
しかし
・監査するのが大変なログ問題
・性能低下問題
・運用ログと監査ログが混ざっちゃう問題
・スーパーユーザなんでもできちゃう問題
があげられる。

(5)
そこで
PostgreSQLの監査ログ出力ツール
pgaudit
の出番

(6)
pgauditはPostgreSQL9.5対応
※ 複数のpgauditやpg_auditが存在しているので注意

(7)
pgauditの特徴
・サーバログより粒度の細かいログ出力が可能
・サーバログで取得できない情報を取得可能
・ログはサーバログに出力される
・設定値はすべてGUC


■QA.

(1)
pgauditいろいろある問題 それぞれの違いは?IFは同じ?
→ 2ndはセッションログ
 使うにはどれが適するか確認してから使うこと

(2)
pgまじゃー?を使ってる ログを解析するツール
それと合わせて使いたい
ログラインプレフィックスはPostgreSQLのログと同じ?
→ 同じ

(3)
PostgreSQL本体がだすログと、auditのログをわけるには?
→ AUDITプレフィックスがつくのでそれで区分けしてください

(4)
auditは性能ダウンがどれくらい抑えられる? むしろCPU負荷があがるのでは?
→ 要件による フィルタのオーバヘッドは測定してないI/Oが1番ネックなので多少マシにはなるはず


(5)
監査ログをだすとたくさんログがでる。ローテーションはできるの?実際に監査が必要な企業で使われてる事例
→ ローテートはサーバログのローテーション サーバを起動したままできる
  使ってる企業はあるかに対しては、むしろお客さんの要望があって作った。日本は言えない



■所感

ログ機能の強化としてpgauditを使うことは
十分に選択肢になりうると感じました。
いろいろと細かい設定で、多数の出力項目を有しているので
本当に詳細なログを出力・取得することができそうです。


スライドがかなり作りこまれていて
細かい情報が記載されているので
もし公開されるなら確認しても良いと思います。

================================================================

【K4】
6、PostgreSQLアンチパターン
JPUG 中国支部支部長
曽根 壮大

スライドはこちら
https://www.slideshare.net/secret/3GPc5Zqug0gIJk



6-1、講演内容

詳細はスライド参照

(1)
・削除フラグは悪
・配列型、JSON型を使うより、まずは正規化
・マテビューはリフレッシュの影響が大きい安易に作りすぎないこと

(2)
ちゃんと正規化・設計をしましょう


■所感
削除フラグのカラムの作成、配列やJSON型、マテビュー
どれも使う前には設計が怪しいと疑うこと。
正規化をめんどくさがらないで、ちゃんとやることの大切さを再認識しました。


================================================================

■全体的な所感

今年のPostgreSQLカンファレンスはセキュリティの話が多かった印象です。
これはPostgreSQLのRDBとしての機能も大事ですが
運用において注意するべき点が注目されてきたということであり
PostgreSQLがある程度成熟した技術になってきたのかと感じました。


以上


2015年10月25日日曜日

オープンソースカンファレンス2015 Tokyo/Fall に参加しました(2日目)

ごきげんよう。

オープンソースカンファレンス2015 Tokyo/Fall に参加しました(2日目)

掲題の通り
2015年10月24日、25日に開催の
オープンソースカンファレンス2015 Tokyo/Fall に参加しました。

25日(2日目)の参加報告を簡単に記載します。

OSC2015 Tokyo/Fall公式ハッシュタグ:#osc15tk



<<2日目>>

■高機能アクセス解析ソフト Piwik の紹介・活用法


Piwikってまったく聞いたことなかったので、試しに聞いてみました。
「ぴーうぃっく」
と読むそうです。

OSSなWeb+モバイルアクセス解析プラットフォーム
らしいです。

コミュニティが毎月活発らしい
リファナースパム?に対策をGithubで公開中

結局よくわからなかったので
とりあえず公式サイトを貼っておきます。

■PostgreSQL 9.5の新機能紹介

10月6日のSRA OSS社のイベントとほぼ同じスライドでした。
いろいろ新機能はありますが
スライドを見た方が早そうなのでリンクを貼っておきます。




■分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向

Hadoopとはなんぞや?
からの説明と下記2点の紹介

Apache Hive:
 HiveQLというSQLライクな言語でMapReduceを実行
Apache Pig:
 Pig Latinという独自の言語でMapReduceを実行

また新たな並列分散処理エンジンの出現として下記の紹介

Apache Spark:
 大規模データの分散処理をオンメモリで実現


スライドがすごくよかったんで、メモをあんまりとってなかったです。。
公開されたら嬉しいです。


■pgpool-II 入門! ~PostgreSQL 用クラスタツールの使い方を基礎から学ぼう~

資料が公開されるようです。

なので簡単に記載します。

pgpool-IIとはPostgreSQLのクラスタツールです。

データベースクラスタリングの目的は3つ。
 
1.高可用性の確保
  サービスを停止させたくない
  1つのデータベースが故障しても別のデータベースが肩代わり

2.参照負荷分散
  大量のアクセスをさばきたい

3.並列処理
  大量のデータを解析したい


で、PostgreSQLのストリーミングレプリケーションには課題がある。

ストリーミングレプリケーションの課題
 負荷分散 更新クエリ・参照クエリの振り分け
 DBサーバに障害が発生したら手動で対応するのか
 プライマリがダウンしたら更新ができなくなる?サービスが停止してしまう?

pgpool-IIとは
 アプリケーションとPostgreSQLの間に入ってクラスタリング機能を提供するミドルウェア
 アプリケーションからみると普通のPostgreSQLに見える
 BSDライセンス


・参照負荷分散
 クエリの自動振り分け
 更新クエリはプライマリサーバへ
 参照クエリはサーバ間で振り分け

・自動フェイルオーバー
 プライマリサーバに障害が派生した場合
 負荷分散からの切り離し
 スタンバイをプライマリに自動昇格

・オンラインリカバリ
 ダウンしたスタンバイをプライマリに同期させる
 同期中も更新が可能

・インメモリクエリキャッシュ
 SELECTクエリの結果をメモリ内にキャッシュする機能
 同じクエリが着た時に再利用する
 DBへのアクセスが減り、性能向上


などなどの便利な機能が使えます。

ちなみに
pgpoolAdminというGUIツールもあるそうです。



▲各展示ブースをまわる


空き時間に各展示ブースを巡ってました。
前日と大きな変更はなかったです。

ただ、
IBM  Cognos
というBIツールを某ブースで教えていただきました。

BIツールはたくさんありますが、この子はなかなか簡単操作でできるっぽいので
別途調べてみようと思います。


★2日目の所感

初日とは違って、初めて聞くOSSやツールについていくつか知ることができました。
どれも便利そうなので、別途調べて使ってみたいと思います。



★★全体の所感

セッションでも各展示ブースでも、あちこちで
「fluentd」
を使ってることが多くて、これが一番ホットなんじゃないかと思いました。
ログの収集ツールとしてデファクトスタンダードにまでなっている?
実際に触ったことがないので、fluentdは要チェックしようと思います。

で、2日間参加させていただきましたが
とても楽しく充実してました。

明星大学は都心からやや遠いですが
それでも参加する意味は大いにあると感じました。


以上