SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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

Weitere ähnliche Inhalte

Was ist angesagt?

Vm13 vnx mixed workloads
Vm13 vnx mixed workloadsVm13 vnx mixed workloads
Vm13 vnx mixed workloadspittmantony
 
Varrow datacenter storage today and tomorrow
Varrow   datacenter storage today and tomorrowVarrow   datacenter storage today and tomorrow
Varrow datacenter storage today and tomorrowpittmantony
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSGlusterFS
 
Varrow madness 2013 virtualizing sql presentation
Varrow madness 2013 virtualizing sql presentationVarrow madness 2013 virtualizing sql presentation
Varrow madness 2013 virtualizing sql presentationpittmantony
 
Gluster Webinar: Introduction to GlusterFS v3.3
Gluster Webinar: Introduction to GlusterFS v3.3Gluster Webinar: Introduction to GlusterFS v3.3
Gluster Webinar: Introduction to GlusterFS v3.3GlusterFS
 
Welcome | MariaDB today and our vision for the future
Welcome | MariaDB today and our vision for the futureWelcome | MariaDB today and our vision for the future
Welcome | MariaDB today and our vision for the futureMariaDB plc
 
Scylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDSScylla Summit 2016: Scylla at Samsung SDS
Scylla Summit 2016: Scylla at Samsung SDSScyllaDB
 
SM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackSM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackpittmantony
 
What’s new in Galera 4
What’s new in Galera 4What’s new in Galera 4
What’s new in Galera 4MariaDB plc
 
Codemotion 2015 Infinispan Tech lab
Codemotion 2015 Infinispan Tech labCodemotion 2015 Infinispan Tech lab
Codemotion 2015 Infinispan Tech labUgo Landini
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data centerHoward Marks
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraDataStax Academy
 
North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911Ines Sombra
 
Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)Howard Marks
 
How to migrate from Oracle Database with ease
How to migrate from Oracle Database with easeHow to migrate from Oracle Database with ease
How to migrate from Oracle Database with easeMariaDB plc
 
Software defined storage real or bs-2014
Software defined storage real or bs-2014Software defined storage real or bs-2014
Software defined storage real or bs-2014Howard Marks
 
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...In-Memory Computing Summit
 
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...In-Memory Computing Summit
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix
 
NewSQL - The Future of Databases?
NewSQL - The Future of Databases?NewSQL - The Future of Databases?
NewSQL - The Future of Databases?Elvis Saravia
 

Was ist angesagt? (20)

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

Andere mochten auch

Going the extra mile
Going the extra mileGoing the extra mile
Going the extra milegojkoadzic
 
Getting business people and developers to listen to testers
Getting business people and developers to listen to testersGetting business people and developers to listen to testers
Getting business people and developers to listen to testersgojkoadzic
 
Is the cloud a gamble
Is the cloud a gambleIs the cloud a gamble
Is the cloud a gamblegojkoadzic
 
5 key challenges
5 key challenges5 key challenges
5 key challengesgojkoadzic
 
Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013gojkoadzic
 
Achieving Scale With Messaging And The Cloud
Achieving Scale With Messaging And The CloudAchieving Scale With Messaging And The Cloud
Achieving Scale With Messaging And The Cloudgojkoadzic
 
Casino In The Clouds
Casino In The CloudsCasino In The Clouds
Casino In The Cloudsgojkoadzic
 
Challenging Requirements/Oredev
Challenging Requirements/OredevChallenging Requirements/Oredev
Challenging Requirements/Oredevgojkoadzic
 
How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014gojkoadzic
 
Death to the testing phase
Death to the testing phaseDeath to the testing phase
Death to the testing phasegojkoadzic
 
Test Automation Without the Headache: Agile Tour Vienna 2015
Test Automation Without the Headache: Agile Tour Vienna 2015 Test Automation Without the Headache: Agile Tour Vienna 2015
Test Automation Without the Headache: Agile Tour Vienna 2015 gojkoadzic
 
Sabotage product
Sabotage productSabotage product
Sabotage productgojkoadzic
 
Time to Bet on the Cloud?
Time to Bet on the Cloud?Time to Bet on the Cloud?
Time to Bet on the Cloud?gojkoadzic
 
From Grid to Cloud
From Grid to CloudFrom Grid to Cloud
From Grid to Cloudgojkoadzic
 
Space Based Programming
Space Based ProgrammingSpace Based Programming
Space Based Programminggojkoadzic
 
Specification by example and agile acceptance testing
Specification by example and agile acceptance testingSpecification by example and agile acceptance testing
Specification by example and agile acceptance testinggojkoadzic
 

Andere mochten auch (16)

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

Ähnlich wie As fast as a grid, as safe as a database

A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applicationsGigaSpaces
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inSakari Keskitalo
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowEd Balduf
 
How We Used Cassandra/Solr to Build Real-Time Analytics Platform
How We Used Cassandra/Solr to Build Real-Time Analytics PlatformHow We Used Cassandra/Solr to Build Real-Time Analytics Platform
How We Used Cassandra/Solr to Build Real-Time Analytics PlatformDataStax Academy
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Jimmy Angelakos
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleMayaData
 
Writing Scalable Software in Java
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in JavaRuben Badaró
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudRose Toomey
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudDatabricks
 
How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...Alluxio, Inc.
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2ScribbleLive
 
Building Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache GeodeBuilding Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache Geodeimcpune
 
Citrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayCitrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayIliyas Shirol
 
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...NetApp
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Community
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople
 
Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQLDon Demcsak
 
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
 
Data has a better idea the in-memory data grid
Data has a better idea   the in-memory data gridData has a better idea   the in-memory data grid
Data has a better idea the in-memory data gridBogdan Dina
 

Ähnlich wie As fast as a grid, as safe as a database (20)

A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applications
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits in
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
How We Used Cassandra/Solr to Build Real-Time Analytics Platform
How We Used Cassandra/Solr to Build Real-Time Analytics PlatformHow We Used Cassandra/Solr to Build Real-Time Analytics Platform
How We Used Cassandra/Solr to Build Real-Time Analytics Platform
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
 
Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]Slow things down to make them go faster [FOSDEM 2022]
Slow things down to make them go faster [FOSDEM 2022]
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps style
 
Writing Scalable Software in Java
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in Java
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the Cloud
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the Cloud
 
How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...
 
High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2
 
Building Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache GeodeBuilding Scalable Applications using Pivotal Gemfire/Apache Geode
Building Scalable Applications using Pivotal Gemfire/Apache Geode
 
Citrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayCitrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform Way
 
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
TechTarget Event - Storage Architectures for the Modern Data Center - Howard ...
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
 
Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and 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)
 
Data has a better idea the in-memory data grid
Data has a better idea   the in-memory data gridData has a better idea   the in-memory data grid
Data has a better idea the in-memory data grid
 

Mehr von gojkoadzic

Descaling Agile (Agile Tour Vienna 2019)
Descaling Agile (Agile Tour Vienna 2019)Descaling Agile (Agile Tour Vienna 2019)
Descaling Agile (Agile Tour Vienna 2019)gojkoadzic
 
Maximum Impact, Minimum Effort
Maximum Impact, Minimum EffortMaximum Impact, Minimum Effort
Maximum Impact, Minimum Effortgojkoadzic
 
Painless visual testing
Painless visual testingPainless visual testing
Painless visual testinggojkoadzic
 
Serverless JavaScript
Serverless JavaScriptServerless JavaScript
Serverless JavaScriptgojkoadzic
 
Serverless Code Camp Barcelona
Serverless Code Camp BarcelonaServerless Code Camp Barcelona
Serverless Code Camp Barcelonagojkoadzic
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teamsgojkoadzic
 
Agile Testers: Becoming a key asset for your team
Agile Testers: Becoming a key asset for your teamAgile Testers: Becoming a key asset for your team
Agile Testers: Becoming a key asset for your teamgojkoadzic
 
From dedicated to cloud infrastructure
From dedicated to cloud infrastructureFrom dedicated to cloud infrastructure
From dedicated to cloud infrastructuregojkoadzic
 
Specification Workshops - The Missing Link
Specification Workshops - The Missing LinkSpecification Workshops - The Missing Link
Specification Workshops - The Missing Linkgojkoadzic
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Gridsgojkoadzic
 
How an Enterprise Data Fabric (EDF) can improve resiliency and performance
How an Enterprise Data Fabric (EDF) can improve resiliency and performanceHow an Enterprise Data Fabric (EDF) can improve resiliency and performance
How an Enterprise Data Fabric (EDF) can improve resiliency and performancegojkoadzic
 

Mehr von gojkoadzic (11)

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

Kürzlich hochgeladen

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

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