Enviar pesquisa
Carregar
PostgreSQLの魅力_エンジニア勉強会20130702
•
1 gostou
•
1,056 visualizações
エンジニア勉強会 エスキュービズム
Seguir
7月2日に開催されたエスキュービズム社内勉強会資料です。
Leia menos
Leia mais
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 10
Baixar agora
Baixar para ler offline
Recomendados
CakePHPとYii_エンジニア勉強会20130820
CakePHPとYii_エンジニア勉強会20130820
エンジニア勉強会 エスキュービズム
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
エンジニア勉強会 エスキュービズム
Windows ideの遷移
Windows ideの遷移
エンジニア勉強会 エスキュービズム
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】MicrosoftAzure.
【エンジニア勉強会】MicrosoftAzure.
エンジニア勉強会 エスキュービズム
Koa.js_エンジニア勉強会20140328
Koa.js_エンジニア勉強会20140328
エンジニア勉強会 エスキュービズム
Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718
エンジニア勉強会 エスキュービズム
Gentoo linux_エンジニア勉強会20130806
Gentoo linux_エンジニア勉強会20130806
エンジニア勉強会 エスキュービズム
Recomendados
CakePHPとYii_エンジニア勉強会20130820
CakePHPとYii_エンジニア勉強会20130820
エンジニア勉強会 エスキュービズム
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
エンジニア勉強会 エスキュービズム
Windows ideの遷移
Windows ideの遷移
エンジニア勉強会 エスキュービズム
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】MicrosoftAzure.
【エンジニア勉強会】MicrosoftAzure.
エンジニア勉強会 エスキュービズム
Koa.js_エンジニア勉強会20140328
Koa.js_エンジニア勉強会20140328
エンジニア勉強会 エスキュービズム
Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718
エンジニア勉強会 エスキュービズム
Gentoo linux_エンジニア勉強会20130806
Gentoo linux_エンジニア勉強会20130806
エンジニア勉強会 エスキュービズム
エンジニア勉強会_Node.js
エンジニア勉強会_Node.js
エンジニア勉強会 エスキュービズム
de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
エンジニア勉強会 エスキュービズム
モダンweb
モダンweb
エンジニア勉強会 エスキュービズム
チームEdison
チームEdison
エンジニア勉強会 エスキュービズム
de:code 2015
de:code 2015
エンジニア勉強会 エスキュービズム
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
エンジニア勉強会 エスキュービズム
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
エンジニア勉強会 エスキュービズム
ほんのりTDD
ほんのりTDD
エンジニア勉強会 エスキュービズム
Growth hackについて 前編_エンジニア勉強会20140305
Growth hackについて 前編_エンジニア勉強会20140305
エンジニア勉強会 エスキュービズム
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
Growth hackについて後編_エンジニア勉強会20140404
Growth hackについて後編_エンジニア勉強会20140404
エンジニア勉強会 エスキュービズム
Virtual reality
Virtual reality
エンジニア勉強会 エスキュービズム
Multipeer connectivity_エスキュービズム勉強会0523
Multipeer connectivity_エスキュービズム勉強会0523
エンジニア勉強会 エスキュービズム
Fab
Fab
エンジニア勉強会 エスキュービズム
Rubyのクラスとメソッド_エスキュービズム勉強会0530
Rubyのクラスとメソッド_エスキュービズム勉強会0530
エンジニア勉強会 エスキュービズム
様々なEntry system,register system エンジニア勉強会20140108
様々なEntry system,register system エンジニア勉強会20140108
エンジニア勉強会 エスキュービズム
Yii c orange エンジニア勉強会20140129
Yii c orange エンジニア勉強会20140129
エンジニア勉強会 エスキュービズム
エンジニア勉強会20140424
エンジニア勉強会20140424
エンジニア勉強会 エスキュービズム
iOSとwin8_エンジニア勉強会20131106
iOSとwin8_エンジニア勉強会20131106
エンジニア勉強会 エスキュービズム
Datavisualize
Datavisualize
エンジニア勉強会 エスキュービズム
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
小売りにおけるAIの可能性
エンジニア勉強会 エスキュービズム
Mais conteúdo relacionado
Destaque
エンジニア勉強会_Node.js
エンジニア勉強会_Node.js
エンジニア勉強会 エスキュービズム
de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
エンジニア勉強会 エスキュービズム
モダンweb
モダンweb
エンジニア勉強会 エスキュービズム
チームEdison
チームEdison
エンジニア勉強会 エスキュービズム
de:code 2015
de:code 2015
エンジニア勉強会 エスキュービズム
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
エンジニア勉強会 エスキュービズム
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
エンジニア勉強会 エスキュービズム
ほんのりTDD
ほんのりTDD
エンジニア勉強会 エスキュービズム
Growth hackについて 前編_エンジニア勉強会20140305
Growth hackについて 前編_エンジニア勉強会20140305
エンジニア勉強会 エスキュービズム
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
Growth hackについて後編_エンジニア勉強会20140404
Growth hackについて後編_エンジニア勉強会20140404
エンジニア勉強会 エスキュービズム
Virtual reality
Virtual reality
エンジニア勉強会 エスキュービズム
Multipeer connectivity_エスキュービズム勉強会0523
Multipeer connectivity_エスキュービズム勉強会0523
エンジニア勉強会 エスキュービズム
Fab
Fab
エンジニア勉強会 エスキュービズム
Rubyのクラスとメソッド_エスキュービズム勉強会0530
Rubyのクラスとメソッド_エスキュービズム勉強会0530
エンジニア勉強会 エスキュービズム
様々なEntry system,register system エンジニア勉強会20140108
様々なEntry system,register system エンジニア勉強会20140108
エンジニア勉強会 エスキュービズム
Yii c orange エンジニア勉強会20140129
Yii c orange エンジニア勉強会20140129
エンジニア勉強会 エスキュービズム
エンジニア勉強会20140424
エンジニア勉強会20140424
エンジニア勉強会 エスキュービズム
iOSとwin8_エンジニア勉強会20131106
iOSとwin8_エンジニア勉強会20131106
エンジニア勉強会 エスキュービズム
Datavisualize
Datavisualize
エンジニア勉強会 エスキュービズム
Destaque
(20)
エンジニア勉強会_Node.js
エンジニア勉強会_Node.js
de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
モダンweb
モダンweb
チームEdison
チームEdison
de:code 2015
de:code 2015
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
Cloud Design Pattern #3 Compensating Transaction_エンジニア勉強会20140917
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
ほんのりTDD
ほんのりTDD
Growth hackについて 前編_エンジニア勉強会20140305
Growth hackについて 前編_エンジニア勉強会20140305
iOS開発豆知識_エスキュービズム勉強会20141006
iOS開発豆知識_エスキュービズム勉強会20141006
Growth hackについて後編_エンジニア勉強会20140404
Growth hackについて後編_エンジニア勉強会20140404
Virtual reality
Virtual reality
Multipeer connectivity_エスキュービズム勉強会0523
Multipeer connectivity_エスキュービズム勉強会0523
Fab
Fab
Rubyのクラスとメソッド_エスキュービズム勉強会0530
Rubyのクラスとメソッド_エスキュービズム勉強会0530
様々なEntry system,register system エンジニア勉強会20140108
様々なEntry system,register system エンジニア勉強会20140108
Yii c orange エンジニア勉強会20140129
Yii c orange エンジニア勉強会20140129
エンジニア勉強会20140424
エンジニア勉強会20140424
iOSとwin8_エンジニア勉強会20131106
iOSとwin8_エンジニア勉強会20131106
Datavisualize
Datavisualize
Mais de エンジニア勉強会 エスキュービズム
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
小売りにおけるAIの可能性
エンジニア勉強会 エスキュービズム
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
エンジニア勉強会 エスキュービズム
はじめての品質
はじめての品質
エンジニア勉強会 エスキュービズム
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
エンジニア勉強会 エスキュービズム
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
エンジニア勉強会 エスキュービズム
IoTで何をやったか
IoTで何をやったか
エンジニア勉強会 エスキュービズム
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
エンジニア勉強会 エスキュービズム
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
エンジニア勉強会 エスキュービズム
VRのコンテンツ
VRのコンテンツ
エンジニア勉強会 エスキュービズム
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
エンジニア勉強会 エスキュービズム
レイアウトについて
レイアウトについて
エンジニア勉強会 エスキュービズム
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
エンジニア勉強会 エスキュービズム
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
エンジニア勉強会 エスキュービズム
IoTのIを考えてみる話
IoTのIを考えてみる話
エンジニア勉強会 エスキュービズム
AzureのIaaSとかの話
AzureのIaaSとかの話
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】PMやってみた
【エンジニア勉強会】PMやってみた
エンジニア勉強会 エスキュービズム
Mais de エンジニア勉強会 エスキュービズム
(20)
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
小売りにおけるAIの可能性
小売りにおけるAIの可能性
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
はじめての品質
はじめての品質
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
IoTで何をやったか
IoTで何をやったか
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
VRのコンテンツ
VRのコンテンツ
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
レイアウトについて
レイアウトについて
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
IoTのIを考えてみる話
IoTのIを考えてみる話
AzureのIaaSとかの話
AzureのIaaSとかの話
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】PMやってみた
【エンジニア勉強会】PMやってみた
PostgreSQLの魅力_エンジニア勉強会20130702
1.
PostgreSQLの魅力
2.
魅力 • 豊富な型 – 無限長の文字列型 –
日付型 • 3日前とか柔軟 – 配列型 – key-value – 緯度経度型 • 高速なJOIN – 大きなデータの場合、 nested loopしかない MySQLより断然高速 • WALによる堅牢性 – 追記型アーキテクチャ • スケーラビリティ – 64coreとかまでスケー ル • レプリケーション • Window関数 • 容易な拡張 etc etc etc ...
3.
配列型 CREATE TABLE items( key
text, items text[] ); INSERT INTO items VALUES (1, ['a', 'b']) INSERT INTO items VALUES (2, ['c', 'd']) • 集約関数 array_agg SELECT array_agg(key) FROM items --> [1, 2] 2行だったのが1カラムに! -> 行数が少なければ高速 になる
4.
key-value型 (hstore) CREATE TABLE
products ( id serial PRIMARY KEY, name varchar, attributes hstore ); • 挿入 INSERT INTO products (name, attributes) VALUES ( 'Geek Love: A Novel', 'author => "Katherine Dunn", pages => 368, category => fiction' ); • 検索 SELECT name FROM products WHERE attributes->'category' = 'fiction';
5.
緯度経度型(地理データ型) create table landmark( name
text, point point ); insert into landmark( name, point )values( '渋谷区役所', point(35.6640352,139.69 82122) ); • 検索 – 矩形内か – 円の中か – 多角形の中か – 長さ – 点の数 などなどで検索可能 PostGISでさらに正確にも
6.
JSON型 SELECT '{"username":"john","posts":121,"email":"john@nowhere.com"}'::json; json ------------------------------------------------------------------- {"username":"john","posts":121,"email":"john@nowhere.com"} • SELECT *
from json_each('{"a":"foo", "b":"bar"}'::json) key | value -----+------- a | "foo" b | "bar" JSON型に 変換
7.
plv8 • Googleのv8エンジンをPostgreSQLから使え る – 関数をJavaScriptで定義している例 CREATE
OR REPLACE FUNCTION plv8_test(keys text[], vals text[]) RETURNS text AS $$ var o = {}; for(var i=0; i<keys.length; i++){ o[keys[i]] = vals[i]; } return JSON.stringify(o); $$ LANGUAGE plv8 IMMUTABLE STRICT;
8.
豊富な拡張 • PostGIS • plv8 •
POSTPIC – 画像の変換とか • DBLINK – 別DBと接続 • インストールも簡単 – CREATE EXTENSION • FDW – なんにでも接続できる – mysql – redis – CSVファイル – www – s3
9.
FDWの例: redis-FDW • redisをPostgreSQLから直接扱える #
SELECT * from redis_db0 limit 5; key | value -----------+------- user_40 | 44 user_41 | 32 user_42 | 11 user_43 | 3 user_80 | 7 – ここからさらにPostgreSQLのDBとのJOINも可能 • 9.2までは読み込みだけだったけど、9.3から書き込みも 可能に
10.
まとめ • PostgreSQLの魅力を語りました – 高速、堅牢、スケール可能 –
豊富な型 – 豊富な拡張
Baixar agora