第7回 PostgreSQLアンカンファレンス@東京
- nuko_yokohama
- 1453
- 0
- 0
- 0
kaigai さんによる PG-Strom の話.OLTP や OLAP ではなく, In-place Computing のワークロードを想定.#pgunconf
2016-05-28 14:46:04#pgunconf 分散を比較して同じ集合か判断するワークロードで試す。 携帯電話の加速度データをオープンにしているものを使ってみた。
2016-05-28 14:46:10#pgunconf Rで書いてみたもの。SQL書いてみたもの。 Rだと3GB転送+計算:30秒 PostgreSQLだと4秒 PG-Stromだと1.7秒。データ転送の時間がとても大きい。
2016-05-28 14:47:47In-Database の処理はデータロードが不要なので,Rで30秒かかる処理もPGなら3秒,PG-Stromなら1.7秒で完了.#pgunconf
2016-05-28 14:50:19#pgunconf 次の検証。創薬でもワークロードの話。化合物データベースから、「できるだけ特性の違う化学物質を選びだす」 なんか、42種類くらいの特性がある。42次元の計算ってこと?
2016-05-28 14:50:39postgresql.jp/document/9.4/h… 第 61章プランナが統計情報をどのように使用するか #pgunconf
2016-05-28 14:52:49使ったのはMin-Max Method これをSQLで記述すると距離計算(sqrt)を大量に羅列することになり 重い・・ #pgunconf
2016-05-28 14:53:04化合物の集合から,ある化合物に対して最も構造の異なる化合物を探す処理もPG-Stromで実行できる.MAX-MIN Methodという手法で距離計算.#pgunconf
2016-05-28 14:53:29#pgunconf 最初に1個ランダムに1個選び、そこから42次元で最遠のものを選択、そしてクラスタ化・・・みたいな演算を延々繰り返す。 SQLで書く距離演算が重い。
2016-05-28 14:53:35#pgunconf 推定行数=pg_class.reltuples*(?) (?)=条件句によって異なる。 条件なし:1、 範囲条件:度数分布率、 一致条件:最頻値に含まれるかどうかで異なり、含まれない場合一様分布を前提に推定、 複合条件:各条件の選択度の積
2016-05-28 14:54:16#pgunconf PL/CUDAの話。SQLの関数内( AS $$ ... $$ )に、CUDAの関数を書き加えてGPUに送る、みたいな仕組み。
2016-05-28 14:55:26PL/CUDA ,SQLの集合データに対する演算を GPU の CUDA のネイティブで実行して,結果を再びSQLの世界へ.HPC の世界でやってることをDBでもできるようにする.#pgunconf
2016-05-28 14:56:26#pgunconf k-meansをGPUの中でぶん回すと高速化できるはず、という。あと数週あれば実装できたと思う。次回のアンカンファレンスにご期待ください。
2016-05-28 14:56:45slony開発自体は止まっていないようです 失礼しました / twitter.com/snaga/status/7… #pgunconf
2016-05-28 14:56:53@nuko_yokohama Gitの方は更新されてますけど、正式なリリースはされてないですね。 git.postgresql.org/gitweb/?p=slon… #pgunconf
2016-05-28 14:33:32#pgunconf 複合条件は、独立した条件として推定されているので * プランなの推定にしたがった表に作りなおす * ヒント句つかう * 統計情報を無理やり書き換える
2016-05-28 14:59:25#pgunconf QA.Apache Matlib(綴りわかんない)との差異化は?というQA. 回答は・・・あとで海外さんに説明かいてもらおう。
2016-05-28 14:59:33#pgunconf 複合条件(AND句)のときの推定行数を見たら、今回の場合には独立(関数従属しない)という仮定が成立してないことがわかったが…。 ・複合条件をやめる ・ヒント句をつかう(局所チューニング、本質的な問題解決ではない) ・統計情報の改竄(楽しそうw)
2016-05-28 15:01:00