As fast as the grid,
as safe as a database
     Matthew Fowler
          NT/e



           1          CloudSave
Agenda
1.   Introduction
2.   CloudSave
3.   ACID assessment
4.   Architecture shift




                          2   CloudSave
NT/e
• NT/e
    – New Technology / enterprise
    – Formed 1996
•   1998 - Server-side Java. BEA Partners
•   2007-8: £2.5m turnover, £100k profit
•   JeeWiz Version 1.0: March 2002
•   JeeWiz Version 5: 2008, engine open-sourced
•   Key customers: DeutschePost/SOPERA, UBS,
    BEA, GigaSpaces
                            3         CloudSave
Products

         J2EE, Struts
                           Cloud
         Hibernate,
         Spring, JSF
                           Save


Engine




                       4   CloudSave
CloudSave Hopes

                        Big Data
          Blinding Speed
Scalable - small→huge
      Rock Solid




                   5               CloudSave
CloudSave Fears
                                        Oracle


             Distributed Transactions
                  Low Reliability
  Complicated Programming
ACID has be neutralised




                          6             CloudSave
CloudSave Features
• GigaSpaces XAP Platform
  – Spaces ... JavaSpaces
• Scalable Architecture
  – Data Scalability
  – Processor Scalability
  – Appropriate for single-space deployment
• IMDG == In-Memory Database
  – Mapped back to persistence sources
• Distributed Transactions

                          7              CloudSave
As fast as poss 1: IMDG
              (database in memory)
            Partition 1                   Partition 2                Partition 3

Backups
             Cust/    Cust/ Cust/   Cust/ Stock      Stock Stock      Utils
             Order    Order Order   Order   1          2     3
               1        2     3       4




   Tables    Customer, Order, OrderLine       Part, StockItem, Bin   Sequences


                                          8                           CloudSave
In-Memory Data Bases -
            Are You Crazy?
• What's it worth:
  – Loss of sales - down by 7% from 5 - 6 seconds

• Business justification for $100m/year co:
  –   $7m/year for performance
  –   cost of Amazon 8Gb AMI: $2,400/yr
  –   *4 for software costs? = $10,000/yr say
  –   PAYS FOR 700 SERVERS, 500Gb in-memory DB



                         9               CloudSave
IMDG == SOR
• The grid is the System Of Record    Partition 3

• Need to allocate PKs in grid           Utils

  – No database auto allocation
• Same problem for unique
  – transaction IDs
  – anything else
• Grouping - 50 at once

                                      Sequences


                          10         CloudSave
As fast as poss 2: Locality
• Bulk up your entities
  – Customer main entity
     • Subsidiary entities: Order; OrderLine
• Locality of reference: same node
• Avoid network calls
  (as far as poss.)
• Routing from master PK
• "Rows" ...
  IMDG entries like DB rows

                            11                 CloudSave
As fast as poss 3:
       TxB - Transaction Buffer
• It's the Gear Box!
• Holds transactions in mem
• Yes to client, then commit
  – Critical path speed-up
                                  TxB
• Commit threads:
  1. saves to local tx log
  2. commits tx in grid
  3. sends to persistence
• Pluggable targets - even XA!
                             12   CloudSave
Persistence Management
• Multi-threading
  – Necessary for performance
  – Order must be preserved
  – Mustn't start save before
    overlapping save complete
• Back-end resilience                  T   T    T   T
  –   Persistence targets are slaves
  –   The show must go on!
  –   Continuous efforts to persist
  –   Roll out tx's to disk if no DB

                            13                 CloudSave
Atomicity
• 100% or 0% - Commit or abort completely
  TxB and IMDG must kept in synch

• TxB controls rollback and timeout




                        14            CloudSave
Consistency
• Changes must be database-like
   – observe DB constraints
   – commit transactionally
      • (sounds like distributed transactions to me)
• Nodes in different partitions kept in sync
   – e.g. indexes
   – must be consistent with transaction




                             15                 CloudSave
Isolation / Durability
• Isolation
   – Repeatable_Read isolation
   – Transactions can choose to
      • wait
      • return busy immediately
• Durability
   – Running system survives n-1 failures
   – Transactions logged to disk off critical path
   – Critical path: TxB survives n-1 failures

                            16                CloudSave
Failures and Timeouts
• All transactions should have a timeout
   – Killed by TxB if timeout exceeded
   – Grid nodes informed too
   – Grid nodes can query TxB for status
• Design of failure handling...
   – Where did Q1 go?




                          17               CloudSave
The Layers

                                                   Transaction
                Client            Partitions          Buffer

   Data                      GigaSpaces-aware     Generate Classes
                Java API
Management                       DB server           Save/Load


  Generic                                        Plug-in Committer
   User                                            [e.g. Queues]


Transaction      start/      GigaSpaces Proxy       start/buffer/
Management    commit/abort   CRUD/commit/abort     commit/abort




                             18                   CloudSave
Java/DB Viewpoint
• Some config to distribute/size grids
• Some architectural understanding
  – Basically SOA
     • Business Objects represented as services
• GigaSpaces as embedded product




                           19               CloudSave
Cloud-Private DB Link-up
• Web-app + IMDG
  in cloud
• Real DB in Data Centre




                       20   CloudSave
In-Cloud Federated Applications



     Virgin
                                   LastMinute.com
    Airways       Federated
              Transaction Buffer




                     21               CloudSave
DIY
• Don't
  – The Darwin Award?
• Out-of-the-box solution makes more sense




                         22          CloudSave
Why not start here?
• Appropriate for a small architecture
  –   IMDG: faster to read
  –   CloudSave: faster to commit
  –   Scalable
  –   Greener
       • Average 10-15% utilisation on servers
       • Use virtual machines or small machines
       • Then scale out to real/big



                             23               CloudSave
Questions?


More information: www.nte.co.uk/java




                   24            CloudSave

More Related Content

PDF
How THINQ runs both transactions and analytics at scale
PDF
Configuring workload-based storage and topologies
PDF
Auto Europe's ongoing journey with MariaDB and open source
PPTX
Inside CynosDB: MariaDB optimized for the cloud at Tencent
PDF
Introduction to GlusterFS Webinar - September 2011
PDF
Ceph as storage for CloudStack
PPTX
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
PDF
Choosing the right high availability strategy
How THINQ runs both transactions and analytics at scale
Configuring workload-based storage and topologies
Auto Europe's ongoing journey with MariaDB and open source
Inside CynosDB: MariaDB optimized for the cloud at Tencent
Introduction to GlusterFS Webinar - September 2011
Ceph as storage for CloudStack
Webinar: Overcoming the Storage Challenges Cassandra and Couchbase Create
Choosing the right high availability strategy

What's hot (20)

PPTX
Vm13 vnx mixed workloads
PPTX
Varrow datacenter storage today and tomorrow
PDF
Red Hat Storage - Introduction to GlusterFS
PPTX
Varrow madness 2013 virtualizing sql presentation
PDF
Gluster Webinar: Introduction to GlusterFS v3.3
PPTX
Welcome | MariaDB today and our vision for the future
PDF
Scylla Summit 2016: Scylla at Samsung SDS
PPTX
SM16 - Can i move my stuff to openstack
PDF
What’s new in Galera 4
PDF
Codemotion 2015 Infinispan Tech lab
PPTX
2015 deploying flash in the data center
PDF
SanDisk: Persistent Memory and Cassandra
KEY
North Bay Ruby Meetup 101911
PPTX
Building Storage for Clouds (ONUG Spring 2015)
PDF
How to migrate from Oracle Database with ease
PPTX
Software defined storage real or bs-2014
PPTX
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
PPTX
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
PDF
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
PDF
NewSQL - The Future of Databases?
Vm13 vnx mixed workloads
Varrow datacenter storage today and tomorrow
Red Hat Storage - Introduction to GlusterFS
Varrow madness 2013 virtualizing sql presentation
Gluster Webinar: Introduction to GlusterFS v3.3
Welcome | MariaDB today and our vision for the future
Scylla Summit 2016: Scylla at Samsung SDS
SM16 - Can i move my stuff to openstack
What’s new in Galera 4
Codemotion 2015 Infinispan Tech lab
2015 deploying flash in the data center
SanDisk: Persistent Memory and Cassandra
North Bay Ruby Meetup 101911
Building Storage for Clouds (ONUG Spring 2015)
How to migrate from Oracle Database with ease
Software defined storage real or bs-2014
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
NewSQL - The Future of Databases?
Ad

Viewers also liked (16)

PPT
Going the extra mile
PDF
Getting business people and developers to listen to testers
PDF
Is the cloud a gamble
ODP
5 key challenges
PDF
Reinventing Software Quality, Agile Days Moscow 2013
PDF
Achieving Scale With Messaging And The Cloud
PPT
Casino In The Clouds
PPT
Challenging Requirements/Oredev
PDF
How I learned to stop worrying and love flexible scope - at JFokus 2014
ODP
Death to the testing phase
PDF
Test Automation Without the Headache: Agile Tour Vienna 2015
PDF
Sabotage product
PDF
Time to Bet on the Cloud?
PPTX
From Grid to Cloud
PPT
Space Based Programming
PPT
Specification by example and agile acceptance testing
Going the extra mile
Getting business people and developers to listen to testers
Is the cloud a gamble
5 key challenges
Reinventing Software Quality, Agile Days Moscow 2013
Achieving Scale With Messaging And The Cloud
Casino In The Clouds
Challenging Requirements/Oredev
How I learned to stop worrying and love flexible scope - at JFokus 2014
Death to the testing phase
Test Automation Without the Headache: Agile Tour Vienna 2015
Sabotage product
Time to Bet on the Cloud?
From Grid to Cloud
Space Based Programming
Specification by example and agile acceptance testing
Ad

Similar to As fast as a grid, as safe as a database (20)

PDF
CloudCamp London 3 - NT/e - Matthew Fowler
PDF
A scalable server environment for your applications
PDF
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
PDF
Cloud Computing from an Entrpreneur's Viewpoint
PPTX
Netflix and Open Source
PDF
Cloudy in Indonesia: Java and Cloud
PPTX
Big data and cloud
PDF
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
PDF
Cloud Computing: The Hard Problems Never Go Away
PPTX
Cloud computing: highlights
PPTX
Ppt on cloud computing
PDF
The Netflix Open Source Platform
PDF
SV Forum Platform Architecture SIG - Netflix Open Source Platform
PDF
Php Development In The Cloud
PDF
Java in the Cloud : PaaS Platforms in Comparison
PDF
Java in the Cloud : PaaS Platforms in Comparison
PDF
Games + Amazon = Love - Presentation quo vadis 2011
PPT
Cloud computing
PDF
An intro to Amazon Web Services (AWS)
PDF
Cloud Computing: Making the right choice
CloudCamp London 3 - NT/e - Matthew Fowler
A scalable server environment for your applications
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Cloud Computing from an Entrpreneur's Viewpoint
Netflix and Open Source
Cloudy in Indonesia: Java and Cloud
Big data and cloud
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Cloud Computing: The Hard Problems Never Go Away
Cloud computing: highlights
Ppt on cloud computing
The Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
Php Development In The Cloud
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
Games + Amazon = Love - Presentation quo vadis 2011
Cloud computing
An intro to Amazon Web Services (AWS)
Cloud Computing: Making the right choice

More from gojkoadzic (11)

PDF
Descaling Agile (Agile Tour Vienna 2019)
PDF
Maximum Impact, Minimum Effort
PDF
Painless visual testing
PDF
Serverless JavaScript
PDF
Serverless Code Camp Barcelona
PPT
Effective specifications for agile teams
PDF
Agile Testers: Becoming a key asset for your team
PPT
From dedicated to cloud infrastructure
PPT
Specification Workshops - The Missing Link
PDF
Betting On Data Grids
PPT
How an Enterprise Data Fabric (EDF) can improve resiliency and performance
Descaling Agile (Agile Tour Vienna 2019)
Maximum Impact, Minimum Effort
Painless visual testing
Serverless JavaScript
Serverless Code Camp Barcelona
Effective specifications for agile teams
Agile Testers: Becoming a key asset for your team
From dedicated to cloud infrastructure
Specification Workshops - The Missing Link
Betting On Data Grids
How an Enterprise Data Fabric (EDF) can improve resiliency and performance

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Unlock new opportunities with location data.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Modernising the Digital Integration Hub
PDF
Five Habits of High-Impact Board Members
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Benefits of Physical activity for teenagers.pptx
DOCX
search engine optimization ppt fir known well about this
PPTX
Tartificialntelligence_presentation.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Hybrid model detection and classification of lung cancer
Univ-Connecticut-ChatGPT-Presentaion.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Unlock new opportunities with location data.pdf
Zenith AI: Advanced Artificial Intelligence
A novel scalable deep ensemble learning framework for big data classification...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
observCloud-Native Containerability and monitoring.pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Modernising the Digital Integration Hub
Five Habits of High-Impact Board Members
WOOl fibre morphology and structure.pdf for textiles
O2C Customer Invoices to Receipt V15A.pptx
Benefits of Physical activity for teenagers.pptx
search engine optimization ppt fir known well about this
Tartificialntelligence_presentation.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Hybrid model detection and classification of lung cancer

As fast as a grid, as safe as a database

  • 1. As fast as the grid, as safe as a database Matthew Fowler NT/e 1 CloudSave
  • 2. Agenda 1. Introduction 2. CloudSave 3. ACID assessment 4. Architecture shift 2 CloudSave
  • 3. NT/e • NT/e – New Technology / enterprise – Formed 1996 • 1998 - Server-side Java. BEA Partners • 2007-8: £2.5m turnover, £100k profit • JeeWiz Version 1.0: March 2002 • JeeWiz Version 5: 2008, engine open-sourced • Key customers: DeutschePost/SOPERA, UBS, BEA, GigaSpaces 3 CloudSave
  • 4. Products J2EE, Struts Cloud Hibernate, Spring, JSF Save Engine 4 CloudSave
  • 5. CloudSave Hopes Big Data Blinding Speed Scalable - small→huge Rock Solid 5 CloudSave
  • 6. CloudSave Fears Oracle Distributed Transactions Low Reliability Complicated Programming ACID has be neutralised 6 CloudSave
  • 7. CloudSave Features • GigaSpaces XAP Platform – Spaces ... JavaSpaces • Scalable Architecture – Data Scalability – Processor Scalability – Appropriate for single-space deployment • IMDG == In-Memory Database – Mapped back to persistence sources • Distributed Transactions 7 CloudSave
  • 8. As fast as poss 1: IMDG (database in memory) Partition 1 Partition 2 Partition 3 Backups Cust/ Cust/ Cust/ Cust/ Stock Stock Stock Utils Order Order Order Order 1 2 3 1 2 3 4 Tables Customer, Order, OrderLine Part, StockItem, Bin Sequences 8 CloudSave
  • 9. In-Memory Data Bases - Are You Crazy? • What's it worth: – Loss of sales - down by 7% from 5 - 6 seconds • Business justification for $100m/year co: – $7m/year for performance – cost of Amazon 8Gb AMI: $2,400/yr – *4 for software costs? = $10,000/yr say – PAYS FOR 700 SERVERS, 500Gb in-memory DB 9 CloudSave
  • 10. IMDG == SOR • The grid is the System Of Record Partition 3 • Need to allocate PKs in grid Utils – No database auto allocation • Same problem for unique – transaction IDs – anything else • Grouping - 50 at once Sequences 10 CloudSave
  • 11. As fast as poss 2: Locality • Bulk up your entities – Customer main entity • Subsidiary entities: Order; OrderLine • Locality of reference: same node • Avoid network calls (as far as poss.) • Routing from master PK • "Rows" ... IMDG entries like DB rows 11 CloudSave
  • 12. As fast as poss 3: TxB - Transaction Buffer • It's the Gear Box! • Holds transactions in mem • Yes to client, then commit – Critical path speed-up TxB • Commit threads: 1. saves to local tx log 2. commits tx in grid 3. sends to persistence • Pluggable targets - even XA! 12 CloudSave
  • 13. Persistence Management • Multi-threading – Necessary for performance – Order must be preserved – Mustn't start save before overlapping save complete • Back-end resilience T T T T – Persistence targets are slaves – The show must go on! – Continuous efforts to persist – Roll out tx's to disk if no DB 13 CloudSave
  • 14. Atomicity • 100% or 0% - Commit or abort completely TxB and IMDG must kept in synch • TxB controls rollback and timeout 14 CloudSave
  • 15. Consistency • Changes must be database-like – observe DB constraints – commit transactionally • (sounds like distributed transactions to me) • Nodes in different partitions kept in sync – e.g. indexes – must be consistent with transaction 15 CloudSave
  • 16. Isolation / Durability • Isolation – Repeatable_Read isolation – Transactions can choose to • wait • return busy immediately • Durability – Running system survives n-1 failures – Transactions logged to disk off critical path – Critical path: TxB survives n-1 failures 16 CloudSave
  • 17. Failures and Timeouts • All transactions should have a timeout – Killed by TxB if timeout exceeded – Grid nodes informed too – Grid nodes can query TxB for status • Design of failure handling... – Where did Q1 go? 17 CloudSave
  • 18. The Layers Transaction Client Partitions Buffer Data GigaSpaces-aware  Generate Classes Java API Management DB server  Save/Load Generic Plug-in Committer User [e.g. Queues] Transaction start/ GigaSpaces Proxy start/buffer/ Management commit/abort CRUD/commit/abort commit/abort 18 CloudSave
  • 19. Java/DB Viewpoint • Some config to distribute/size grids • Some architectural understanding – Basically SOA • Business Objects represented as services • GigaSpaces as embedded product 19 CloudSave
  • 20. Cloud-Private DB Link-up • Web-app + IMDG in cloud • Real DB in Data Centre 20 CloudSave
  • 21. In-Cloud Federated Applications Virgin LastMinute.com Airways Federated Transaction Buffer 21 CloudSave
  • 22. DIY • Don't – The Darwin Award? • Out-of-the-box solution makes more sense 22 CloudSave
  • 23. Why not start here? • Appropriate for a small architecture – IMDG: faster to read – CloudSave: faster to commit – Scalable – Greener • Average 10-15% utilisation on servers • Use virtual machines or small machines • Then scale out to real/big 23 CloudSave