SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Heroku	
  Postgres	
  Webinar


   Craig	
  Kerstiens


   Matt	
  Soldo
Architecture

                                                              Other
Force.com                Heroku Runtime
                                                            Platforms




       Database.com                       Heroku Postgres
Database.com       Social	
  Enterprise	
  DBaaS



Heroku	
  Postgres   SQL	
  Database-­‐as-­‐a-­‐Service
Let’s	
  Provision	
  a	
  Database
Value-Added Features




Heroku           Postgres
Postgres



           Management Services
Value-Added Features




Heroku           Postgres
Postgres



           Management Services
Management	
  Services
DBA	
  Tasks
    Setup

   Manage

   Security

   Backup

    Scale

    Query
DBA	
  Tasks
    Setup

   Manage

   Security

   Backup

    Scale

    Query
We	
  hold	
  the	
  pager

    Health	
  Checks

Continuous	
  Protection
Value-Added Features




Heroku           Postgres
Postgres



           Management Services
Value-Added Features




Heroku           Postgres
Postgres



           Management Services
100%	
  Compatible
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
);
CREATE	
  TABLE	
  purchases	
  (
	
  	
  	
  	
  id	
  integer	
  NOT	
  NULL,
	
  	
  	
  	
  user_id	
  integer,
	
  	
  	
  	
  items	
  decimal(10,2)	
  [][],
	
  	
  	
  	
  occurred_at	
  timestamp
);
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()
);
Data	
  Types
    bigint                            money
timestamptz   polygon         date              boolean interval
                        array           integer              UUID
             smallint                              char
     serial               bytea
                  line               numeric
     inet cidr                               point         circle
                         time   text                float
         macaddr                           timetz                enum
                   varchar        tsquery              XML
       path                   tsvector       timestamp         box
Other	
  Languages
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	
  Languages

FOREACH	
  x	
  SLICE	
  1	
  IN	
  ARRAY	
  $1
	
  	
  LOOP
	
  	
  	
  	
  s	
  :=	
  s	
  +	
  (x[2]	
  *	
  x[3]);
	
  	
  END	
  LOOP;
	
  	
  RETURN	
  s;
Other	
  Languages

python     pgsql                                     lolcode
                      ruby              j
         lua                       V8             R
                    scheme
  tcl                        SQL            psm           Java
               sh       php             javascript
Extensions
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
);
Extensions
INSERT	
  INTO	
  users	
  
VALUES	
  (
  1,	
  
  'Craig',	
  
  'Kerstiens',	
  
  'craig.kerstiens@gmail.com',	
  
  'sex	
  =>	
  "M",	
  state	
  =>	
  "CA"',	
  
  now(),	
  
  now()
);
Extensions
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




Heroku           Postgres
Postgres



           Management Services
Data	
  Clips
The	
  easiest	
  way	
  to	
  share	
  your	
  data
+
                      SELECT *
Your Live
                      FROM sales
Production Data       WHERE amount > 1
https://postgres.heroku.com/dataclips/{unique	
  &	
  secure	
  hash}
Followers
Master
Database


                      Write	
  Transactions
      Follower	
  1




      Follower	
  2
                      Read	
  Transactions
Followers
Master
Database


                      Write	
  Transactions
      Follower	
  1




      Follower	
  2
                      Read	
  Transactions
Followers
Master
Database


                      Write	
  Transactions
     New	
  Master




      Follower	
  2
                      Read	
  Transactions
Pricing	
  and	
  Availability
Learn	
  More

Try	
  It	
  free:	
  	
  	
  https://postgres.heroku.com

Code:	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  https://github.com/craigkerstiens/postgres-­‐demo

Survey:	
  	
  	
  	
  	
  	
  	
  	
  http://bit.ly/herokupostgressurvey


                    matt@heroku.com	
  	
  |	
  	
  craig@heroku.com

Weitere ähnliche Inhalte

Was ist angesagt?

MongoDB @ Frankfurt NoSql User Group
MongoDB @  Frankfurt NoSql User GroupMongoDB @  Frankfurt NoSql User Group
MongoDB @ Frankfurt NoSql User Group
Chris Harris
 
Di web tech mail (no subject)
Di web tech mail   (no subject)Di web tech mail   (no subject)
Di web tech mail (no subject)
shubhamvcs
 
Optimizing Slow Queries with Indexes and Creativity
Optimizing Slow Queries with Indexes and CreativityOptimizing Slow Queries with Indexes and Creativity
Optimizing Slow Queries with Indexes and Creativity
MongoDB
 
Easy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip OzturkEasy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip Ozturk
ZeroTurnaround
 
Heroku Postgres SQL Tips, Tricks, Hacks
Heroku Postgres SQL Tips, Tricks, HacksHeroku Postgres SQL Tips, Tricks, Hacks
Heroku Postgres SQL Tips, Tricks, Hacks
Salesforce Developers
 
Building a Location-based platform with MongoDB from Zero.
Building a Location-based platform with MongoDB from Zero.Building a Location-based platform with MongoDB from Zero.
Building a Location-based platform with MongoDB from Zero.
Ravi Teja
 

Was ist angesagt? (20)

MongoDB @ Frankfurt NoSql User Group
MongoDB @  Frankfurt NoSql User GroupMongoDB @  Frankfurt NoSql User Group
MongoDB @ Frankfurt NoSql User Group
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
 
Di web tech mail (no subject)
Di web tech mail   (no subject)Di web tech mail   (no subject)
Di web tech mail (no subject)
 
MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...
 
MongoDC 2012: How MongoDB Powers Doodle or Die
MongoDC 2012: How MongoDB Powers Doodle or DieMongoDC 2012: How MongoDB Powers Doodle or Die
MongoDC 2012: How MongoDB Powers Doodle or Die
 
The rise of json in rdbms land jab17
The rise of json in rdbms land jab17The rise of json in rdbms land jab17
The rise of json in rdbms land jab17
 
Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDB
 
Dealing with Azure Cosmos DB
Dealing with Azure Cosmos DBDealing with Azure Cosmos DB
Dealing with Azure Cosmos DB
 
Optimizing Slow Queries with Indexes and Creativity
Optimizing Slow Queries with Indexes and CreativityOptimizing Slow Queries with Indexes and Creativity
Optimizing Slow Queries with Indexes and Creativity
 
MongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your DataMongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your Data
 
The Ring programming language version 1.3 book - Part 86 of 88
The Ring programming language version 1.3 book - Part 86 of 88The Ring programming language version 1.3 book - Part 86 of 88
The Ring programming language version 1.3 book - Part 86 of 88
 
Apache Cassandra & Data Modeling
Apache Cassandra & Data ModelingApache Cassandra & Data Modeling
Apache Cassandra & Data Modeling
 
Geospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDBGeospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDB
 
Easy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip OzturkEasy Scaling with Open Source Data Structures, by Talip Ozturk
Easy Scaling with Open Source Data Structures, by Talip Ozturk
 
Mythbusting: Understanding How We Measure the Performance of MongoDB
Mythbusting: Understanding How We Measure the Performance of MongoDBMythbusting: Understanding How We Measure the Performance of MongoDB
Mythbusting: Understanding How We Measure the Performance of MongoDB
 
Hazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSHazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMS
 
Heroku Postgres SQL Tips, Tricks, Hacks
Heroku Postgres SQL Tips, Tricks, HacksHeroku Postgres SQL Tips, Tricks, Hacks
Heroku Postgres SQL Tips, Tricks, Hacks
 
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
 
Building a Location-based platform with MongoDB from Zero.
Building a Location-based platform with MongoDB from Zero.Building a Location-based platform with MongoDB from Zero.
Building a Location-based platform with MongoDB from Zero.
 
NoSQL для PostgreSQL: Jsquery — язык запросов
NoSQL для PostgreSQL: Jsquery — язык запросовNoSQL для PostgreSQL: Jsquery — язык запросов
NoSQL для PostgreSQL: Jsquery — язык запросов
 

Ähnlich wie Heroku Postgres Cloud Database Webinar

Going beyond Django ORM limitations with Postgres
Going beyond Django ORM limitations with PostgresGoing beyond Django ORM limitations with Postgres
Going beyond Django ORM limitations with Postgres
Craig Kerstiens
 
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
SegFaultConf
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Victor Rentea
 

Ähnlich wie Heroku Postgres Cloud Database Webinar (20)

Going beyond Django ORM limitations with Postgres
Going beyond Django ORM limitations with PostgresGoing beyond Django ORM limitations with Postgres
Going beyond Django ORM limitations with Postgres
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQL
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020
 
Hadoop Puzzlers
Hadoop PuzzlersHadoop Puzzlers
Hadoop Puzzlers
 
Hadoop Puzzlers
Hadoop PuzzlersHadoop Puzzlers
Hadoop Puzzlers
 
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
 
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
 
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit east
 
Advanced data modeling with apache cassandra
Advanced data modeling with apache cassandraAdvanced data modeling with apache cassandra
Advanced data modeling with apache cassandra
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015
 
Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
 
Getting Started with Real-Time Analytics
Getting Started with Real-Time AnalyticsGetting Started with Real-Time Analytics
Getting Started with Real-Time Analytics
 
Extjs + Gears
Extjs + GearsExtjs + Gears
Extjs + Gears
 
Scalable Angular 2 Application Architecture
Scalable Angular 2 Application ArchitectureScalable Angular 2 Application Architecture
Scalable Angular 2 Application Architecture
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
 
Expanding the idea of static analysis from code check to other development pr...
Expanding the idea of static analysis from code check to other development pr...Expanding the idea of static analysis from code check to other development pr...
Expanding the idea of static analysis from code check to other development pr...
 
Tame Accidental Complexity with Ruby and MongoMapper
Tame Accidental Complexity with Ruby and MongoMapperTame Accidental Complexity with Ruby and MongoMapper
Tame Accidental Complexity with Ruby and MongoMapper
 
OrientDB - The 2nd generation of (multi-model) NoSQL
OrientDB - The 2nd generation of  (multi-model) NoSQLOrientDB - The 2nd generation of  (multi-model) NoSQL
OrientDB - The 2nd generation of (multi-model) NoSQL
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 

Mehr von Salesforce Developers

Mehr von Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Heroku Postgres Cloud Database Webinar

  • 1. Heroku  Postgres  Webinar Craig  Kerstiens Matt  Soldo
  • 2. Architecture Other Force.com Heroku Runtime Platforms Database.com Heroku Postgres
  • 3. Database.com Social  Enterprise  DBaaS Heroku  Postgres SQL  Database-­‐as-­‐a-­‐Service
  • 5. Value-Added Features Heroku Postgres Postgres Management Services
  • 6. Value-Added Features Heroku Postgres Postgres Management Services
  • 8. DBA  Tasks Setup Manage Security Backup Scale Query
  • 9. DBA  Tasks Setup Manage Security Backup Scale Query
  • 10. We  hold  the  pager Health  Checks Continuous  Protection
  • 11. Value-Added Features Heroku Postgres Postgres Management Services
  • 12. Value-Added Features Heroku Postgres Postgres Management Services
  • 15. Users Purchases Products
  • 16. CREATE  TABLE  products  (        id  integer  NOT  NULL,        title  character  varying(255),        description  text,        price  numeric(10,2) );
  • 17. 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 );
  • 18. CREATE  TABLE  purchases  (        id  integer  NOT  NULL,        user_id  integer,        items  decimal(10,2)  [][],        occurred_at  timestamp );
  • 19. CREATE  TABLE  purchases  (        id  integer  NOT  NULL,        user_id  integer,        items  decimal(10,2)  [][],        occurred_at  timestamp );
  • 20. 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
  • 21. Data  Types INSERT  INTO  purchases  VALUES  (    2,  2,  '{{11.0,  1.0,  4.99}}',  now() );
  • 22. Data  Types bigint money timestamptz polygon date boolean interval array integer UUID smallint char serial bytea line numeric inet cidr point circle time text float macaddr timetz enum varchar tsquery XML path tsvector timestamp box
  • 23. Other  Languages 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;
  • 24. Other  Languages FOREACH  x  SLICE  1  IN  ARRAY  $1    LOOP        s  :=  s  +  (x[2]  *  x[3]);    END  LOOP;    RETURN  s;
  • 25. Other  Languages python pgsql lolcode ruby j lua V8 R scheme tcl SQL psm Java sh php javascript
  • 26. Extensions 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 );
  • 27. Extensions INSERT  INTO  users   VALUES  ( 1,   'Craig',   'Kerstiens',   'craig.kerstiens@gmail.com',   'sex  =>  "M",  state  =>  "CA"',   now(),   now() );
  • 28. Extensions dblink hstore uuid-ossp trigram pgstattuple citext pgcrypto pgrowlocks isn ltree earthdistance cube dict_int tablefunc fuzzystrmatch unaccent dict_xsyn btree_gist
  • 29. Value-Added Features Heroku Postgres Postgres Management Services
  • 30. Value-Added Features Heroku Postgres Postgres Management Services
  • 31. Data  Clips The  easiest  way  to  share  your  data
  • 32. + SELECT * Your Live FROM sales Production Data WHERE amount > 1
  • 34. Followers Master Database Write  Transactions Follower  1 Follower  2 Read  Transactions
  • 35. Followers Master Database Write  Transactions Follower  1 Follower  2 Read  Transactions
  • 36. Followers Master Database Write  Transactions New  Master Follower  2 Read  Transactions
  • 38. Learn  More Try  It  free:      https://postgres.heroku.com Code:                        https://github.com/craigkerstiens/postgres-­‐demo Survey:                http://bit.ly/herokupostgressurvey matt@heroku.com    |    craig@heroku.com