SlideShare a Scribd company logo
1 of 30
Download to read offline
From SQLto NoSQL
Tugdual Grall
Technical Evangelist
tug@mongodb.com
@tgrall
Tugdual “Tug” Grall
• MongoDB
–  Technical Evangelist
• Couchbase
–  Technical Evangelist
• eXo
–  CTO
• Oracle
–  Developer/Product Manager
–  Mainly Java/SOA
• Developer in consulting firms
{“about” : “me”}
• Web
–  @tgrall
–  http://blog.grallandco.com
–  tgrall
• NantesJUG cofounder
• Pet Project
–  http://www.resultri.com
• tug@mongodb.com
• tugdual@gmail.com
Why Migrate At All?
Understand Your Pain(s)
Existing solution must be struggling to deliver
2 or more of the following capabilities:
•  High performance (1000’s –
millions ops / sec)
•  Need dynamic schema with rich
shapes and rich querying
•  Need truly agile software lifecycle
and quick time to market for new
features
•  Geospatial querying
•  Need for effortless replication
across multiple data centers, even
globally
•  Need to deploy rapidly and scale
on demand
•  99.999% uptime (<10 mins / yr)
•  Deploy over commodity
computing and storage
architectures
•  Point in Time recovery
Migration Difficulty Varies ByArchitecture
Moving to NosSQL is not the same as migrating
from one RDBMS to another.
To be successful, you must address your overall
design and technology stack, not just schema
design.
The Stack: The Obvious
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Assume there will be many changes
at this level:
•  Schema
•  Stored Procedure Rewrite
•  Ops management
•  Backup & Restore
•  Test Environment setup
Apps
Storage Layer
Don’t Forget the Storage
Most RDBMS are deployed over SAN.
MongoDB works on SAN, too – but value
may exist in switching to locally attached
storage
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
Less Obvious But Important
Opportunities may exist to increase
platform value:
•  Convergence of HA and DR
•  Read-only use of secondaries
•  Schema
•  Ops management
•  Backup & Restore
•  Test Environment setup
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
O/JDBC is about Rectangles
MongoDB uses different drivers, so
different
•  Data shape APIs
•  Connection pooling
•  Write durability
And most importantly
•  No multi-document TX
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
NoSQL means… well… No SQL
MongoDB doesn’t use SQL nor does it
return data in rectangular form where
each field is a scalar
And most importantly
•  No JOINs in the database
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
Goodbye, ORM
ORMs are designed to move
rectangles of often repeating columns
into POJOs. This is unnecessary in
MongoDB.
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
The Tail (might) Wag The Dog
Common POJO mistakes:
•  Mimic underlying relational
design for ease of ORM
integration
•  Carrying fields like “id” which
violate object / containing
domain design
•  Lack of testability without a
persistorRDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Storage Layer
Migrate Or Rewrite: Cost/BenefitAnalysis
Migration
Approach
RDBMS
JDBC
SQL / ResultSet
ORM
POJOs
Apps
Rewrite
Approach
Constantmarginalcost
Consistentandcleandesign
Increasingmarginalcost
Decreasingvalueof
migrationvs.rewrite
$
$
$
$
Storage Layer
Sample Migration Investment “Calculator”
Design Aspect Difficulty Include
Two-phase XA commit to external systems (e.g. queues) -5
More than 100 tables most of which are critical -3 ✔
Extensive, complex use of ORMs -3
Hundreds of SQL driven BI reports -2
Compartmentalized dynamic SQL generation +2 ✔
Core logic code (POJOs) free of persistence bits +2 ✔
Need to save and fetch BLOB data +2
Need to save and query third party data that can change +4
Fully factored DAL incl. query parameterization +4
Desire to simplify persistence design +4
SCORE +1
If score is less than 0, significant investment may be required to
produce desired migration value
Migration Spectrum
•  Small number of tables (20)
•  Complex data shapes stored in BLOBs
•  Millions or billions of items
•  Frequent (monthly) change in data shapes
•  Well-constructed software stack with DAL
•  POJO or apps directly constructing and
executing SQL
•  Hundreds of tables
•  Slow growth
•  Extensive SQL-based BI reporting
GOOD
REWRITE
INSTEAD
What Are People Going to Do
Differently
Everyone Needs To Change A Bit
•  Line of business
•  Solution Architects
•  Developers
•  Data Architects
•  DBAs
•  System Administrators
•  Security
…especially these guys
•  Line of business
•  Solution Architects
•  Developers
•  Data Architects
•  DBAs
•  System Administrators
•  Security
Data Architect’s View: Data Modeling
RDBMS MongoDB
{
name: {
last: "Dunham”,
first: “Justin”
},
department : "Marketing",
pets: [ “dog”, “cat” ],
title : “Manager",
locationCode: “NYC23”,
benefits : [
{ type : "Health",
plan : “Plus" },
{ type : "Dental",
plan : "Standard”,
optin: true }
]
}
An Example
Product Catalog
Entity Attributes Values
prodID property value
1 length/weight -3
1 barrel dia 2 5/8
1 type composite
1 certification BBCOR
…
5 size 12
5 position infield
5 pattern B212
5 material leather
5 color black
…
8 color white
8 cover leather
8 core cork
prodID
Category Model Name Brand Country Price
1 Bat B1403E Air Elite RIP-IT USA $399.99
2 Bat B1403 Prototype RIP-IT USA $199.99
3 Bat MCB1B One Marucci Imported $199.99
4 Bat BB14S1 S1 Easton China $399.99
5 Glove
WTA2000BBB2
12 A2000 Wilson Vietnam $299.99
6 Glove PRO112PT HOH Pro Rawlings China $229.99
7 Baseball DICRLLB1PBG Little League Rawlings China $4.99
8 Baseball ROML MLB Rawlings China $6.99
Demo Time
Tugdual Grall
Technical Evangelist
tug@mongodb.com
@tgrall
Bulk Migration
From The Factory: mongoimport
$	
  head	
  -­‐1	
  customers.json	
  
{	
  "name":	
  {	
  "last":	
  "Dunham",	
  "first":	
  "Jus3n"	
  },	
  "department"	
  :	
  "Marke3ng",	
  "pets":	
  [	
  "dog",	
  "cat"	
  ]	
  ,	
  "hire":	
  
{"$date":	
  "2012-­‐12-­‐14T00:00:00Z"}	
  ,"3tle"	
  :	
  "Manager",	
  "loca3onCode":	
  "NYC23"	
  	
  ,	
  "benefits"	
  :	
  
[	
  {	
  "type":"Health",	
  "plan":"Plus"	
  },	
  {	
  "type"	
  :	
  "Dental",	
  "plan"	
  :	
  "Standard",	
  "op3n":	
  true	
  }]}	
  
$	
  mongoimport	
  -­‐-­‐db	
  test	
  -­‐-­‐collec8on	
  customers	
  –drop	
  <	
  customers.json	
  	
  
connected	
  to:	
  127.0.0.1	
  
2014-­‐11-­‐26T08:36:47.509-­‐0800	
  imported	
  1000	
  objects	
  
$	
  mongo	
  
MongoDB	
  shell	
  version:	
  2.6.5	
  
connec3ng	
  to:	
  test	
  
Ø  db.customers.findOne()	
  
{	
  
	
  "_id"	
  :	
  ObjectId("548f5c2da40d2829f0ed8be9"),	
  
	
  "name"	
  :	
  {	
  "last"	
  :	
  "Dunham”,	
  “first"	
  :	
  "Jus3n”	
  },	
  
	
  "department"	
  :	
  "Marke3ng",	
  
	
  "pets"	
  :	
  [	
  "dog”"cat”],	
  
	
  "hire"	
  :	
  ISODate("2012-­‐12-­‐14T00:00:00Z"),	
  
	
  "3tle"	
  :	
  "Manager",	
  
	
  "loca3onCode"	
  :	
  "NYC23",	
  
	
  "benefits"	
  :	
  [	
  
	
   	
  {	
  
	
   	
   	
  "type"	
  :	
  "Health",	
  
	
   	
   	
  "plan"	
  :	
  "Plus"	
  
	
   	
  },{	
  
	
   	
   	
  "type"	
  :	
  "Dental",	
  
	
   	
   	
  "plan"	
  :	
  "Standard",	
  
	
   	
   	
  "op3n"	
  :	
  true	
  
	
   	
  }	
  
	
  ]	
  
}	
  
	
  
Traditional vendor ETL
Source Database ETL
Many other options
•  Community Tools
•  Build your One
•  ….
From SQLto NoSQL
Tugdual Grall
Technical Evangelist
tug@mongodb.com
@tgrall
Thank you
mongodb.com

More Related Content

What's hot

MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...MongoDB
 
Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers  Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers EDB
 
Mongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseMongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseXpand IT
 
Getting Started with PostGIS
Getting Started with PostGISGetting Started with PostGIS
Getting Started with PostGISEDB
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveIBM Cloud Data Services
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsSteven Francia
 
MongoDB: How We Did It – Reanimating Identity at AOL
MongoDB: How We Did It – Reanimating Identity at AOLMongoDB: How We Did It – Reanimating Identity at AOL
MongoDB: How We Did It – Reanimating Identity at AOLMongoDB
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceMongoDB
 
Native JSON Support in SQL2016
Native JSON Support in SQL2016Native JSON Support in SQL2016
Native JSON Support in SQL2016Ivo Andreev
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDBDenny Lee
 
Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013EDB
 
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Lucidworks
 
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...jaxconf
 
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 PostgresEDB
 
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can EatNoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can EatDATAVERSITY
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 

What's hot (20)

MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...
MongoDB World 2019: Raiders of the Anti-patterns: A Journey Towards Fixing Sc...
 
Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers  Postgres Foreign Data Wrappers
Postgres Foreign Data Wrappers
 
Mongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseMongo DB: Operational Big Data Database
Mongo DB: Operational Big Data Database
 
Getting Started with PostGIS
Getting Started with PostGISGetting Started with PostGIS
Getting Started with PostGIS
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The Move
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
 
MongoDB: How We Did It – Reanimating Identity at AOL
MongoDB: How We Did It – Reanimating Identity at AOLMongoDB: How We Did It – Reanimating Identity at AOL
MongoDB: How We Did It – Reanimating Identity at AOL
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-Service
 
Native JSON Support in SQL2016
Native JSON Support in SQL2016Native JSON Support in SQL2016
Native JSON Support in SQL2016
 
Practical Use of a NoSQL Database
Practical Use of a NoSQL DatabasePractical Use of a NoSQL Database
Practical Use of a NoSQL Database
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
Practical Use of a NoSQL
Practical Use of a NoSQLPractical Use of a NoSQL
Practical Use of a NoSQL
 
Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013
 
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
 
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
 
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
 
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local London 2019: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB vs OrientDB
MongoDB vs OrientDBMongoDB vs OrientDB
MongoDB vs OrientDB
 
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can EatNoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 

Similar to Tugdual Grall - From SQL to NoSQL in less than 40 min - NoSQL matters Paris 2015

Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauMongoDB
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
MongoDB Schema Design: Practical Applications and Implications
MongoDB Schema Design: Practical Applications and ImplicationsMongoDB Schema Design: Practical Applications and Implications
MongoDB Schema Design: Practical Applications and ImplicationsMongoDB
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Tugdual Grall
 
Webinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseWebinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseMongoDB
 
Changing the game with cloud dw
Changing the game with cloud dwChanging the game with cloud dw
Changing the game with cloud dwelephantscale
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerMongoDB
 
Eventually Elasticsearch: Eventual Consistency in the Real World
Eventually Elasticsearch: Eventual Consistency in the Real WorldEventually Elasticsearch: Eventual Consistency in the Real World
Eventually Elasticsearch: Eventual Consistency in the Real WorldBeyondTrees
 
La Modernizzazione dei Dati come base per la Trasformazione Digitale
La Modernizzazione dei Dati come base per la Trasformazione DigitaleLa Modernizzazione dei Dati come base per la Trasformazione Digitale
La Modernizzazione dei Dati come base per la Trasformazione DigitaleMongoDB
 
Polyglot persistence for Java developers: time to move out of the relational ...
Polyglot persistence for Java developers: time to move out of the relational ...Polyglot persistence for Java developers: time to move out of the relational ...
Polyglot persistence for Java developers: time to move out of the relational ...Chris Richardson
 
Confluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & LearnConfluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & Learnconfluent
 
Orm and hibernate
Orm and hibernateOrm and hibernate
Orm and hibernates4al_com
 
L’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneL’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneMongoDB
 
Big Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureBig Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureMark Kromer
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhentranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhenDavid Peyruc
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Chris Grabosky
 
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDBBangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDBMongoDB
 

Similar to Tugdual Grall - From SQL to NoSQL in less than 40 min - NoSQL matters Paris 2015 (20)

Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
MongoDB Schema Design: Practical Applications and Implications
MongoDB Schema Design: Practical Applications and ImplicationsMongoDB Schema Design: Practical Applications and Implications
MongoDB Schema Design: Practical Applications and Implications
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
Webinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseWebinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick Database
 
Changing the game with cloud dw
Changing the game with cloud dwChanging the game with cloud dw
Changing the game with cloud dw
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision Maker
 
Eventually Elasticsearch: Eventual Consistency in the Real World
Eventually Elasticsearch: Eventual Consistency in the Real WorldEventually Elasticsearch: Eventual Consistency in the Real World
Eventually Elasticsearch: Eventual Consistency in the Real World
 
La Modernizzazione dei Dati come base per la Trasformazione Digitale
La Modernizzazione dei Dati come base per la Trasformazione DigitaleLa Modernizzazione dei Dati come base per la Trasformazione Digitale
La Modernizzazione dei Dati come base per la Trasformazione Digitale
 
Polyglot persistence for Java developers: time to move out of the relational ...
Polyglot persistence for Java developers: time to move out of the relational ...Polyglot persistence for Java developers: time to move out of the relational ...
Polyglot persistence for Java developers: time to move out of the relational ...
 
Confluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & LearnConfluent & MongoDB APAC Lunch & Learn
Confluent & MongoDB APAC Lunch & Learn
 
Orm and hibernate
Orm and hibernateOrm and hibernate
Orm and hibernate
 
Mongodb
MongodbMongodb
Mongodb
 
L’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazioneL’architettura di classe enterprise di nuova generazione
L’architettura di classe enterprise di nuova generazione
 
Big Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureBig Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft Azure
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhentranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
 
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
CDC to the Max!
CDC to the Max!CDC to the Max!
CDC to the Max!
 
Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization
 
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDBBangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
 

More from NoSQLmatters

Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...
Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...
Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...NoSQLmatters
 
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...NoSQLmatters
 
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015NoSQLmatters
 
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...NoSQLmatters
 
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...NoSQLmatters
 
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015NoSQLmatters
 
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...NoSQLmatters
 
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...NoSQLmatters
 
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015NoSQLmatters
 
Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...NoSQLmatters
 
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...NoSQLmatters
 
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...NoSQLmatters
 
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015NoSQLmatters
 
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...NoSQLmatters
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...NoSQLmatters
 
David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...NoSQLmatters
 
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015NoSQLmatters
 
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...NoSQLmatters
 
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015NoSQLmatters
 
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...NoSQLmatters
 

More from NoSQLmatters (20)

Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...
Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...
Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through...
 
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
Stefan Hochdörfer - The NoSQL Store everyone ignores: PostgreSQL - NoSQL matt...
 
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
 
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...
Peter Bakas - Zero to Insights - Real time analytics with Kafka, C*, and Spar...
 
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...
Dan Sullivan - Data Analytics and Text Mining with MongoDB - NoSQL matters Du...
 
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
 
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
 
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
 
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
 
Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...
 
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...
Philipp Krenn - Host your database in the cloud, they said... - NoSQL matters...
 
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...
Lucian Precup - Back to the Future: SQL 92 for Elasticsearch? - NoSQL matters...
 
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015
Bruno Guedes - Hadoop real time for dummies - NoSQL matters Paris 2015
 
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...
DuyHai DOAN - Real time analytics with Cassandra and Spark - NoSQL matters Pa...
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
 
David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...
 
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
Gregorry Letribot - Druid at Criteo - NoSQL matters 2015
 
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
 
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
 
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...
Alexandre Vasseur - Evolution of Data Architectures: From Hadoop to Data Lake...
 

Recently uploaded

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Tugdual Grall - From SQL to NoSQL in less than 40 min - NoSQL matters Paris 2015

  • 1.
  • 2. From SQLto NoSQL Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall
  • 3. Tugdual “Tug” Grall • MongoDB –  Technical Evangelist • Couchbase –  Technical Evangelist • eXo –  CTO • Oracle –  Developer/Product Manager –  Mainly Java/SOA • Developer in consulting firms {“about” : “me”} • Web –  @tgrall –  http://blog.grallandco.com –  tgrall • NantesJUG cofounder • Pet Project –  http://www.resultri.com • tug@mongodb.com • tugdual@gmail.com
  • 5. Understand Your Pain(s) Existing solution must be struggling to deliver 2 or more of the following capabilities: •  High performance (1000’s – millions ops / sec) •  Need dynamic schema with rich shapes and rich querying •  Need truly agile software lifecycle and quick time to market for new features •  Geospatial querying •  Need for effortless replication across multiple data centers, even globally •  Need to deploy rapidly and scale on demand •  99.999% uptime (<10 mins / yr) •  Deploy over commodity computing and storage architectures •  Point in Time recovery
  • 6. Migration Difficulty Varies ByArchitecture Moving to NosSQL is not the same as migrating from one RDBMS to another. To be successful, you must address your overall design and technology stack, not just schema design.
  • 7. The Stack: The Obvious RDBMS JDBC SQL / ResultSet ORM POJOs Assume there will be many changes at this level: •  Schema •  Stored Procedure Rewrite •  Ops management •  Backup & Restore •  Test Environment setup Apps Storage Layer
  • 8. Don’t Forget the Storage Most RDBMS are deployed over SAN. MongoDB works on SAN, too – but value may exist in switching to locally attached storage RDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 9. Less Obvious But Important Opportunities may exist to increase platform value: •  Convergence of HA and DR •  Read-only use of secondaries •  Schema •  Ops management •  Backup & Restore •  Test Environment setup RDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 10. O/JDBC is about Rectangles MongoDB uses different drivers, so different •  Data shape APIs •  Connection pooling •  Write durability And most importantly •  No multi-document TX RDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 11. NoSQL means… well… No SQL MongoDB doesn’t use SQL nor does it return data in rectangular form where each field is a scalar And most importantly •  No JOINs in the database RDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 12. Goodbye, ORM ORMs are designed to move rectangles of often repeating columns into POJOs. This is unnecessary in MongoDB. RDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 13. The Tail (might) Wag The Dog Common POJO mistakes: •  Mimic underlying relational design for ease of ORM integration •  Carrying fields like “id” which violate object / containing domain design •  Lack of testability without a persistorRDBMS JDBC SQL / ResultSet ORM POJOs Apps Storage Layer
  • 14. Migrate Or Rewrite: Cost/BenefitAnalysis Migration Approach RDBMS JDBC SQL / ResultSet ORM POJOs Apps Rewrite Approach Constantmarginalcost Consistentandcleandesign Increasingmarginalcost Decreasingvalueof migrationvs.rewrite $ $ $ $ Storage Layer
  • 15. Sample Migration Investment “Calculator” Design Aspect Difficulty Include Two-phase XA commit to external systems (e.g. queues) -5 More than 100 tables most of which are critical -3 ✔ Extensive, complex use of ORMs -3 Hundreds of SQL driven BI reports -2 Compartmentalized dynamic SQL generation +2 ✔ Core logic code (POJOs) free of persistence bits +2 ✔ Need to save and fetch BLOB data +2 Need to save and query third party data that can change +4 Fully factored DAL incl. query parameterization +4 Desire to simplify persistence design +4 SCORE +1 If score is less than 0, significant investment may be required to produce desired migration value
  • 16. Migration Spectrum •  Small number of tables (20) •  Complex data shapes stored in BLOBs •  Millions or billions of items •  Frequent (monthly) change in data shapes •  Well-constructed software stack with DAL •  POJO or apps directly constructing and executing SQL •  Hundreds of tables •  Slow growth •  Extensive SQL-based BI reporting GOOD REWRITE INSTEAD
  • 17. What Are People Going to Do Differently
  • 18. Everyone Needs To Change A Bit •  Line of business •  Solution Architects •  Developers •  Data Architects •  DBAs •  System Administrators •  Security
  • 19. …especially these guys •  Line of business •  Solution Architects •  Developers •  Data Architects •  DBAs •  System Administrators •  Security
  • 20. Data Architect’s View: Data Modeling RDBMS MongoDB { name: { last: "Dunham”, first: “Justin” }, department : "Marketing", pets: [ “dog”, “cat” ], title : “Manager", locationCode: “NYC23”, benefits : [ { type : "Health", plan : “Plus" }, { type : "Dental", plan : "Standard”, optin: true } ] }
  • 23. Entity Attributes Values prodID property value 1 length/weight -3 1 barrel dia 2 5/8 1 type composite 1 certification BBCOR … 5 size 12 5 position infield 5 pattern B212 5 material leather 5 color black … 8 color white 8 cover leather 8 core cork prodID Category Model Name Brand Country Price 1 Bat B1403E Air Elite RIP-IT USA $399.99 2 Bat B1403 Prototype RIP-IT USA $199.99 3 Bat MCB1B One Marucci Imported $199.99 4 Bat BB14S1 S1 Easton China $399.99 5 Glove WTA2000BBB2 12 A2000 Wilson Vietnam $299.99 6 Glove PRO112PT HOH Pro Rawlings China $229.99 7 Baseball DICRLLB1PBG Little League Rawlings China $4.99 8 Baseball ROML MLB Rawlings China $6.99
  • 24. Demo Time Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall
  • 26. From The Factory: mongoimport $  head  -­‐1  customers.json   {  "name":  {  "last":  "Dunham",  "first":  "Jus3n"  },  "department"  :  "Marke3ng",  "pets":  [  "dog",  "cat"  ]  ,  "hire":   {"$date":  "2012-­‐12-­‐14T00:00:00Z"}  ,"3tle"  :  "Manager",  "loca3onCode":  "NYC23"    ,  "benefits"  :   [  {  "type":"Health",  "plan":"Plus"  },  {  "type"  :  "Dental",  "plan"  :  "Standard",  "op3n":  true  }]}   $  mongoimport  -­‐-­‐db  test  -­‐-­‐collec8on  customers  –drop  <  customers.json     connected  to:  127.0.0.1   2014-­‐11-­‐26T08:36:47.509-­‐0800  imported  1000  objects   $  mongo   MongoDB  shell  version:  2.6.5   connec3ng  to:  test   Ø  db.customers.findOne()   {    "_id"  :  ObjectId("548f5c2da40d2829f0ed8be9"),    "name"  :  {  "last"  :  "Dunham”,  “first"  :  "Jus3n”  },    "department"  :  "Marke3ng",    "pets"  :  [  "dog”"cat”],    "hire"  :  ISODate("2012-­‐12-­‐14T00:00:00Z"),    "3tle"  :  "Manager",    "loca3onCode"  :  "NYC23",    "benefits"  :  [      {        "type"  :  "Health",        "plan"  :  "Plus"      },{        "type"  :  "Dental",        "plan"  :  "Standard",        "op3n"  :  true      }    ]   }    
  • 28. Many other options •  Community Tools •  Build your One •  ….
  • 29. From SQLto NoSQL Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall