SlideShare una empresa de Scribd logo
1 de 42
http://postgres.heroku.com



ウィル・ラインウェバー
   @leinweber

   Heroku,Inc.
アーキテクチャ
                   Architecture



Force.com          Heroku 実行環境                          その他
                                                        Others
                     Heroku Runtime




    Database.com                      Heroku Postgres
Database.com    Social Enterprise DBaaS



Heroku Postgres   SQL Database-as-a-Service
データベースをつくってみよう
  Let’s Provision a Database
heroku addons:add heroku-postgres:dev -a will
拡張機能
           Value-Added Features




Heroku         Postgres
Postgres
           マネージドサービス
           Management Services
拡張機能
           Value-Added Features




Heroku         Postgres
Postgres
           マネージドサービス
           Management Services
マネージドサービス
 Managed Services
DB管理者の仕事
   DBA Tasks
  セットアップ
      Setup
   管理・監視
     Manage
  セキュリティ
     Security
  バックアップ
     Backup
      拡張
      Scale
  データ定義/抽出
     Query
DB管理者の仕事
   DBA Tasks
  セットアップ
      Setup
   管理・監視
     Manage
  セキュリティ
     Security
  バックアップ
     Backup
      拡張
      Scale
  データ定義/抽出
     Query
24x365 監視体制
  24x365 Monitoring



 ヘルスチェック
    Health Checks



継続的なデータ保全
 Continuous Protection
拡張機能
           Value-Added Features




Heroku         Postgres
Postgres
           マネージドサービス
           Management Services
Postgres
100% 互換
100% Compatibility
なぜPostgresなのか?
    Why Postgres?
Users   Purchases




        Products
CREATE TABLE products (
    id integer NOT NULL,
    title character varying(255),
    description text,
    price numeric(10,2)
);
CREATE TABLE users (
    id integer NOT NULL,
    first_name character varying(50),
    last_name character varying(50),
    email character varying(255),

 data hstore,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    last_login timestamp with time zone
);
CREATE TABLE purchases (
   id integer NOT NULL,
  user_id integer,
   items decimal(10,2) [][],

 occurred_at timestamp
);
                               items[x][0] = item_id
                               items [x][1] = qty
                               items [x][2] = price
データ型
                   Data types


INSERT INTO purchases VALUES (
  2, 2, '{{11.0, 1.0, 4.99}}', now()
);
その他の言語
                  Other languadges
  bigint polygon           money
timestamp             date       booleaninterval
     tz smallint  array     integer       UUID
   serial          bytea            char
             line        numeric
   inet cidr                    point    circle
                  time text          float
    macaddr                   timetz        enum
            varchar     tsquery       XML
    path             tsvector timestamp box
その他の言語
                       Other languadges
CREATE OR REPLACE FUNCTION total(decimal(10,2)[][])
RETURNS decimal(10,2) AS $$
DECLARE
 s decimal(10,2) := 0;
 x decimal[];
BEGIN
 FOREACH x SLICE 1 IN ARRAY $1
 LOOP
  s := s + (x[2] * x[3]);
 END LOOP;
 RETURN s;
END;
$$ LANGUAGE plpgsql;
その他の言語
         Other languadges

FOREACH x SLICE 1 IN ARRAY $1
 LOOP
  s := s + (x[2] * x[3]);
 END LOOP;
 RETURN s;
その他の言語
                    Other languadges

python pgsql
                     ruby         j    lolcode

        lua                V8     R
                   scheme
  tcl                   SQL   psm            Java
              sh       php      javascript
エクステンション
                         Extention

CREATE EXTENSION hstore;
CREATE TABLE users (
   id integer NOT NULL,
   first_name character varying(50),
   last_name character varying(50),
   email character varying(255),
   data hstore,
   created_at timestamp without time zone,
   last_login timestamp without time zone
);
エクステンション
                    Extention
INSERT INTO users
VALUES (
   1,
   'Craig',
   'Kerstiens',
   'craig.kerstiens@gmail.com',
   'sex => "M", state => "CA"',
   now(),
   now()
);
エクステンション
                   Extention

dblink hstore     uuid-ossp trigram
                                  pgstattuple
      citext pgcrypto pgrowlocks
  isn         ltree
                  earthdistance
      cube                        dict_int
           tablefunc  fuzzystrmatch
 unaccent                         dict_xsyn
                    btree_gist
拡張機能
           Value-Added Features




Heroku         Postgres
Postgres
           マネージドサービス
           Management Services
拡張機能
Value-Added Features
Data Clips
データを共有する最も簡単な方法
The easiest way to share your data
+
                           SELECT *
本番データ                      FROM sales
Live Production Data
                           WHERE amount > 1
https://postgres.heroku.com/dataclips/{unique & secure hash}
Fork
     データベースを完全な複製を作成
A perfect, byte-for-byte clone of your database
Fork

Production
   App
Fork

Production
   App
Fork

Production   データの内部を安全に調査
   App         Investigate data safty
Follow
ワンクリックでレプリケーションを作成
  Read replicas with a single click
Follow
Master
Database

                  書き込みトランザクション
                    Write Transactions
     Follower 1



                  読み出しトランザクション
     Follower 2     Read Transactions
Master
Database

                  書き込みトランザクション
                    Write Transactions
     Follower 1



                  読み出しトランザクション
     Follower 2     Read Transactions
Master
Database

                  書き込みトランザクション
                    Write Transactions
    New Master



                  読み出しトランザクション
     Follower 2     Read Transactions
ご清聴ありがとうございました
     Heroku Postgres Workbok
http://developerforcejp.s3.amazonaws.com/developer/docs/

    workbook_heroku/workbook_heroku_postgres.pdf

          http://postgres.heroku.com

Más contenido relacionado

La actualidad más candente

Sql database その裏側に迫る
Sql database その裏側に迫るSql database その裏側に迫る
Sql database その裏側に迫る
Masayuki Ozawa
 

La actualidad más candente (20)

Sql database その裏側に迫る
Sql database その裏側に迫るSql database その裏側に迫る
Sql database その裏側に迫る
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
 
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
 
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
 
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
 
Ruby on Rails on MySQL チューニング入門
Ruby on Rails on MySQL チューニング入門Ruby on Rails on MySQL チューニング入門
Ruby on Rails on MySQL チューニング入門
 
Domino Query Language (DQL)
Domino Query Language (DQL)Domino Query Language (DQL)
Domino Query Language (DQL)
 
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaPostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
 
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
ServiceStackの紹介
ServiceStackの紹介ServiceStackの紹介
ServiceStackの紹介
 
Windows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMIWindows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMI
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
 
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
DynamoDB   MyNA・JPUG合同DB勉強会 in 東京DynamoDB   MyNA・JPUG合同DB勉強会 in 東京
DynamoDB MyNA・JPUG合同DB勉強会 in 東京
 

Similar a Heroku Postgres

トレジャーデータ株式会社について(for all Data_Enthusiast!!)
トレジャーデータ株式会社について(for all Data_Enthusiast!!)トレジャーデータ株式会社について(for all Data_Enthusiast!!)
トレジャーデータ株式会社について(for all Data_Enthusiast!!)
Takahiro Inoue
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
Developers Summit
 
5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com
Kenta Tsuji
 

Similar a Heroku Postgres (20)

第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要 第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
トレジャーデータ株式会社について(for all Data_Enthusiast!!)
トレジャーデータ株式会社について(for all Data_Enthusiast!!)トレジャーデータ株式会社について(for all Data_Enthusiast!!)
トレジャーデータ株式会社について(for all Data_Enthusiast!!)
 
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
 
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
 
AWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターンAWS Glueを使った Serverless ETL の実装パターン
AWS Glueを使った Serverless ETL の実装パターン
 
外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張
 
5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com5分でわかったつもりになるParse.com
5分でわかったつもりになるParse.com
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
Gpu accelerates aimodeldevelopmentandanalyticsutilizingelasticsearchandazure ai
Gpu accelerates aimodeldevelopmentandanalyticsutilizingelasticsearchandazure aiGpu accelerates aimodeldevelopmentandanalyticsutilizingelasticsearchandazure ai
Gpu accelerates aimodeldevelopmentandanalyticsutilizingelasticsearchandazure ai
 
クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 

Más de Ayumu Aizawa

PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
Ayumu Aizawa
 
Heroku - Forget Servers!!
Heroku - Forget Servers!!Heroku - Forget Servers!!
Heroku - Forget Servers!!
Ayumu Aizawa
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
Ayumu Aizawa
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
Ayumu Aizawa
 
(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!
Ayumu Aizawa
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
Ayumu Aizawa
 

Más de Ayumu Aizawa (20)

Introducing Fn Project
Introducing Fn ProjectIntroducing Fn Project
Introducing Fn Project
 
Heroku HTTP API Design Guide
Heroku HTTP API Design GuideHeroku HTTP API Design Guide
Heroku HTTP API Design Guide
 
PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
 
Heroku
HerokuHeroku
Heroku
 
Heroku Changelog in 2013
Heroku Changelog in 2013Heroku Changelog in 2013
Heroku Changelog in 2013
 
Connected Products
Connected ProductsConnected Products
Connected Products
 
Heroku Update Jul, 2013
Heroku Update Jul, 2013Heroku Update Jul, 2013
Heroku Update Jul, 2013
 
Heroku Update
Heroku UpdateHeroku Update
Heroku Update
 
Heroku - Forget Servers!!
Heroku - Forget Servers!!Heroku - Forget Servers!!
Heroku - Forget Servers!!
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
 
Using Ruby2.0 on Heroku
Using Ruby2.0 on HerokuUsing Ruby2.0 on Heroku
Using Ruby2.0 on Heroku
 
Enterprise Heroku for Java
Enterprise Heroku for JavaEnterprise Heroku for Java
Enterprise Heroku for Java
 
Heroku
Heroku Heroku
Heroku
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
 
(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku Inside
 
Heroku Introduction
Heroku IntroductionHeroku Introduction
Heroku Introduction
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebapps
 

Último

Último (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Heroku Postgres