SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
NoSQL: An Architect‘s Perspective
Eberhard Wolff
Architecture and Technology Manager
adesso AG




03.04.13
About me
►    Eberhard Wolff
►    Architecture & Technology Manager at adesso
►    adesso is a leading IT consultancy in Germany
►    Speaker
►    Author (e.g. first German Spring book)
►    Blog: http://ewolff.com
►    Twitter: @ewolff
►    eberhard.wolff@adesso.de
Back in the Days….




03.04.13   NoSQL aus Sicht eines Architekten
NoSQL Is All About the Persistence Question




03.04.13   NoSQL aus Sicht eines Architekten
Key-Value Stores
                                                   Key   Value
►    Maps keys to values                           42    Some
►    Just a large globally available Map                 data

►    i.e. not very powerful data model


►    No complex queries or indices
►    Just access by key


►    Redis: Think cache + Persistence
►    Riak: Think massive scale




03.04.13       NoSQL aus Sicht eines Architekten
Wide Column
                                                             XX

                                                        XX        XX        XX        XX
►    Add any "column" you like to a row                           XX   XX   XX

►    Not key-value - "key-(column-value)”                    XX   XX        XX        XX

                                                        XX        XX   XX             XX
►    Column families are like tables                         XX        XX        XX   XX


►    E.g. in the "Users" column family                  XX        XX        XX        XX

                                                        XX   XX

     >  "someuser" è ("username"è"someuser"),                   XX   XX   XX

           ("email" è"someuser@example.com")                XX                  XX   XX

                                                        XX             XX        XX
►    Columns named: indexing possible                        XX   XX        XX        XX


►    So queries possible                                     XX   XX   XX        XX

                                                        XX        xX   XX   XX   XX




►    Apache Cassandra
►    Amazon SimpleDB
►    Apache HBase
►    All tuned for large data sets

     03.04.13       NoSQL aus Sicht eines Architekten
Document Stores
►    Aggregates are typically stored as "documents“ (key-value collection)
►    JSON quite common
►    No fixed schema
►    Indexes possible
►    Queries possible
     >  E.g. "find all baskets that contain the product 123"
►    Still great horizontal scalability
►    Relations might be modeled as links


►    MongoDB, CouchDB




03.04.13         NoSQL aus Sicht eines Architekten
Graph
►    Nodes with Properties
►    Typed relationships with properties


►    Ideal e.g. to model relations in a social network


►    Easy to find number of followers, degree of relation etc.
►    Hard to scale out


►    Neo4j




03.04.13        NoSQL aus Sicht eines Architekten
NoSQL Benefits
Costs
•  Scale out instead of Scale Up
•  Cheap Hardware                               Ops
•  Usually Open Source



                                                 Flexibility
                                                 •  Schema in code not in
                                                    database
                                                 •  Easier to upgrade schema
                                      Dev        •  Easier to handle
                                                    heterogeneous data
                                  No Object/relational impedance mismatch
                                  •  NoSQL database are more OO like
 03.04.13   NoSQL aus Sicht eines Architekten
Drivers

                 Exponential Data
                                                   Key Value
                     Growth

Cost
                       Scale Out                  Wide Column




                  Semi Structured
                       Data                        Document


Flexibility
                  More Connected
                                                     Graph
                       Data


   03.04.13   NoSQL aus Sicht eines Architekten
Document-oriented Databases are the
                 best NoSQL database

           For at least one definition of “best”



03.04.13             NoSQL aus Sicht eines Architekten
Document-oriented databases
►    Offer scale out
     >  Unless you need huge amounts of data         Cost
►    Offer a rich and flexible data model        Flexibility
     >  …and queries

►  Other databases have other sweet spots
   >  Huge data sets
   >  Graph structures
   >  Analyzing data
►  Niches or mainstream?




04.04.13     NoSQL aus Sicht eines Architekten
Polyglot Persistence in Ecommerce
Application
            Needs transactions                                 Complex document-like
             & reports. Data fit well in                       data structures and
            tables.                                            complex queries

 Financial Data                                    Product Catalog
                                                      Document
       RDBMS                                            Store


            High Performance &
                                                               Based on friends, their
            Scalability
                                                               purchases and reviews
            No complex queries

 Shopping Cart                                     Recommendation

    Key / Value                                        Graph




03.04.13       NoSQL aus Sicht eines Architekten
The NoSQL Game
            Needs transactions                                 Complex document-like
             & reports. Data fit well in                       data structures and
            tables.                                            complex queries




             2700
                                                   Product Catalog
       0
 Financial Data

       RDBMS
                                                     1000
                                                      Document
                                                        Store




           High Score!
            High Performance &
                                                               Based on friends, their
            Scalability
                                                               purchases and reviews
            No complex queries

 Shopping Cart                                     Recommendation

 900Key / Value
                                                     800
                                                       Graph




03.04.13       NoSQL aus Sicht eines Architekten
Just Like the Patterns Game!
    Points for each Pattern used
    Extra points if one class implements
    multiple Pattern




04.04.13          NoSQL aus Sicht eines Architekten
This is not how
           Software Architecture works.




03.04.13         NoSQL aus Sicht eines Architekten
Why not?
                               More is worse!

More hardware                                    More Ops Trouble
                                                 •  Installation
                                                 •  Backup
More Developer Skillz                            •  Disaster Recovery
Not necessarily bad                              •  Monitoring
                                                 •  Optimizations


  03.04.13   NoSQL aus Sicht eines Architekten
But: Polyglott Persistence Has a Point
Object-oriented Databases did it wrong
•  Strategy: Replace RDBMS
•  Enterprises will stick to RDBMS
•  Pure technology migration basically
   never happens
•  …only vendors think differently
                                          Example: Archive Database
                                          •  Store current data in RDBMS
                                          •  Store archive in NoSQL (MongoDB)
                                          •  Archive contains mainframe data

            •  Benefit: Use flexibility to allow for many data formats
            •  Benefit: No need to convert mainframe data
            •  Benefit: Store lots of data cheaply
 03.04.13      NoSQL aus Sicht eines Architekten
Complex Document Processing System




                                                           elastic
MongoDB                                    Redis
                                                           search
Document-                                  Key/value
                                                           Search
oriented                                   in memory
                                                           engine
Documents                                  Meta Data for
                                           quick access    Search
                                                           index
 04.04.13   NoSQL aus Sicht eines Architekten
Alternative: Only elasticsearch




                                     elastic
•  Stores original documents as well search
•  (like a key/value store)
•  Support for complex queries
•  Very powerful features also for data
   mining / analytics
  04.04.13   NoSQL aus Sicht eines Architekten
Alternative: Only MongoDB




MongoDB
•  Now with (limited beta) fulltext search
•  Quite fast – memory mapped files
•  So why Redis?
•  Map/Reduce support
  04.04.13   NoSQL aus Sicht eines Architekten
What about Redis?




                      Redis
•     Like a Swiss Knife
•     Cache
•     Messaging
•     Central coordination in a distributed
      environment
     04.04.13   NoSQL aus Sicht eines Architekten
Your Choice – a trade off!
           Typical architecture decision




04.04.13        NoSQL aus Sicht eines Architekten
Who Does What? RDBMS

  Developer / Architect                         DBA
  ►  Schema design (at least partly)            ►  Performance tuning
  ►  Access code                                ►  Indices

                                                ►  Query optimization



                                                ►    Changes do not influence code




03.04.13    NoSQL aus Sicht eines Architekten
Data Access: RDBMS
Optimizations                    Data Model
•  Indices                       •  Schema
•  Tables                        •  Stored Procedures
   spaces
No need to                       Data Access
change code                      •  Queries
                                 •  Other code
•  …                                                    RDBMS

                                 Architect/
                                 Developer
 DBA
  03.04.13   NoSQL aus Sicht eines Architekten
RDBMS separate data from data access
                        Indices
           Joins and normalization allow flexible data
                       access patterns




04.04.13               NoSQL aus Sicht eines Architekten
Data Access MongoDB
                                 Data Model
Optimizations
                                 •  Influences access
•  Only basic                       patterns
   indices                       Data Access
Other                            •  WriteConcerns
optimizations                       how much do
must be                             love your data?
done in                          •  Shard key           MongoDB
code                             •  Consistency


                                 Architect/
 DBA                             Developer
  04.04.13   NoSQL aus Sicht eines Architekten
Cluster: RDBMS

►    Works somehow


►    A special setup of hardware and RDBMS software




DBA
04.04.13   NoSQL aus Sicht eines Architekten
Cluster: MongoDB
►    CAP theorem                             ►    Write Concerns:
     >  Consistency                               >  Unacknowledge
     >  Availabilty                               >  Acknowledged
     >  Partition tolerance                       >  Jounrnaled
     >  Choose any two                            >  Some nodes in the
                                                     replica set
►    Deals with replication
►    MongoDB has master /
     slave replication
                       ►  Queries might go to
                                                                         MongoDB
                          master only or also
                          slaves
                                       ►    Influences consistency
                                      Architect/
                                      Developer
       04.04.13   NoSQL aus Sicht eines Architekten
More Power and more Responsibility

                                               Architect

           DB Admin




03.04.13   NoSQL aus Sicht eines Architekten
Architects

► Architect has always been a multi-
dimensional problem

►      Need to choose persistence technology

►      Need to think about operations

►      Needs to do DBA work
03.04.13   NoSQL aus Sicht eines Architekten
NoSQL Is All About the Persistence Question




03.04.13   NoSQL aus Sicht eines Architekten

Weitere ähnliche Inhalte

Was ist angesagt?

NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture PatternsMaynooth University
 
A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.Navdeep Charan
 
Growing Data Analytics at Etsy (Cristopher Bohn)
Growing Data Analytics at Etsy (Cristopher Bohn)Growing Data Analytics at Etsy (Cristopher Bohn)
Growing Data Analytics at Etsy (Cristopher Bohn)Ontico
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture OverviewChristopher Foot
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesMaynooth University
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational DatabasesUdi Bauman
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionKrishnakumar S
 
NoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarNoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarJainul Musani
 
Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016Softchoice Corporation
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options ComparedSergey Bushik
 
SQL vs NoSQL deep dive
SQL vs NoSQL deep diveSQL vs NoSQL deep dive
SQL vs NoSQL deep diveAhmed Shaaban
 
Comparison between rdbms and nosql
Comparison between rdbms and nosqlComparison between rdbms and nosql
Comparison between rdbms and nosqlbharati k
 

Was ist angesagt? (20)

Erciyes university
Erciyes universityErciyes university
Erciyes university
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture Patterns
 
A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.
 
Growing Data Analytics at Etsy (Cristopher Bohn)
Growing Data Analytics at Etsy (Cristopher Bohn)Growing Data Analytics at Etsy (Cristopher Bohn)
Growing Data Analytics at Etsy (Cristopher Bohn)
 
Selecting best NoSQL
Selecting best NoSQL Selecting best NoSQL
Selecting best NoSQL
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choices
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
the rising no sql technology
the rising no sql technologythe rising no sql technology
the rising no sql technology
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational Databases
 
Nosql intro
Nosql introNosql intro
Nosql intro
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the question
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Artigo no sql x relational
Artigo no sql x relationalArtigo no sql x relational
Artigo no sql x relational
 
NoSQL - 05March2014 Seminar
NoSQL - 05March2014 SeminarNoSQL - 05March2014 Seminar
NoSQL - 05March2014 Seminar
 
Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options Compared
 
SQL vs NoSQL deep dive
SQL vs NoSQL deep diveSQL vs NoSQL deep dive
SQL vs NoSQL deep dive
 
Comparison between rdbms and nosql
Comparison between rdbms and nosqlComparison between rdbms and nosql
Comparison between rdbms and nosql
 
Unit 3 MongDB
Unit 3 MongDBUnit 3 MongDB
Unit 3 MongDB
 

Ähnlich wie NoSQL Architect's Perspective

Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Amazon Web Services
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosGeorge Grammatikos
 
Amazon Web Services (Database)
Amazon Web Services (Database)Amazon Web Services (Database)
Amazon Web Services (Database)Nishant Bhardwaj
 
NoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonNoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonMayuree Srikulwong
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseDataWorks Summit
 
NoSQL – Beyond the Key-Value Store
NoSQL – Beyond the Key-Value StoreNoSQL – Beyond the Key-Value Store
NoSQL – Beyond the Key-Value StoreDATAVERSITY
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabasesAdi Challa
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET AppsShiju Varghese
 
Sql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSatya Pal
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMohan Rathour
 
NoSQL: An Analysis
NoSQL: An AnalysisNoSQL: An Analysis
NoSQL: An AnalysisAndrew Brust
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageBethmi Gunasekara
 

Ähnlich wie NoSQL Architect's Perspective (20)

Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
 
Amazon Web Services (Database)
Amazon Web Services (Database)Amazon Web Services (Database)
Amazon Web Services (Database)
 
NoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonNoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and Comparison
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data Warehouse
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSQL – Beyond the Key-Value Store
NoSQL – Beyond the Key-Value StoreNoSQL – Beyond the Key-Value Store
NoSQL – Beyond the Key-Value Store
 
NoSQL Introduction
NoSQL IntroductionNoSQL Introduction
NoSQL Introduction
 
NoSQL Seminer
NoSQL SeminerNoSQL Seminer
NoSQL Seminer
 
NoSQL for you
NoSQL for youNoSQL for you
NoSQL for you
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET Apps
 
Sql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explainedSql vs NO-SQL database differences explained
Sql vs NO-SQL database differences explained
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
NoSQL: An Analysis
NoSQL: An AnalysisNoSQL: An Analysis
NoSQL: An Analysis
 
Why nosql?
Why nosql?Why nosql?
Why nosql?
 
Modern database
Modern databaseModern database
Modern database
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 

Mehr von Eberhard Wolff

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and AlternativesEberhard Wolff
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryEberhard Wolff
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncEberhard Wolff
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with JavaEberhard Wolff
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!Eberhard Wolff
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for MicroservicesEberhard Wolff
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into MicroservicesEberhard Wolff
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileEberhard Wolff
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?Eberhard Wolff
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesEberhard Wolff
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityEberhard Wolff
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesEberhard Wolff
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology StackEberhard Wolff
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for InnovationEberhard Wolff
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryEberhard Wolff
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with JavaEberhard Wolff
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support AgileEberhard Wolff
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale AgileEberhard Wolff
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsEberhard Wolff
 

Mehr von Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 

Kürzlich hochgeladen

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Kürzlich hochgeladen (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

NoSQL Architect's Perspective

  • 1. NoSQL: An Architect‘s Perspective Eberhard Wolff Architecture and Technology Manager adesso AG 03.04.13
  • 2. About me ►  Eberhard Wolff ►  Architecture & Technology Manager at adesso ►  adesso is a leading IT consultancy in Germany ►  Speaker ►  Author (e.g. first German Spring book) ►  Blog: http://ewolff.com ►  Twitter: @ewolff ►  eberhard.wolff@adesso.de
  • 3. Back in the Days…. 03.04.13 NoSQL aus Sicht eines Architekten
  • 4. NoSQL Is All About the Persistence Question 03.04.13 NoSQL aus Sicht eines Architekten
  • 5. Key-Value Stores Key Value ►  Maps keys to values 42 Some ►  Just a large globally available Map data ►  i.e. not very powerful data model ►  No complex queries or indices ►  Just access by key ►  Redis: Think cache + Persistence ►  Riak: Think massive scale 03.04.13 NoSQL aus Sicht eines Architekten
  • 6. Wide Column XX XX XX XX XX ►  Add any "column" you like to a row XX XX XX ►  Not key-value - "key-(column-value)” XX XX XX XX XX XX XX XX ►  Column families are like tables XX XX XX XX ►  E.g. in the "Users" column family XX XX XX XX XX XX >  "someuser" è ("username"è"someuser"), XX XX XX ("email" è"someuser@example.com") XX XX XX XX XX XX ►  Columns named: indexing possible XX XX XX XX ►  So queries possible XX XX XX XX XX xX XX XX XX ►  Apache Cassandra ►  Amazon SimpleDB ►  Apache HBase ►  All tuned for large data sets 03.04.13 NoSQL aus Sicht eines Architekten
  • 7. Document Stores ►  Aggregates are typically stored as "documents“ (key-value collection) ►  JSON quite common ►  No fixed schema ►  Indexes possible ►  Queries possible >  E.g. "find all baskets that contain the product 123" ►  Still great horizontal scalability ►  Relations might be modeled as links ►  MongoDB, CouchDB 03.04.13 NoSQL aus Sicht eines Architekten
  • 8. Graph ►  Nodes with Properties ►  Typed relationships with properties ►  Ideal e.g. to model relations in a social network ►  Easy to find number of followers, degree of relation etc. ►  Hard to scale out ►  Neo4j 03.04.13 NoSQL aus Sicht eines Architekten
  • 9. NoSQL Benefits Costs •  Scale out instead of Scale Up •  Cheap Hardware Ops •  Usually Open Source Flexibility •  Schema in code not in database •  Easier to upgrade schema Dev •  Easier to handle heterogeneous data No Object/relational impedance mismatch •  NoSQL database are more OO like 03.04.13 NoSQL aus Sicht eines Architekten
  • 10. Drivers Exponential Data Key Value Growth Cost Scale Out Wide Column Semi Structured Data Document Flexibility More Connected Graph Data 03.04.13 NoSQL aus Sicht eines Architekten
  • 11. Document-oriented Databases are the best NoSQL database For at least one definition of “best” 03.04.13 NoSQL aus Sicht eines Architekten
  • 12. Document-oriented databases ►  Offer scale out >  Unless you need huge amounts of data Cost ►  Offer a rich and flexible data model Flexibility >  …and queries ►  Other databases have other sweet spots >  Huge data sets >  Graph structures >  Analyzing data ►  Niches or mainstream? 04.04.13 NoSQL aus Sicht eines Architekten
  • 13. Polyglot Persistence in Ecommerce Application Needs transactions Complex document-like & reports. Data fit well in data structures and tables. complex queries Financial Data Product Catalog Document RDBMS Store High Performance & Based on friends, their Scalability purchases and reviews No complex queries Shopping Cart Recommendation Key / Value Graph 03.04.13 NoSQL aus Sicht eines Architekten
  • 14. The NoSQL Game Needs transactions Complex document-like & reports. Data fit well in data structures and tables. complex queries 2700 Product Catalog 0 Financial Data RDBMS 1000 Document Store High Score! High Performance & Based on friends, their Scalability purchases and reviews No complex queries Shopping Cart Recommendation 900Key / Value 800 Graph 03.04.13 NoSQL aus Sicht eines Architekten
  • 15. Just Like the Patterns Game! Points for each Pattern used Extra points if one class implements multiple Pattern 04.04.13 NoSQL aus Sicht eines Architekten
  • 16. This is not how Software Architecture works. 03.04.13 NoSQL aus Sicht eines Architekten
  • 17. Why not? More is worse! More hardware More Ops Trouble •  Installation •  Backup More Developer Skillz •  Disaster Recovery Not necessarily bad •  Monitoring •  Optimizations 03.04.13 NoSQL aus Sicht eines Architekten
  • 18. But: Polyglott Persistence Has a Point Object-oriented Databases did it wrong •  Strategy: Replace RDBMS •  Enterprises will stick to RDBMS •  Pure technology migration basically never happens •  …only vendors think differently Example: Archive Database •  Store current data in RDBMS •  Store archive in NoSQL (MongoDB) •  Archive contains mainframe data •  Benefit: Use flexibility to allow for many data formats •  Benefit: No need to convert mainframe data •  Benefit: Store lots of data cheaply 03.04.13 NoSQL aus Sicht eines Architekten
  • 19. Complex Document Processing System elastic MongoDB Redis search Document- Key/value Search oriented in memory engine Documents Meta Data for quick access Search index 04.04.13 NoSQL aus Sicht eines Architekten
  • 20. Alternative: Only elasticsearch elastic •  Stores original documents as well search •  (like a key/value store) •  Support for complex queries •  Very powerful features also for data mining / analytics 04.04.13 NoSQL aus Sicht eines Architekten
  • 21. Alternative: Only MongoDB MongoDB •  Now with (limited beta) fulltext search •  Quite fast – memory mapped files •  So why Redis? •  Map/Reduce support 04.04.13 NoSQL aus Sicht eines Architekten
  • 22. What about Redis? Redis •  Like a Swiss Knife •  Cache •  Messaging •  Central coordination in a distributed environment 04.04.13 NoSQL aus Sicht eines Architekten
  • 23. Your Choice – a trade off! Typical architecture decision 04.04.13 NoSQL aus Sicht eines Architekten
  • 24. Who Does What? RDBMS Developer / Architect DBA ►  Schema design (at least partly) ►  Performance tuning ►  Access code ►  Indices ►  Query optimization ►  Changes do not influence code 03.04.13 NoSQL aus Sicht eines Architekten
  • 25. Data Access: RDBMS Optimizations Data Model •  Indices •  Schema •  Tables •  Stored Procedures spaces No need to Data Access change code •  Queries •  Other code •  … RDBMS Architect/ Developer DBA 03.04.13 NoSQL aus Sicht eines Architekten
  • 26. RDBMS separate data from data access Indices Joins and normalization allow flexible data access patterns 04.04.13 NoSQL aus Sicht eines Architekten
  • 27. Data Access MongoDB Data Model Optimizations •  Influences access •  Only basic patterns indices Data Access Other •  WriteConcerns optimizations how much do must be love your data? done in •  Shard key MongoDB code •  Consistency Architect/ DBA Developer 04.04.13 NoSQL aus Sicht eines Architekten
  • 28. Cluster: RDBMS ►  Works somehow ►  A special setup of hardware and RDBMS software DBA 04.04.13 NoSQL aus Sicht eines Architekten
  • 29. Cluster: MongoDB ►  CAP theorem ►  Write Concerns: >  Consistency >  Unacknowledge >  Availabilty >  Acknowledged >  Partition tolerance >  Jounrnaled >  Choose any two >  Some nodes in the replica set ►  Deals with replication ►  MongoDB has master / slave replication ►  Queries might go to MongoDB master only or also slaves ►  Influences consistency Architect/ Developer 04.04.13 NoSQL aus Sicht eines Architekten
  • 30. More Power and more Responsibility Architect DB Admin 03.04.13 NoSQL aus Sicht eines Architekten
  • 31. Architects ► Architect has always been a multi- dimensional problem ►  Need to choose persistence technology ►  Need to think about operations ►  Needs to do DBA work 03.04.13 NoSQL aus Sicht eines Architekten
  • 32. NoSQL Is All About the Persistence Question 03.04.13 NoSQL aus Sicht eines Architekten