SlideShare a Scribd company logo
1 of 13
NoSQL
Tech Days 2012



Boris Bucha
THE APP


 GDI, WPF, SVG, CSS, HTML5 Canvas,
 WebForms, JSP, …

 Message Bus, Crif Technology Platform,
 Crif CreditFlow, BizTalk,
 … (long/short running, sync/async ..)


 Oracle, Microsoft, Postrge ? … SQL
Why so relational ?
• Store / Load interface
• Simple , beautiful , flexible (efficiently enough
  supports many usecases - almost)
• 5 comammandments to make life easier (5NF)
  – Ayende - compression

• Integration vs Application database (SOA)
  – agreed (relational) model makes DB easy target to
    misuse by other apps
The ugly
• Impedance mismatch (well …)

• “Don’t scale” (well …) –
  Google, Facebook, Linkedin,..
  – Vertical / horizontal
                                       vs
  – Shared disk (in cluster)

• Don’t capture the way data are accessed (UI, BL
  analogy)
Welcome to the world of
              Polyglot persistence
• Document stores
       CouchDB, MongoDB, RavenDB, …




• Key-value stores

• Column Family stores

• Graph stores
  Neo4J, Infinite Graph, OrientDB, FlockDB,…
So what do WE typically store ?

        Objects graphs
Object graphs like…
Object graphs that respect rules
         of concurrent access
• Objects can often be edited as a group
  – Coarse-Grained Lock [PoEAA]
    (Fowler 2002)




        Consistency aplied to groups   Object graph = intent



                  Impedance mismatch !!
Aggregate [DDD]
• Consistency boundaries (ACID)

• Relational databases are aggregate-ignorant
• Document database to RESCUE!
• 1 IO OP = Sharding (sharding function ie. geoloc,
• vip customers,)




Effective Aggregate Design [http://dddcommunity.org/library/vernon_2011]
Cost of working with aggregates
RavenDB
Use cases

• When ?
  – View model persistance – CQRS
  – Aggregates stores


• When NOT ?
  – BI, Reporting – many adhoc queries
Cloud friendly

More Related Content

What's hot

Preserving the iMIS Upgrade Path
Preserving the iMIS Upgrade PathPreserving the iMIS Upgrade Path
Preserving the iMIS Upgrade PathAndrea Robertson
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform appsSwaminathan Vetri
 
опыт использования схемы Drupal+varnish+nginx руслан исай
опыт использования схемы Drupal+varnish+nginx руслан исайопыт использования схемы Drupal+varnish+nginx руслан исай
опыт использования схемы Drupal+varnish+nginx руслан исайdrupalconf
 
Learn css step by step online course
Learn css step by step online course Learn css step by step online course
Learn css step by step online course Naeem Hussain
 
Database concepts by vaishali sahare[katkar]
Database concepts by vaishali sahare[katkar]Database concepts by vaishali sahare[katkar]
Database concepts by vaishali sahare[katkar]vaishalisahare123
 
Bib frame
Bib frameBib frame
Bib frameccase2
 
Distributed SQL databases
Distributed SQL databasesDistributed SQL databases
Distributed SQL databasesAnurag S
 
Advanced Wordpress
Advanced WordpressAdvanced Wordpress
Advanced Wordpresslexinamer
 
CSS Flexbox and Grid Layouts
CSS Flexbox and Grid LayoutsCSS Flexbox and Grid Layouts
CSS Flexbox and Grid LayoutsAnantha kumar
 
CUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsCUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsAlfresco Software
 
JCR Content Management
JCR Content ManagementJCR Content Management
JCR Content Managementelliando dias
 
Analyzing Large-Scale User Data with Hadoop and HBase
Analyzing Large-Scale User Data with Hadoop and HBaseAnalyzing Large-Scale User Data with Hadoop and HBase
Analyzing Large-Scale User Data with Hadoop and HBaseWibiData
 
WordPress Template hierarchy
WordPress Template hierarchyWordPress Template hierarchy
WordPress Template hierarchyJason Yingling
 
Visual Design for Content Management Systems
Visual Design for Content Management SystemsVisual Design for Content Management Systems
Visual Design for Content Management SystemsDani Nordin
 

What's hot (20)

Preserving the iMIS Upgrade Path
Preserving the iMIS Upgrade PathPreserving the iMIS Upgrade Path
Preserving the iMIS Upgrade Path
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform apps
 
опыт использования схемы Drupal+varnish+nginx руслан исай
опыт использования схемы Drupal+varnish+nginx руслан исайопыт использования схемы Drupal+varnish+nginx руслан исай
опыт использования схемы Drupal+varnish+nginx руслан исай
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
 
Learn css step by step online course
Learn css step by step online course Learn css step by step online course
Learn css step by step online course
 
Database concepts by vaishali sahare[katkar]
Database concepts by vaishali sahare[katkar]Database concepts by vaishali sahare[katkar]
Database concepts by vaishali sahare[katkar]
 
Bib frame
Bib frameBib frame
Bib frame
 
Distributed SQL databases
Distributed SQL databasesDistributed SQL databases
Distributed SQL databases
 
WordPress Architecture For Beginners
WordPress Architecture For Beginners WordPress Architecture For Beginners
WordPress Architecture For Beginners
 
Sso
SsoSso
Sso
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Advanced Wordpress
Advanced WordpressAdvanced Wordpress
Advanced Wordpress
 
CSS Flexbox and Grid Layouts
CSS Flexbox and Grid LayoutsCSS Flexbox and Grid Layouts
CSS Flexbox and Grid Layouts
 
CUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsCUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing Tools
 
JCR Content Management
JCR Content ManagementJCR Content Management
JCR Content Management
 
Analyzing Large-Scale User Data with Hadoop and HBase
Analyzing Large-Scale User Data with Hadoop and HBaseAnalyzing Large-Scale User Data with Hadoop and HBase
Analyzing Large-Scale User Data with Hadoop and HBase
 
DOC Presentation by DOC Contractor Alison McCauley
DOC Presentation by DOC Contractor Alison McCauleyDOC Presentation by DOC Contractor Alison McCauley
DOC Presentation by DOC Contractor Alison McCauley
 
MongoDB
MongoDBMongoDB
MongoDB
 
WordPress Template hierarchy
WordPress Template hierarchyWordPress Template hierarchy
WordPress Template hierarchy
 
Visual Design for Content Management Systems
Visual Design for Content Management SystemsVisual Design for Content Management Systems
Visual Design for Content Management Systems
 

Viewers also liked

Personal development course assignment 3
Personal development course assignment 3Personal development course assignment 3
Personal development course assignment 3Olive Wahü
 
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...Macrosolutions SA
 
Macrosolutions Training: Project Quality Management
Macrosolutions Training: Project Quality ManagementMacrosolutions Training: Project Quality Management
Macrosolutions Training: Project Quality ManagementMacrosolutions SA
 
Model driven story
Model driven storyModel driven story
Model driven storyBoris Bucha
 
Macrosolutions Consulting Service: Projects accelerated planning through the ...
Macrosolutions Consulting Service: Projects accelerated planning through the ...Macrosolutions Consulting Service: Projects accelerated planning through the ...
Macrosolutions Consulting Service: Projects accelerated planning through the ...Macrosolutions SA
 
Why good spreadsheets make bad strategies
Why good spreadsheets make bad strategiesWhy good spreadsheets make bad strategies
Why good spreadsheets make bad strategiesLeonel Davidson
 
Macrosolutions Training: Portfolio Management
Macrosolutions Training: Portfolio ManagementMacrosolutions Training: Portfolio Management
Macrosolutions Training: Portfolio ManagementMacrosolutions SA
 
Macrosolutions Training: Project Human Resource Management and Project Leader...
Macrosolutions Training: Project Human Resource Management and Project Leader...Macrosolutions Training: Project Human Resource Management and Project Leader...
Macrosolutions Training: Project Human Resource Management and Project Leader...Macrosolutions SA
 
Lsn28 a
Lsn28 aLsn28 a
Lsn28 apmaddi
 
Macrosolutions Training: Project Time Management
Macrosolutions Training: Project Time ManagementMacrosolutions Training: Project Time Management
Macrosolutions Training: Project Time ManagementMacrosolutions SA
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everythingBoris Bucha
 
Scarlet Hanoi creds_May 2012
Scarlet Hanoi creds_May 2012Scarlet Hanoi creds_May 2012
Scarlet Hanoi creds_May 2012ScarletBDM
 
Macrosolutions Training: Managing Complex Projects and Projects in Crisis
Macrosolutions Training: Managing Complex Projects and Projects in CrisisMacrosolutions Training: Managing Complex Projects and Projects in Crisis
Macrosolutions Training: Managing Complex Projects and Projects in CrisisMacrosolutions SA
 
Analisis riesgos ii dependencias
Analisis riesgos ii dependenciasAnalisis riesgos ii dependencias
Analisis riesgos ii dependenciasLeonel Davidson
 
Science Career Project: Neurology
Science Career Project: NeurologyScience Career Project: Neurology
Science Career Project: Neurologypmaddi
 
Macrosolutions Training: Project Management: Establishing Competitive Advantages
Macrosolutions Training: Project Management: Establishing Competitive AdvantagesMacrosolutions Training: Project Management: Establishing Competitive Advantages
Macrosolutions Training: Project Management: Establishing Competitive AdvantagesMacrosolutions SA
 

Viewers also liked (18)

Personal development course assignment 3
Personal development course assignment 3Personal development course assignment 3
Personal development course assignment 3
 
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...
Macrosolutions Consulting Service: Applying Quantitative Methods and Risks Si...
 
Macrosolutions Training: Project Quality Management
Macrosolutions Training: Project Quality ManagementMacrosolutions Training: Project Quality Management
Macrosolutions Training: Project Quality Management
 
Portfólio Macrosolutions
Portfólio MacrosolutionsPortfólio Macrosolutions
Portfólio Macrosolutions
 
Model driven story
Model driven storyModel driven story
Model driven story
 
Macrosolutions Consulting Service: Projects accelerated planning through the ...
Macrosolutions Consulting Service: Projects accelerated planning through the ...Macrosolutions Consulting Service: Projects accelerated planning through the ...
Macrosolutions Consulting Service: Projects accelerated planning through the ...
 
Why good spreadsheets make bad strategies
Why good spreadsheets make bad strategiesWhy good spreadsheets make bad strategies
Why good spreadsheets make bad strategies
 
Macrosolutions Training: Portfolio Management
Macrosolutions Training: Portfolio ManagementMacrosolutions Training: Portfolio Management
Macrosolutions Training: Portfolio Management
 
Macrosolutions Training: Project Human Resource Management and Project Leader...
Macrosolutions Training: Project Human Resource Management and Project Leader...Macrosolutions Training: Project Human Resource Management and Project Leader...
Macrosolutions Training: Project Human Resource Management and Project Leader...
 
Lsn28 a
Lsn28 aLsn28 a
Lsn28 a
 
Macrosolutions Training: Project Time Management
Macrosolutions Training: Project Time ManagementMacrosolutions Training: Project Time Management
Macrosolutions Training: Project Time Management
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everything
 
Scarlet Hanoi creds_May 2012
Scarlet Hanoi creds_May 2012Scarlet Hanoi creds_May 2012
Scarlet Hanoi creds_May 2012
 
Macrosolutions Training: Managing Complex Projects and Projects in Crisis
Macrosolutions Training: Managing Complex Projects and Projects in CrisisMacrosolutions Training: Managing Complex Projects and Projects in Crisis
Macrosolutions Training: Managing Complex Projects and Projects in Crisis
 
Bulling
BullingBulling
Bulling
 
Analisis riesgos ii dependencias
Analisis riesgos ii dependenciasAnalisis riesgos ii dependencias
Analisis riesgos ii dependencias
 
Science Career Project: Neurology
Science Career Project: NeurologyScience Career Project: Neurology
Science Career Project: Neurology
 
Macrosolutions Training: Project Management: Establishing Competitive Advantages
Macrosolutions Training: Project Management: Establishing Competitive AdvantagesMacrosolutions Training: Project Management: Establishing Competitive Advantages
Macrosolutions Training: Project Management: Establishing Competitive Advantages
 

Similar to No SQL - Intro

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
 
Why we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseWhy we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseAndreas Jung
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Don Demcsak
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015Himanshu Desai
 
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and FutureReview Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and FutureLucas Jellema
 
Mongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirniMongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirniDr. Awase Khirni Syed
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring dataJimmy Ray
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]Huy Do
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...LDBC council
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesKyle Banerjee
 
Nashville analytics summit aug9 no sql mike king dell v1.5
Nashville analytics summit aug9 no sql mike king dell v1.5Nashville analytics summit aug9 no sql mike king dell v1.5
Nashville analytics summit aug9 no sql mike king dell v1.5Mike King
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Mongodb open data day 2014
Mongodb open data day 2014Mongodb open data day 2014
Mongodb open data day 2014David Green
 
Introduction to Object-Relational Mapping
Introduction to Object-Relational MappingIntroduction to Object-Relational Mapping
Introduction to Object-Relational MappingAli Shakiba
 

Similar to No SQL - Intro (20)

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...
 
Why we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseWhy we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL Database
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
NoSQL
NoSQLNoSQL
NoSQL
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015
 
NoSQL, which way to go?
NoSQL, which way to go?NoSQL, which way to go?
NoSQL, which way to go?
 
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and FutureReview Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
Review Oracle OpenWorld 2015 - Overview, Main themes, Announcements and Future
 
AMIS Oracle OpenWorld 2015 Review –part 1– Overview, Main Themes, Announcemen...
AMIS Oracle OpenWorld 2015 Review –part 1– Overview, Main Themes, Announcemen...AMIS Oracle OpenWorld 2015 Review –part 1– Overview, Main Themes, Announcemen...
AMIS Oracle OpenWorld 2015 Review –part 1– Overview, Main Themes, Announcemen...
 
Mongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirniMongo db groundup-0-nosql-intro-syedawasekhirni
Mongo db groundup-0-nosql-intro-syedawasekhirni
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring data
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
 
Some NoSQL
Some NoSQLSome NoSQL
Some NoSQL
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
 
Drop acid
Drop acidDrop acid
Drop acid
 
Nashville analytics summit aug9 no sql mike king dell v1.5
Nashville analytics summit aug9 no sql mike king dell v1.5Nashville analytics summit aug9 no sql mike king dell v1.5
Nashville analytics summit aug9 no sql mike king dell v1.5
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Mongodb open data day 2014
Mongodb open data day 2014Mongodb open data day 2014
Mongodb open data day 2014
 
Introduction to Object-Relational Mapping
Introduction to Object-Relational MappingIntroduction to Object-Relational Mapping
Introduction to Object-Relational Mapping
 

No SQL - Intro

  • 2. THE APP GDI, WPF, SVG, CSS, HTML5 Canvas, WebForms, JSP, … Message Bus, Crif Technology Platform, Crif CreditFlow, BizTalk, … (long/short running, sync/async ..) Oracle, Microsoft, Postrge ? … SQL
  • 3. Why so relational ? • Store / Load interface • Simple , beautiful , flexible (efficiently enough supports many usecases - almost) • 5 comammandments to make life easier (5NF) – Ayende - compression • Integration vs Application database (SOA) – agreed (relational) model makes DB easy target to misuse by other apps
  • 4. The ugly • Impedance mismatch (well …) • “Don’t scale” (well …) – Google, Facebook, Linkedin,.. – Vertical / horizontal vs – Shared disk (in cluster) • Don’t capture the way data are accessed (UI, BL analogy)
  • 5. Welcome to the world of Polyglot persistence • Document stores CouchDB, MongoDB, RavenDB, … • Key-value stores • Column Family stores • Graph stores Neo4J, Infinite Graph, OrientDB, FlockDB,…
  • 6. So what do WE typically store ? Objects graphs
  • 8. Object graphs that respect rules of concurrent access • Objects can often be edited as a group – Coarse-Grained Lock [PoEAA] (Fowler 2002) Consistency aplied to groups Object graph = intent Impedance mismatch !!
  • 9. Aggregate [DDD] • Consistency boundaries (ACID) • Relational databases are aggregate-ignorant • Document database to RESCUE! • 1 IO OP = Sharding (sharding function ie. geoloc, • vip customers,) Effective Aggregate Design [http://dddcommunity.org/library/vernon_2011]
  • 10. Cost of working with aggregates
  • 12. Use cases • When ? – View model persistance – CQRS – Aggregates stores • When NOT ? – BI, Reporting – many adhoc queries

Editor's Notes

  1. - vela vyrobcovdodavavpodstatepodobneriesenie – “and I don’t care as long as I have Hibernate”