SlideShare a Scribd company logo
© 2014 EnterpriseDB Corporation. All rights reserved. 1
Postgres: The NoSQL Cake You
Can Eat
October 30, 2014
© 2014 EnterpriseDB Corporation. All rights reserved. 2
• About EDB
• Do more with Postgres
• The NoSQL conundrum
• Not only SQL – technology innovation on a
robust platform
• An example: 360° view of the
customer
• Not only SQL rules!
Agenda
© 2014 EnterpriseDB Corporation. All rights reserved. 3
POSTGRES
innovation
ENTERPRISE
reliability
24/7
support
Services
& training
Enterprise-class
features & tools
Indemnification
Product
road-map
Control
Thousands
of developers
Fast
development
cycles
Low cost
No vendor
lock-in
Advanced
features
Enabling commercial
adoption of Postgres
© 2014 EnterpriseDB Corporation. All rights reserved. 4
EDB Customers
EDB currently has over 2,500 total customers including 50 of the Fortune
500 and 98 of the Forbes Global 2000
© 2014 EnterpriseDB Corporation. All rights reserved. 5
Postgres Plus
Advanced Server Postgres Plus
Cloud Database
High Availability
PerformanceManagement
REMOTE
DBA 24x7
SUPPORT
PROFESSIONAL
SERVICES
TRAINING
EDB Serves
All Your Postgres Needs
PostgreSQL
Security
© 2014 EnterpriseDB Corporation. All rights reserved. 6
Postgres’ Growth
“We congratulate MongoDB, PostgreSQL and Cassandra for their extraordinary
achievements in 2013….The fact that we have three open source tools and two NoSQL
systems amongst the winners may be an indication of what 2014 has in store for us.”
Postgres is widely recognized
for its long history of proven
success and future promise
© 2014 EnterpriseDB Corporation. All rights reserved. 7
Gartner 2014 ODBMS Magic Quadrant
• EnterpriseDB is the primary
contributor to the
PostgreSQL Community
• EnterpriseDB's … is now
more than sufficient to run
both mission-critical and
nonmission-critical
applications.
• Infor, a major application
platform independent
software vendor, added
EnterpriseDB as a DBMS
platform choice.
• Reference customers
continue to identify the
compatibility with Oracle,
the stability of the DBMS
and the product support as
strengths.
© 2014 EnterpriseDB Corporation. All rights reserved. 8
Do more with Postgres
© 2014 EnterpriseDB Corporation. All rights reserved. 9
Do more with Postgres
How to do more
with Postgres
Open source alternative to
commercial RDBMS
• Reduce cost
• Leverage in-house talent
• Flexible license model
RDBMS platform for
new developments
• Proven RDBMS
• SQL compliant
• Extremely stable
Innovative DBMS Platform
• Not only SQL (SQL + JSON/KVP)
• Web 2.0 friendly
• Foreign Data Wrappers
• PostGIS
© 2014 EnterpriseDB Corporation. All rights reserved. 10
Why do developers like NoSQL only solutions?
The NoSQL Conundrum
• Easy integration with Web 2.0 development style
− JSON is mapped all the way from the web page to the database
• Little/no knowledge of SQL required
• Who needs data normalization?
• “I don’t need no DBA”
• The data model is developed as the application matures
– schema-less works well with Agile and Sprints
• Get up and running really quickly
© 2014 EnterpriseDB Corporation. All rights reserved. 11
Problems and fallacies of NoSQL (only)
The NoSQL Conundrum
• Data silos
− Data standards
− Data islands
− Data access
• Technology silos
− New database technology
− Backup, recovery, replication, tuning, maintenance
• Lack of integration with corporate data standards
• Data models include data access paths
− Customers > Orders or Orders > Customers
© 2014 EnterpriseDB Corporation. All rights reserved. 12
Data Standards
The NoSQL Conundrum
• Structures and standards emerge!
• Data has references (products link to catalogs;
products have bills of material; components appear in
multiple products; storage locations link to ISO country
tables)
• When the database has duplicate data entries, the
application has to manage updates in multiple places –
what happens when there is no ACID transactional
model?
© 2014 EnterpriseDB Corporation. All rights reserved. 13
Data Islands
The NoSQL Conundrum
• Solutions exist in context
• Applications must be integrated
− Orders flow to the warehouse
− Invoices go to AP
− Customer data must tie into the CRM
• Data must be managed
“By 2017, 50% of data stored in NoSQL DBMSs will be damaging
to the business due to a lack of applied information governance
policies and programs.”
Dec. 3, 2013 Research Note “Does Your NoSQL DMBS Result in Information
Governance Debt?” by Nick Heudecker and Ted Friedman.
© 2014 EnterpriseDB Corporation. All rights reserved. 14
NoSQL data models include data access paths
The NoSQL Conundrum
• Document-based models
encourage hierarchical
data models
• Fast and easy access for
the intended use case
− What did this customer order?
− When did they order?
− How much did they order?
• Really problematic when the use case
changes
− Which customers ordered
Widget A in January?
Customer
Document
Order
Sub-
document
Order Line
Sub-
document
Product
Sub-
document
© 2014 EnterpriseDB Corporation. All rights reserved. 15
Not Only SQL - Technology
Innovation on a Robust Platform
© 2014 EnterpriseDB Corporation. All rights reserved. 16
Best possible “Not Only SQL” solution
Postgres + Documents (JSON) + KVP
(HSTORE)
© 2014 EnterpriseDB Corporation. All rights reserved. 17
• HSTORE
− Key-value pair
− Simple, fast and easy
− Postgres v 8.2 – pre-dates many NoSQL-only solutions
− Ideal for flat data structures that are sparsely populated
• JSON
− Hierarchical document model
− Introduced in Postgres 9.2, perfected in 9.3
• JSONB
− Binary version of JSON
− Faster, more operators and even more robust
− Postgres 9.4
Postgres’ NoSQL
Capabilities
© 2014 EnterpriseDB Corporation. All rights reserved. 18
• JSON is the most popular
data-interchange format on the web
• Derived from the ECMAScript
Programming Language Standard
(European Computer Manufacturers
Association).
• Supported by virtually every
programming language
• New supporting technologies
continue to expand JSON’s utility
− PL/V8 JavaScript extension
− Node.js
• Postgres has a native JSON data type (v9.2) and a JSON parser and a
variety of JSON functions (v9.3)
• Postgres will have a JSONB data type with binary storage and indexing
(coming – v9.4)
Postgres: Document Store
© 2014 EnterpriseDB Corporation. All rights reserved. 19
• Creating a table with a JSONB field
CREATE TABLE json_data (data JSONB);
• Simple JSON data element:
{"name": "Apple Phone", "type": "phone", "brand":
"ACME", "price": 200, "available": true,
"warranty_years": 1}
• Inserting this data element into the table json_data
INSERT INTO json_data (data) VALUES
(’ { "name": "Apple Phone",
"type": "phone",
"brand": "ACME",
"price": 200,
"available": true,
"warranty_years": 1
} ')
JSON Examples
© 2014 EnterpriseDB Corporation. All rights reserved. 20
SELECT data FROM json_data;
data
------------------------------------------
{"name": "Apple Phone", "type": "phone",
"brand": "ACME", "price": 200,
"available": true, "warranty_years": 1}
A query that returns JSON data
This query returns the JSON data in its
original format
© 2014 EnterpriseDB Corporation. All rights reserved. 21
• JSON is naturally integrated
with ANSI SQL in Postgres
• JSON and SQL queries use
the same language, the same
planner, and the same ACID compliant transaction
framework
• JSON and HSTORE are elegant and easy to use
extensions of the underlying object-relational model
JSON and ANSI SQL –
A Natural Fit
© 2014 EnterpriseDB Corporation. All rights reserved. 22
SELECT DISTINCT
product_type,
data->>'brand' as Brand,
data->>'available' as Availability
FROM json_data
JOIN products
ON (products.product_type=json_data.data->>'name')
WHERE json_data.data->>'available'=true;
product_type | brand | availability
---------------------------+-----------+--------------
AC3 Phone | ACME | true
JSON and ANSI SQL Example
ANSI SQL
JSON
No need for programmatic logic to combine SQL and
NoSQL in the application – Postgres does it all
© 2014 EnterpriseDB Corporation. All rights reserved. 23
Bridging between SQL and JSON
Simple ANSI SQL Table Definition
CREATE TABLE products (id integer, product_name text );
Select query returning standard data set
SELECT * FROM products;
id | product_name
----+--------------
1 | iPhone
2 | Samsung
3 | Nokia
Select query returning the same result as a JSON data set
SELECT ROW_TO_JSON(products) FROM products;
{"id":1,"product_name":"iPhone"}
{"id":2,"product_name":"Samsung"}
{"id":3,"product_name":"Nokia”}
© 2014 EnterpriseDB Corporation. All rights reserved. 24
• 1. Number:
− Signed decimal number that may contain a fractional part and may use exponential
notation.
− No distinction between integer and floating-point
• 2. String
− A sequence of zero or more Unicode characters.
− Strings are delimited with double-quotation mark
− Supports a backslash escaping syntax.
• 3. Boolean
− Either of the values true or false.
• 4. Array
− An ordered list of zero or more values,
− Each values may be of any type.
− Arrays use square bracket notation with elements being comma-separated.
• 5. Object
− An unordered associative array (name/value pairs).
− Objects are delimited with curly brackets
− Commas to separate each pair
− Each pair the colon ':' character separates the key or name from its value.
− All keys must be strings and should be distinct from each other within that object.
• 6. null
− An empty value, using the word null
JSON Data Types
JSON is defined per RFC – 7159
For more detail please refer
http://tools.ietf.org/html/rfc7159
© 2014 EnterpriseDB Corporation. All rights reserved. 25
{
"firstName": "John", -- String Type
"lastName": "Smith", -- String Type
"isAlive": true, -- Boolean Type
"age": 25, -- Number Type
"height_cm": 167.6, -- Number Type
"address": { -- Object Type
"streetAddress": "21 2nd Street”,
"city": "New York”,
"state": "NY”,
"postalCode": "10021-3100”
},
"phoneNumbers": [ // Object Array
{ // Object
"type": "home”,
"number": "212 555-1234”
},
{
"type": "office”,
"number": "646 555-4567”
}
],
"children": [],
"spouse": null // Null
}
JSON Data Type Example
© 2014 EnterpriseDB Corporation. All rights reserved. 26
A Customer and Order Example
360° view of the customer
• The traditional way:
− Landing, Staging, Normalizing
• The NoSQL Way:
− Use the schema-less data model to maintain the original data
formats for customers and orders
− Align orders with customers in one large collection of customer
order documents
• The Not Only SQL Way:
− Use the schema-less data model to maintain the original data
formats for customers and orders
− Link customers and orders with a flexible N:M relationship
© 2014 EnterpriseDB Corporation. All rights reserved. 27
The traditional approach
360° view of the customer
CRM
Order
Management
Marketing
Billing
eCommerce
CRM
Order
Management
Marketing
Marketing
Customer
Customer
Order
Order
Order
Order
Customer
Order
Source Systems Landing Staging
Integrated
Data Model
Customer
Custo
mer
© 2014 EnterpriseDB Corporation. All rights reserved. 28
Customer Information
The NoSQL Only Approach
360° view of the customer
CRM
Order
Management
Marketing
Billing
eCommerce
CRM
Order
Management
Marketing
Marketing
Customer
Customer
Customer
Custo
mer
Order Information
Order
Order
Order
Order
Customer Collection • Document-oriented
approach
• Very fast
implementation
• Differences in
source data can be
maintained
• Orders belong to
customers (sub
documents) or
vice-versa
• Hard codes the
data access
model!
• Limited reuse!
© 2014 EnterpriseDB Corporation. All rights reserved. 29
The Not Only SQL Approach
360° view of the customer
CRM
Order
Management
Marketing
Billing
eCommerce
CRM
Order
Management
Marketing
Marketing
Source Systems
Order
Order
Order
Order Information
Order
Customer
Custo
mer
Customer
Information
Customer
Customer
N:M
• No hard coded relationships
• Multiple access methods
• Reuse for multiple use cases
• Two types of documents (Customers and Orders)
• Very fast implementation
• Differences in source data can be maintained
© 2014 EnterpriseDB Corporation. All rights reserved. 30
• Use JSON schema-less data where
appropriate (customers and orders)
• Leverage SQL structures and
relationships where possible (who bought what when)
• Design for reuse – do not encode the initial use case
into the data model
• Create highly reusable data models
• Build on well-established technology platforms that
integrate with your IT environment and that support
your data strategy
Data Integration –
The Not Only SQL Way
© 2014 EnterpriseDB Corporation. All rights reserved. 31
• Use structures and relationships where appropriate, be flexible
everywhere else
− Use JSON for data with high degrees of variability
− Use the flexibility of JSON to bridge multiple formats and data
elements
− Use SQL to make relationships explicit – don’t hard code them
• Leverage a single tech platform to avoid tech silos, skills silos and
data silos
• Focus on creating value-add, not on setting up yet another
infrastructure
• Build on the most advanced open source DBMS’s Capabilities
Do more with Postgres!
Not Only SQL Rules!
© 2014 EnterpriseDB Corporation. All rights reserved. 32

More Related Content

PDF
EDB NoSQL German Webinar 2015
 
PPTX
NoSQL on ACID: Meet Unstructured Postgres
 
PPTX
Application Development & Database Choices: Postgres Support for non Relation...
 
PPTX
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
 
PDF
Save money with Postgres on IBM PowerLinux
 
PDF
Optimizing Open Source for Greater Database Savings & Control
 
PDF
DevOps Culture & Enablement with Postgres Plus Cloud Database
 
PDF
Reducing Database Pain & Costs with Postgres
 
EDB NoSQL German Webinar 2015
 
NoSQL on ACID: Meet Unstructured Postgres
 
Application Development & Database Choices: Postgres Support for non Relation...
 
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
 
Save money with Postgres on IBM PowerLinux
 
Optimizing Open Source for Greater Database Savings & Control
 
DevOps Culture & Enablement with Postgres Plus Cloud Database
 
Reducing Database Pain & Costs with Postgres
 

What's hot (20)

PDF
New enhancements for security and usability in EDB 13
 
PDF
Doing More With Less: The Economics of Open Source Database Adoption
 
PDF
Avoiding.the.pitfallsof.oracle.migration.2013
 
PDF
EnterpriseDB Postgres Survey Results - 2013
 
PDF
EPAS + Cloud = Oracle Compatible Postgres in Minutes
 
PPTX
Szabaduljon ki az Oracle szorításából
 
PPTX
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
 
PPTX
Break Free from Oracle
 
PDF
Informix NoSQL & Hybrid SQL detailed deep dive
PDF
Azure Cosmos DB
PPTX
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
 
PDF
A Peek in the Elephant's Trunk
 
PDF
Application development with Oracle NoSQL Database 3.0
PPTX
Les nouveautés d'EDB Postgres 11
 
PDF
Benchmarking Hadoop - Which hadoop sql engine leads the herd
PPTX
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
 
PPTX
Oracle Migration to Postgres in the Cloud
 
PPTX
Whats New in Postgres 12
 
PPTX
SQL Server 2014 New Features
PDF
Ibm integrated analytics system
New enhancements for security and usability in EDB 13
 
Doing More With Less: The Economics of Open Source Database Adoption
 
Avoiding.the.pitfallsof.oracle.migration.2013
 
EnterpriseDB Postgres Survey Results - 2013
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
 
Szabaduljon ki az Oracle szorításából
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
 
Break Free from Oracle
 
Informix NoSQL & Hybrid SQL detailed deep dive
Azure Cosmos DB
Ein Expertenleitfaden für die Migration von Legacy-Datenbanken zu PostgreSQL
 
A Peek in the Elephant's Trunk
 
Application development with Oracle NoSQL Database 3.0
Les nouveautés d'EDB Postgres 11
 
Benchmarking Hadoop - Which hadoop sql engine leads the herd
Postgres Databases in Minutes with the EDB Postgres Cloud Database Service
 
Oracle Migration to Postgres in the Cloud
 
Whats New in Postgres 12
 
SQL Server 2014 New Features
Ibm integrated analytics system
Ad

Similar to NoSQL Now: Postgres - The NoSQL Cake You Can Eat (20)

PDF
Postgres: The NoSQL Cake You Can Eat
 
PDF
Postgres NoSQL - Delivering Apps Faster
 
PDF
NoSQL on ACID - Meet Unstructured Postgres
 
PDF
Optymalizacja środowiska Open Source w celu zwiększenia oszczędności i kontroli
 
PPT
Postgres for the Future
 
PDF
The Central View of your Data with Postgres
 
PPT
Do More with Postgres- NoSQL Applications for the Enterprise
 
PDF
Optimize with Open Source
 
PDF
How To Reach Your Goals with Postgres Plus Cloud Database
 
PDF
From Database to Strategy - Sandor Klein
PPT
EDB corporate prague_march_2015
PDF
Powerplay: Postgres and Lenovo for the Best Performance & Savings
 
PDF
Optimizing Open Source for Greater Database Savings and Control
 
PDF
NoSQL and Spatial Database Capabilities using PostgreSQL
 
PPTX
PostgreSQL to Accelerate Innovation
 
PDF
The Real Scoop on Migrating from Oracle Databases
 
PPTX
New Enterprise Cloud Database Options for 2019
 
PPTX
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
PDF
Key Methodologies for Migrating from Oracle to Postgres
 
PPTX
EDB's Migration Portal - Migrate from Oracle to Postgres
 
Postgres: The NoSQL Cake You Can Eat
 
Postgres NoSQL - Delivering Apps Faster
 
NoSQL on ACID - Meet Unstructured Postgres
 
Optymalizacja środowiska Open Source w celu zwiększenia oszczędności i kontroli
 
Postgres for the Future
 
The Central View of your Data with Postgres
 
Do More with Postgres- NoSQL Applications for the Enterprise
 
Optimize with Open Source
 
How To Reach Your Goals with Postgres Plus Cloud Database
 
From Database to Strategy - Sandor Klein
EDB corporate prague_march_2015
Powerplay: Postgres and Lenovo for the Best Performance & Savings
 
Optimizing Open Source for Greater Database Savings and Control
 
NoSQL and Spatial Database Capabilities using PostgreSQL
 
PostgreSQL to Accelerate Innovation
 
The Real Scoop on Migrating from Oracle Databases
 
New Enterprise Cloud Database Options for 2019
 
Postgres for Digital Transformation: NoSQL Features, Replication, FDW & More
Key Methodologies for Migrating from Oracle to Postgres
 
EDB's Migration Portal - Migrate from Oracle to Postgres
 
Ad

More from DATAVERSITY (20)

PDF
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
PDF
Data at the Speed of Business with Data Mastering and Governance
PDF
Exploring Levels of Data Literacy
PDF
Building a Data Strategy – Practical Steps for Aligning with Business Goals
PDF
Make Data Work for You
PDF
Data Catalogs Are the Answer – What is the Question?
PDF
Data Catalogs Are the Answer – What Is the Question?
PDF
Data Modeling Fundamentals
PDF
Showing ROI for Your Analytic Project
PDF
How a Semantic Layer Makes Data Mesh Work at Scale
PDF
Is Enterprise Data Literacy Possible?
PDF
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
PDF
Emerging Trends in Data Architecture – What’s the Next Big Thing?
PDF
Data Governance Trends - A Look Backwards and Forwards
PDF
Data Governance Trends and Best Practices To Implement Today
PDF
2023 Trends in Enterprise Analytics
PDF
Data Strategy Best Practices
PDF
Who Should Own Data Governance – IT or Business?
PDF
Data Management Best Practices
PDF
MLOps – Applying DevOps to Competitive Advantage
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Data at the Speed of Business with Data Mastering and Governance
Exploring Levels of Data Literacy
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Make Data Work for You
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What Is the Question?
Data Modeling Fundamentals
Showing ROI for Your Analytic Project
How a Semantic Layer Makes Data Mesh Work at Scale
Is Enterprise Data Literacy Possible?
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Data Governance Trends - A Look Backwards and Forwards
Data Governance Trends and Best Practices To Implement Today
2023 Trends in Enterprise Analytics
Data Strategy Best Practices
Who Should Own Data Governance – IT or Business?
Data Management Best Practices
MLOps – Applying DevOps to Competitive Advantage

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Big Data Technologies - Introduction.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Big Data Technologies - Introduction.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
Per capita expenditure prediction using model stacking based on satellite ima...

NoSQL Now: Postgres - The NoSQL Cake You Can Eat

  • 1. © 2014 EnterpriseDB Corporation. All rights reserved. 1 Postgres: The NoSQL Cake You Can Eat October 30, 2014
  • 2. © 2014 EnterpriseDB Corporation. All rights reserved. 2 • About EDB • Do more with Postgres • The NoSQL conundrum • Not only SQL – technology innovation on a robust platform • An example: 360° view of the customer • Not only SQL rules! Agenda
  • 3. © 2014 EnterpriseDB Corporation. All rights reserved. 3 POSTGRES innovation ENTERPRISE reliability 24/7 support Services & training Enterprise-class features & tools Indemnification Product road-map Control Thousands of developers Fast development cycles Low cost No vendor lock-in Advanced features Enabling commercial adoption of Postgres
  • 4. © 2014 EnterpriseDB Corporation. All rights reserved. 4 EDB Customers EDB currently has over 2,500 total customers including 50 of the Fortune 500 and 98 of the Forbes Global 2000
  • 5. © 2014 EnterpriseDB Corporation. All rights reserved. 5 Postgres Plus Advanced Server Postgres Plus Cloud Database High Availability PerformanceManagement REMOTE DBA 24x7 SUPPORT PROFESSIONAL SERVICES TRAINING EDB Serves All Your Postgres Needs PostgreSQL Security
  • 6. © 2014 EnterpriseDB Corporation. All rights reserved. 6 Postgres’ Growth “We congratulate MongoDB, PostgreSQL and Cassandra for their extraordinary achievements in 2013….The fact that we have three open source tools and two NoSQL systems amongst the winners may be an indication of what 2014 has in store for us.” Postgres is widely recognized for its long history of proven success and future promise
  • 7. © 2014 EnterpriseDB Corporation. All rights reserved. 7 Gartner 2014 ODBMS Magic Quadrant • EnterpriseDB is the primary contributor to the PostgreSQL Community • EnterpriseDB's … is now more than sufficient to run both mission-critical and nonmission-critical applications. • Infor, a major application platform independent software vendor, added EnterpriseDB as a DBMS platform choice. • Reference customers continue to identify the compatibility with Oracle, the stability of the DBMS and the product support as strengths.
  • 8. © 2014 EnterpriseDB Corporation. All rights reserved. 8 Do more with Postgres
  • 9. © 2014 EnterpriseDB Corporation. All rights reserved. 9 Do more with Postgres How to do more with Postgres Open source alternative to commercial RDBMS • Reduce cost • Leverage in-house talent • Flexible license model RDBMS platform for new developments • Proven RDBMS • SQL compliant • Extremely stable Innovative DBMS Platform • Not only SQL (SQL + JSON/KVP) • Web 2.0 friendly • Foreign Data Wrappers • PostGIS
  • 10. © 2014 EnterpriseDB Corporation. All rights reserved. 10 Why do developers like NoSQL only solutions? The NoSQL Conundrum • Easy integration with Web 2.0 development style − JSON is mapped all the way from the web page to the database • Little/no knowledge of SQL required • Who needs data normalization? • “I don’t need no DBA” • The data model is developed as the application matures – schema-less works well with Agile and Sprints • Get up and running really quickly
  • 11. © 2014 EnterpriseDB Corporation. All rights reserved. 11 Problems and fallacies of NoSQL (only) The NoSQL Conundrum • Data silos − Data standards − Data islands − Data access • Technology silos − New database technology − Backup, recovery, replication, tuning, maintenance • Lack of integration with corporate data standards • Data models include data access paths − Customers > Orders or Orders > Customers
  • 12. © 2014 EnterpriseDB Corporation. All rights reserved. 12 Data Standards The NoSQL Conundrum • Structures and standards emerge! • Data has references (products link to catalogs; products have bills of material; components appear in multiple products; storage locations link to ISO country tables) • When the database has duplicate data entries, the application has to manage updates in multiple places – what happens when there is no ACID transactional model?
  • 13. © 2014 EnterpriseDB Corporation. All rights reserved. 13 Data Islands The NoSQL Conundrum • Solutions exist in context • Applications must be integrated − Orders flow to the warehouse − Invoices go to AP − Customer data must tie into the CRM • Data must be managed “By 2017, 50% of data stored in NoSQL DBMSs will be damaging to the business due to a lack of applied information governance policies and programs.” Dec. 3, 2013 Research Note “Does Your NoSQL DMBS Result in Information Governance Debt?” by Nick Heudecker and Ted Friedman.
  • 14. © 2014 EnterpriseDB Corporation. All rights reserved. 14 NoSQL data models include data access paths The NoSQL Conundrum • Document-based models encourage hierarchical data models • Fast and easy access for the intended use case − What did this customer order? − When did they order? − How much did they order? • Really problematic when the use case changes − Which customers ordered Widget A in January? Customer Document Order Sub- document Order Line Sub- document Product Sub- document
  • 15. © 2014 EnterpriseDB Corporation. All rights reserved. 15 Not Only SQL - Technology Innovation on a Robust Platform
  • 16. © 2014 EnterpriseDB Corporation. All rights reserved. 16 Best possible “Not Only SQL” solution Postgres + Documents (JSON) + KVP (HSTORE)
  • 17. © 2014 EnterpriseDB Corporation. All rights reserved. 17 • HSTORE − Key-value pair − Simple, fast and easy − Postgres v 8.2 – pre-dates many NoSQL-only solutions − Ideal for flat data structures that are sparsely populated • JSON − Hierarchical document model − Introduced in Postgres 9.2, perfected in 9.3 • JSONB − Binary version of JSON − Faster, more operators and even more robust − Postgres 9.4 Postgres’ NoSQL Capabilities
  • 18. © 2014 EnterpriseDB Corporation. All rights reserved. 18 • JSON is the most popular data-interchange format on the web • Derived from the ECMAScript Programming Language Standard (European Computer Manufacturers Association). • Supported by virtually every programming language • New supporting technologies continue to expand JSON’s utility − PL/V8 JavaScript extension − Node.js • Postgres has a native JSON data type (v9.2) and a JSON parser and a variety of JSON functions (v9.3) • Postgres will have a JSONB data type with binary storage and indexing (coming – v9.4) Postgres: Document Store
  • 19. © 2014 EnterpriseDB Corporation. All rights reserved. 19 • Creating a table with a JSONB field CREATE TABLE json_data (data JSONB); • Simple JSON data element: {"name": "Apple Phone", "type": "phone", "brand": "ACME", "price": 200, "available": true, "warranty_years": 1} • Inserting this data element into the table json_data INSERT INTO json_data (data) VALUES (’ { "name": "Apple Phone", "type": "phone", "brand": "ACME", "price": 200, "available": true, "warranty_years": 1 } ') JSON Examples
  • 20. © 2014 EnterpriseDB Corporation. All rights reserved. 20 SELECT data FROM json_data; data ------------------------------------------ {"name": "Apple Phone", "type": "phone", "brand": "ACME", "price": 200, "available": true, "warranty_years": 1} A query that returns JSON data This query returns the JSON data in its original format
  • 21. © 2014 EnterpriseDB Corporation. All rights reserved. 21 • JSON is naturally integrated with ANSI SQL in Postgres • JSON and SQL queries use the same language, the same planner, and the same ACID compliant transaction framework • JSON and HSTORE are elegant and easy to use extensions of the underlying object-relational model JSON and ANSI SQL – A Natural Fit
  • 22. © 2014 EnterpriseDB Corporation. All rights reserved. 22 SELECT DISTINCT product_type, data->>'brand' as Brand, data->>'available' as Availability FROM json_data JOIN products ON (products.product_type=json_data.data->>'name') WHERE json_data.data->>'available'=true; product_type | brand | availability ---------------------------+-----------+-------------- AC3 Phone | ACME | true JSON and ANSI SQL Example ANSI SQL JSON No need for programmatic logic to combine SQL and NoSQL in the application – Postgres does it all
  • 23. © 2014 EnterpriseDB Corporation. All rights reserved. 23 Bridging between SQL and JSON Simple ANSI SQL Table Definition CREATE TABLE products (id integer, product_name text ); Select query returning standard data set SELECT * FROM products; id | product_name ----+-------------- 1 | iPhone 2 | Samsung 3 | Nokia Select query returning the same result as a JSON data set SELECT ROW_TO_JSON(products) FROM products; {"id":1,"product_name":"iPhone"} {"id":2,"product_name":"Samsung"} {"id":3,"product_name":"Nokia”}
  • 24. © 2014 EnterpriseDB Corporation. All rights reserved. 24 • 1. Number: − Signed decimal number that may contain a fractional part and may use exponential notation. − No distinction between integer and floating-point • 2. String − A sequence of zero or more Unicode characters. − Strings are delimited with double-quotation mark − Supports a backslash escaping syntax. • 3. Boolean − Either of the values true or false. • 4. Array − An ordered list of zero or more values, − Each values may be of any type. − Arrays use square bracket notation with elements being comma-separated. • 5. Object − An unordered associative array (name/value pairs). − Objects are delimited with curly brackets − Commas to separate each pair − Each pair the colon ':' character separates the key or name from its value. − All keys must be strings and should be distinct from each other within that object. • 6. null − An empty value, using the word null JSON Data Types JSON is defined per RFC – 7159 For more detail please refer http://tools.ietf.org/html/rfc7159
  • 25. © 2014 EnterpriseDB Corporation. All rights reserved. 25 { "firstName": "John", -- String Type "lastName": "Smith", -- String Type "isAlive": true, -- Boolean Type "age": 25, -- Number Type "height_cm": 167.6, -- Number Type "address": { -- Object Type "streetAddress": "21 2nd Street”, "city": "New York”, "state": "NY”, "postalCode": "10021-3100” }, "phoneNumbers": [ // Object Array { // Object "type": "home”, "number": "212 555-1234” }, { "type": "office”, "number": "646 555-4567” } ], "children": [], "spouse": null // Null } JSON Data Type Example
  • 26. © 2014 EnterpriseDB Corporation. All rights reserved. 26 A Customer and Order Example 360° view of the customer • The traditional way: − Landing, Staging, Normalizing • The NoSQL Way: − Use the schema-less data model to maintain the original data formats for customers and orders − Align orders with customers in one large collection of customer order documents • The Not Only SQL Way: − Use the schema-less data model to maintain the original data formats for customers and orders − Link customers and orders with a flexible N:M relationship
  • 27. © 2014 EnterpriseDB Corporation. All rights reserved. 27 The traditional approach 360° view of the customer CRM Order Management Marketing Billing eCommerce CRM Order Management Marketing Marketing Customer Customer Order Order Order Order Customer Order Source Systems Landing Staging Integrated Data Model Customer Custo mer
  • 28. © 2014 EnterpriseDB Corporation. All rights reserved. 28 Customer Information The NoSQL Only Approach 360° view of the customer CRM Order Management Marketing Billing eCommerce CRM Order Management Marketing Marketing Customer Customer Customer Custo mer Order Information Order Order Order Order Customer Collection • Document-oriented approach • Very fast implementation • Differences in source data can be maintained • Orders belong to customers (sub documents) or vice-versa • Hard codes the data access model! • Limited reuse!
  • 29. © 2014 EnterpriseDB Corporation. All rights reserved. 29 The Not Only SQL Approach 360° view of the customer CRM Order Management Marketing Billing eCommerce CRM Order Management Marketing Marketing Source Systems Order Order Order Order Information Order Customer Custo mer Customer Information Customer Customer N:M • No hard coded relationships • Multiple access methods • Reuse for multiple use cases • Two types of documents (Customers and Orders) • Very fast implementation • Differences in source data can be maintained
  • 30. © 2014 EnterpriseDB Corporation. All rights reserved. 30 • Use JSON schema-less data where appropriate (customers and orders) • Leverage SQL structures and relationships where possible (who bought what when) • Design for reuse – do not encode the initial use case into the data model • Create highly reusable data models • Build on well-established technology platforms that integrate with your IT environment and that support your data strategy Data Integration – The Not Only SQL Way
  • 31. © 2014 EnterpriseDB Corporation. All rights reserved. 31 • Use structures and relationships where appropriate, be flexible everywhere else − Use JSON for data with high degrees of variability − Use the flexibility of JSON to bridge multiple formats and data elements − Use SQL to make relationships explicit – don’t hard code them • Leverage a single tech platform to avoid tech silos, skills silos and data silos • Focus on creating value-add, not on setting up yet another infrastructure • Build on the most advanced open source DBMS’s Capabilities Do more with Postgres! Not Only SQL Rules!
  • 32. © 2014 EnterpriseDB Corporation. All rights reserved. 32