SlideShare a Scribd company logo
1 of 32
Download to read offline
© 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

What's hot

What's hot (20)

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

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

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

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

More from DATAVERSITY

The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
DATAVERSITY
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best Practices
DATAVERSITY
 

More from DATAVERSITY (20)

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

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

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