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
February 5, 2015
© 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

SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...European SharePoint Conference
 
SQL Server 2014 Features
SQL Server 2014 FeaturesSQL Server 2014 Features
SQL Server 2014 FeaturesKarunakar Kotha
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsHostway|HOSTING
 
Informix 1210 feature overview
Informix 1210 feature overviewInformix 1210 feature overview
Informix 1210 feature overviewJohn Miller
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersDatavail
 
App Sharding to Autosharding at Sailthru
App Sharding to Autosharding at SailthruApp Sharding to Autosharding at Sailthru
App Sharding to Autosharding at SailthruMongoDB
 
Using Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterUsing Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterMongoDB
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big DataAndrew Brust
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013J.D. Wade
 
KoprowskiT_InfoTRAMS_TrustThePrimer
KoprowskiT_InfoTRAMS_TrustThePrimerKoprowskiT_InfoTRAMS_TrustThePrimer
KoprowskiT_InfoTRAMS_TrustThePrimerTobias Koprowski
 

What's hot (12)

v9.1.2 update
 v9.1.2 update v9.1.2 update
v9.1.2 update
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
 
SQL Server 2014 Features
SQL Server 2014 FeaturesSQL Server 2014 Features
SQL Server 2014 Features
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
Informix 1210 feature overview
Informix 1210 feature overviewInformix 1210 feature overview
Informix 1210 feature overview
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for Developers
 
App Sharding to Autosharding at Sailthru
App Sharding to Autosharding at SailthruApp Sharding to Autosharding at Sailthru
App Sharding to Autosharding at Sailthru
 
Using Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterUsing Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your Cluster
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big Data
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013
 
KoprowskiT_InfoTRAMS_TrustThePrimer
KoprowskiT_InfoTRAMS_TrustThePrimerKoprowskiT_InfoTRAMS_TrustThePrimer
KoprowskiT_InfoTRAMS_TrustThePrimer
 

Similar to EDB NoSQL German Webinar 2015

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 EatEDB
 
Postgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterPostgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterEDB
 
NoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresNoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresEDB
 
NoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured PostgresNoSQL on ACID: Meet Unstructured Postgres
NoSQL on ACID: Meet Unstructured PostgresEDB
 
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 kontroliEDB
 
Postgres for the Future
Postgres for the FuturePostgres for the Future
Postgres for the FutureEDB
 
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 PostgresEDB
 
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 EnterpriseEDB
 
Optimize with Open Source
Optimize with Open SourceOptimize with Open Source
Optimize with Open SourceEDB
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresEDB
 
Optimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & ControlOptimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & ControlEDB
 
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...EDB
 
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 PostgreSQLEDB
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Lucas Jellema
 
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 DatabaseEDB
 
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 MinutesEDB
 
Save money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinuxSave money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinuxEDB
 
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 & MoreAshnikbiz
 
From Database to Strategy - Sandor Klein
From Database to Strategy - Sandor KleinFrom Database to Strategy - Sandor Klein
From Database to Strategy - Sandor KleinKangaroot
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationEDB
 

Similar to EDB NoSQL German Webinar 2015 (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
 
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
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with Postgres
 
Optimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & ControlOptimizing Open Source for Greater Database Savings & Control
Optimizing Open Source for Greater Database Savings & Control
 
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
New Approaches to Migrating from Oracle to Enterprise-Ready Postgres in the C...
 
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
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
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
 
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
 
Save money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinuxSave money with Postgres on IBM PowerLinux
Save money with Postgres on IBM PowerLinux
 
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
 
From Database to Strategy - Sandor Klein
From Database to Strategy - Sandor KleinFrom Database to Strategy - Sandor Klein
From Database to Strategy - Sandor Klein
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
 

More from EDB

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSEDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenEDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLEDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLEDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresEDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINEDB
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQLEDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoEDB
 
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 13EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJEDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 

More from EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
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
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 

Recently uploaded

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

EDB NoSQL German Webinar 2015

  • 1. © 2014 EnterpriseDB Corporation. All rights reserved. 1 Postgres: The NoSQL Cake You Can Eat February 5, 2015
  • 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