SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
<Insert Picture Here>




Pimp My Data Grid
Brian Oliver
Senior Principal Solutions Architect (brian.oliver@oracle.com)

Oracle Coherence | Oracle Fusion Middleware
Agenda

          •   An Architectural Challenge
          •   Enter the Data Grid
          •   Architectural Patterns that Limit Application Scalability
          •   Pimping Data Grid
                •    Service Grids
                •    Trading Exchange
                •    Agile Groovy Grid
                •    Unstoppable Spring




(c) Copyright 2007. Oracle Corporation
An Architectural Challenge


(c) Copyright 2008. Oracle Corporation
Scale this...

          • Domain: Retail Banking Infrastructure
                •    Over 500 Banks
                •    100,000+ Teller Staff Desktops Applications
                •    10,000+ Cash Machines (ATMs)
                •    10,000,000’s of Internet Banking Transactions/day
          • Current Infrastructure
                •    Java SE based (no J2EE – apart from Servlets)
                •    Oracle RAC (not an issue – scaling across a WAN ☺ )
                •    Messaging (serious challenges)
                •    Processing Business Tasks (challenges approaching)
                •    30,000,000+ Business Tasks a day – minimum.
                      • must do 100,000,000 effortlessly per/day before going live

(c) Copyright 2007. Oracle Corporation
Scale this...

          • Execution of Business Tasks
                • Account Balance, Credit/Debit, Funds Transfer, Statement
                  Processing, Batch Processing, Payment Processing
                • Tasks arrive from a variety of clients (thin, rich, cross-
                  platform, mainframes...) – variety of languages
          • Goal:
                • Tasks are executed by the “cloud”                  The
                • Don’t want to build own “cloud” software           Cloud


          • Their knowledege:
                • Massive experience in scale-out. Could build it themselves,
                  but budget (time/resources/money) will be saved by buying.


(c) Copyright 2007. Oracle Corporation
Essentially want…

                interface Cloud {

                      public <T> Future<T> execute(Task<T> task);

                }




(c) Copyright 2007. Oracle Corporation
Constraints...

          •   No Single Points of Failure                    • No Data or Task Loss
          •   No Simple Points of Bottleneck                     • During failure
                                                                 • During server upgrade
          •   No Service Registries
                                                                 • During scale out
          •   No Masters + Workers                           • No Transactions (XA)
                • already got one that is partitioned into
                  over 200 separate clusters                 • Support multiple versions
          • No Manual Partitioning                           • Predictable response times
          • Keep everything in Memory                        • Predictable scale out costs
          • Active + Active Sites                            • Manage via JMX, from any point
                • Across WAN                                   in the “Cloud”.
          •   Develop system on a note book                  • Pure Java Standard Edition
          •   Scale to over 500 servers                      • Infrastructure add a maximum of
          •   No reconfiguration outages                       3ms latency to tasks.
          •   No byte-code manipulation /                    • Integrate with existing
              proxies                                          applications (Java 1.4.2+)

(c) Copyright 2007. Oracle Corporation
Enter the Data Grid


(c) Copyright 2008. Oracle Corporation
Enter the Data Grid

          • Data Grid ≈ Horizontally scalable in-memory data
            management

          • Goal
                • Eliminate data source contention by scaling out data
                  management with commodity hardware

          • Underlying Philosophies…
                • Keep “data” in the “application-tier” (where it’s used)
                • “Disks are slow and databases are evil”
                • “Data Grids will solve your application scalability and
                  performance problems”

(c) Copyright 2008. Oracle Corporation
Essentially replace this…




(c) Copyright 2008. Oracle Corporation
With this…




    Note to Marketing: Replace “Cloud” with Data Grid, Distributed Cache,
    Data Fabric, Information Fabric, Network Attached Storage, Java Space,
    Service Grid, Compute Grid, Object Grid, Shared Memory or other term ☺

(c) Copyright 2008. Oracle Corporation
Success!




(c) Copyright 2008. Oracle Corporation
“What’s inside the Cloud?”




(c) Copyright 2008. Oracle Corporation
Architectural Patterns that Limit
          Scalability

(c) Copyright 2008. Oracle Corporation
Client + Server Pattern

     Server is point of contention

     Contention increases Server
     response time = increased Client
     latencies

     Client scale-out increases contention

     Not just Database related. Consider
     Store-and-Forward messaging
     systems and Spaces

     The server may be a “switch”

     Lesson: Avoid Single Points of
     Contention / Bottleneck (SPOB)




(c) Copyright 2008. Oracle Corporation
Master + Worker Pattern

     Master is point of contention

     Contention increases Master
     response time = increases Worker
     (and requestor) Latencies

     Scale-out increases contention

     Lesson: Avoid Single Points of
     Contention / Bottleneck (SPOB)




(c) Copyright 2008. Oracle Corporation
Master + Worker Pattern
     Reality...
     Typically Master + Worker actually is
     also Client + Server!

     Lesson: Avoid patterns with SPOB!




(c) Copyright 2008. Oracle Corporation
Master + Worker Pattern
     Continued...
     Typically Master + Worker actually is
     also Client + Server!

     Often the driving requirement for
     “Data Grid” in a “Compute Grid”

     Lesson: Avoid patterns with
     multiple SPOB!




(c) Copyright 2008. Oracle Corporation
Increasing Resilience

     Increasing resilience increases
     latency

     Synchronously maintained resilience
     typically doubles latencies

     Asynchronously maintained resilience
     will always introduce data integrity
     issues

     Lesson: Resilience rarely has zero-
     latency properties

     Lesson: Resilience ≠ Persistence




(c) Copyright 2008. Oracle Corporation
Partition for Parallelism


     Partition Data onto separate Masters
     to provide load-balancing and
     increase parallelism

     Not easy, especially if access
     patterns are dynamic and load is
     uneven

     “Joins” become very difficult, but
     queries work in parallel

     Lesson: Hot spots are inevitable

     Lesson: Partition failure may
     corrupt state. RAID is a better
     partitioning strategy

     Lesson: Avoid “registries” to
     locate data/services (ie: Masters)


(c) Copyright 2008. Oracle Corporation
Summary
          •   Avoid Single Points of Contention          • Avoid moving data
          •   Avoid Single Points of Failure             • Exploit Data Affinity
          •   Avoid Client + Server                         • Data + Data and Data + Compute

          •   Avoid Master + Worker                      • Deploy code everywhere
                                                            • It’s smaller
          •   Active + Active better than Active
                                                            • Dynamic code deployment is
              + Passive                                       dangerous in transactional systems
                • Ensure fair utilization of resources
                                                         • Exploit Parallelism
          •   Resilience increases latency
                                                         • Partition Data for Parallelism
          •   Resilience ≠ Persistence
                                                         • Hot Spots are unavoidable
          •   Resilience = Redundancy                 • Pipeline architectures help significantly
          •   RAID is a good pattern               • Use Caching to reduce I/O
          •   XML is not great                     • Cache Coherency is not free
          •   Interoperability is best achieved at • Cache Coherency is essential for
              the binary level (hardest, but best)   Data Integrity
                                                   • Understand the underlying
                                                     implementation of solutions!


(c) Copyright 2008. Oracle Corporation
Achieving Scalability and High
              Performance means...
          1. Doing something completely different
            architecturally... including inside the “Cloud”.

          2. Avoiding patterns that limit scalability or performance

          3. Ensuring each architectural component (from
            external) providers avoids the “limiting” patterns

              = knowing the internals of the provided solutions




(c) Copyright 2008. Oracle Corporation
What about Coherence?


(c) Copyright 2007. Oracle Corporation
Oracle Coherence

• Provides…
  • Container-less peer-to-peer Clustering of Java Processes
  • Data Structures to manage Data across a Cluster / Grid
• Other Stuff…
  •   Real-Time Event Observation – Listener Pattern
  •   Materialized Views of Data – Continuous Queries
  •   Parallel Queries and Aggregation – Object-based Queries
  •   Parallel Data Processing
  •   Parallel Grid Processing
  •   RemoteException Free Distributed Computing
  •   Clustered JMX
  •   MAN + WAN Connectivity
Oracle Coherence

• Development Toolkit
  •   Pure Java 1.4.2+ Libraries
  •   Pure .Net 1.1 and 2.0 (Client Libraries)
  •   No Third-Party Dependencies
  •   No Open Source Dependencies
  •   No Masters
  •   No Registries

• Other Libraries for…
  • Database and File System Integration
  • Top Link and Hibernate
  • Http Session Management, Spring, …
Oracle Coherence

• Some uses…
 • Caching state in the Application-tier
 • Relieve load on lower-tier systems
    • Databases, Mainframes, Web Servers, Web Services
 • Reliably managing Application state in the Application-tier
 • Scaling out application state (in the application-tier)
 • In-Memory Http Session Management

 • Reliable and Automatically Partitioned Grid Processing
 • Temporary System of Record for Extreme Transaction
   Processing
Coherence Demonstration


(c) Copyright 2007. Oracle Corporation
Pimping Oracle Coherence...


(c) Copyright 2008. Oracle Corporation
Strategy

          • Business Tasks are regular Java objects (pojo)

          • Place Business Tasks into Coherence
                • Coherence dynamically distributes Tasks across the Cluster
                • Tasks are resilient in the Cluster
                • May use “affinity” to ensure related Tasks processed together


          • Register Backing Map Listeners in the Cluster
            members to execute Tasks

          • Scaling out Coherence = Scaling out Task Processing

(c) Copyright 2008. Oracle Corporation
Backing Map Listener is what?

          • Coherence distributes, manages and stores state
            (objects) using “Backing Maps”

          • Backing Map...
                • Class that is responsible for managing state.
                • Can be replaced to change how state is managed.
                • Eg: in heap, off heap, hibernate, BDB, toplink, wan, file
                  system, memory mapped files across a wan.
                • May be replaced, composed and customized.


          • Backing Map Listener...
                • Class that receives data events from Backing Maps

(c) Copyright 2008. Oracle Corporation
Strategy

          • As Tasks enter the “Cloud” Coherence notifies BML
          • Our BML implementation schedules, manages,
            executes the Tasks (using Java 5 Executor)
          • Cleans up Tasks when executed
          • Deals with Task recovery (idempotent with status)
          • BML is written in standard Java
          • No Transactions
          • Fault Tolerant

          • Distributed + Scalable + Event Driven Architecture

(c) Copyright 2008. Oracle Corporation
Backing Map Listener Code

          public class ExampleBackingMapListener extends
            AbstractMultiplexingBackingMapListener {

              public ExampleBackingMapListener(BackingMapManagerContext context) {
                    super(context);

                           System.out.println(quot;Created our ExampleBackingMapListenerquot;);
              }

              @Override
              protected void onBackingMapEvent(MapEvent mapEvent, Cause cause) {
                    System.out.println(quot;Cause:quot; + cause + quot;, Event:quot; + mapEvent);
              }

          }




(c) Copyright 2008. Oracle Corporation
Backing Map Listener
              Configuration
          <distributed-scheme>
             <scheme-name>distributed-cache-scheme</scheme-name>
             <backing-map-scheme>
                   <local-scheme>
                      <listener>
                         <class-scheme>
                            <class-name>ExampleBackingMapListener</class-name>
                         </class-scheme>
                      </listener>
                   </local-scheme>
                </backing-map-scheme>
          </distributed-scheme>




(c) Copyright 2008. Oracle Corporation
Results

          • While submitting Tasks (regular system load)
                • Test 1: Scale from 1 server to over 400
                   • No reconfiguration
                • Test 2: Randomly kill servers
                   • No reconfiguration
                • Test 3: Kill 1, 2, 4, 8, 16, 32, 64, 128, 160 servers at once
                   • Any data loss?
                   • Can it be identified?


          • Possible 1,200,000,000 Tasks execution capacity
            per/day
          • Client may reduce current hardware by 75%
(c) Copyright 2008. Oracle Corporation
Trading Exchange


(c) Copyright 2008. Oracle Corporation
Trading Exchange

          •   Similar requirements and constraints
          •   Order processing (Foreign Exchange)
          •   1,000’s per second (initial) per currency pair
          •   No manual partitioning
          •   No transactions
          •   10ms max latency for full accept, validate, match,
              respond

          • Achieved with Coherence using BMLs (< 3ms)
          • 14 weeks development (start to go live)

(c) Copyright 2008. Oracle Corporation
Previous Next Generation
              Approach (failed to meet SLA’s)




(c) Copyright 2008. Oracle Corporation
Current Solution




(c) Copyright 2008. Oracle Corporation
Pimp my Data Grid


(c) Copyright 2008. Oracle Corporation
Pimp it!

          • Most Data Grids, especially Coherence are a fully
            pluggable

          • Coherence provides peer-to-peer JVM clustering,
            resilient data management with events to support
            distributed EDA.

          • You’re generally only limited by your creativity




(c) Copyright 2008. Oracle Corporation
Pimp it – with Groovy

          • Instead of building object-based queries, why not use
            Groovy expressions?

          • Eg: Filters, Queries and Agents are completely
            customizable in Coherence

          • new GroovyFilter(“entry.value in [...]”);

          • Serious projects are looking to use Groovy across the
            Data Grid to provide processing agility


(c) Copyright 2008. Oracle Corporation
Pimp it – with Spring

          • Instead of Spring wrapping your Data Grid, embed
            Spring applications in a Data Grid to;
                • Virtualize them
                • Make then resilient to failure
                • Scale them out


          • Coherence is pure Java, so it plays well with Spring

          • Use Coherence as clustering infrastructure for Spring
            – make it unstoppable ☺



(c) Copyright 2008. Oracle Corporation
Getting
          Oracle Coherence

(c) Copyright 2008. Oracle Corporation
Oracle Coherence

• Search:                             Search For:
  • http://search.oracle.com          Coherence


• Download
  • http://www.oracle.com/technology/products/coherence
Thanks


(c) Copyright 2007. Oracle Corporation
Appendix


(c) Copyright 2008. Oracle Corporation
The preceding is intended to outline general product
              use and direction. It is intended for information
              purposes only, and may not be incorporated into any
              contract. It is not a commitment to deliver any
              material, code, or functionality, and should not be
              relied upon in making purchasing decisions.
              The development, release, and timing of any
              features or functionality described for Oracle’s
              products remains at the sole discretion of Oracle.




(c) Copyright 2008. Oracle Corporation
Brian Oliver  Pimp My Data Grid
Brian Oliver  Pimp My Data Grid

Weitere ähnliche Inhalte

Was ist angesagt?

SQL Server High Availability
SQL Server High AvailabilitySQL Server High Availability
SQL Server High AvailabilityDatabase Architechs
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA SolutionsMat Keep
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Chris Richardson
 
Playing in the Same Sandbox: MySQL and Oracle
Playing in the Same Sandbox:  MySQL and OraclePlaying in the Same Sandbox:  MySQL and Oracle
Playing in the Same Sandbox: MySQL and Oraclelynnferrante
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Cary Millsap
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Vladimir Bacvanski, PhD
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrdrajivmordani
 
High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...Vladimir Bacvanski, PhD
 
Roadmap For Fusion Middleware Application Server Infrastructure
Roadmap For Fusion Middleware Application Server InfrastructureRoadmap For Fusion Middleware Application Server Infrastructure
Roadmap For Fusion Middleware Application Server InfrastructureOracleContractors
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax Worldrajivmordani
 
How Cloud PaaS Improves Performance while Reducing Costs
How Cloud PaaS Improves Performance while Reducing CostsHow Cloud PaaS Improves Performance while Reducing Costs
How Cloud PaaS Improves Performance while Reducing CostsAcquia
 
Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Cana Ko
 
Cloud Computing2
Cloud Computing2Cloud Computing2
Cloud Computing2rajivmordani
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principlesdeimos
 
Managing Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareManaging Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareFumiko Yamashita
 
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Cary Millsap
 

Was ist angesagt? (18)

SQL Server High Availability
SQL Server High AvailabilitySQL Server High Availability
SQL Server High Availability
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA Solutions
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)
 
Playing in the Same Sandbox: MySQL and Oracle
Playing in the Same Sandbox:  MySQL and OraclePlaying in the Same Sandbox:  MySQL and Oracle
Playing in the Same Sandbox: MySQL and Oracle
 
Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21Diagnosability versus The Cloud, Toronto 2011-04-21
Diagnosability versus The Cloud, Toronto 2011-04-21
 
My Sql Presentation
My Sql PresentationMy Sql Presentation
My Sql Presentation
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrd
 
High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...
 
Roadmap For Fusion Middleware Application Server Infrastructure
Roadmap For Fusion Middleware Application Server InfrastructureRoadmap For Fusion Middleware Application Server Infrastructure
Roadmap For Fusion Middleware Application Server Infrastructure
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax World
 
How Cloud PaaS Improves Performance while Reducing Costs
How Cloud PaaS Improves Performance while Reducing CostsHow Cloud PaaS Improves Performance while Reducing Costs
How Cloud PaaS Improves Performance while Reducing Costs
 
Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727Talk IT_ Oracle_이범_110727
Talk IT_ Oracle_이범_110727
 
Cloud Computing2
Cloud Computing2Cloud Computing2
Cloud Computing2
 
Orcale Presentation
Orcale PresentationOrcale Presentation
Orcale Presentation
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principles
 
Managing Oracle Fusion Middleware
Managing Oracle Fusion MiddlewareManaging Oracle Fusion Middleware
Managing Oracle Fusion Middleware
 
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Diagnosability versus The Cloud, Redwood Shores 2011-08-30
Diagnosability versus The Cloud, Redwood Shores 2011-08-30
 

Andere mochten auch

Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...
Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...
Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...Kivi Leroux Miller
 
Beyond Bait: Video Games and Literacy
Beyond Bait: Video Games and LiteracyBeyond Bait: Video Games and Literacy
Beyond Bait: Video Games and LiteracyMaggie Hommel Thomann
 
Spain
SpainSpain
Spainamfelisa
 
Explain twitter to employees
Explain twitter to employeesExplain twitter to employees
Explain twitter to employeesShashi Bellamkonda
 
Un MĂłN De Sentiments
Un MĂłN De SentimentsUn MĂłN De Sentiments
Un MĂłN De Sentimentslalvar25
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStackAndrew Kennedy
 
Sample Spreads and Covers
Sample Spreads and CoversSample Spreads and Covers
Sample Spreads and Coverscaterwauler
 
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTC
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTCA Content Creation Strategy for a Busy Nonprofit - Ignite 10NTC
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTCKivi Leroux Miller
 
7 Tips for Surviving Hearthstone: Heroes of Warcraft
7 Tips for Surviving Hearthstone: Heroes of Warcraft 7 Tips for Surviving Hearthstone: Heroes of Warcraft
7 Tips for Surviving Hearthstone: Heroes of Warcraft Michael Street
 
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!Simon Young
 
Marketing to the customers
Marketing to the customers Marketing to the customers
Marketing to the customers Shashi Bellamkonda
 
Using Oral Recordings for Reflection in English (with video)
Using Oral Recordings for Reflection in English (with video)Using Oral Recordings for Reflection in English (with video)
Using Oral Recordings for Reflection in English (with video)Andrew McCarthy
 
Temporal En El CantĂĄBrico
Temporal En El CantĂĄBricoTemporal En El CantĂĄBrico
Temporal En El CantĂĄBriconuria88
 
Pentru Mamici
Pentru MamiciPentru Mamici
Pentru MamiciAlexandru S
 
Social Media To Increase Your Business At The Regional Chamber Of Commerc...
Social  Media To Increase Your Business At The  Regional  Chamber Of  Commerc...Social  Media To Increase Your Business At The  Regional  Chamber Of  Commerc...
Social Media To Increase Your Business At The Regional Chamber Of Commerc...Shashi Bellamkonda
 
Introduction to Blogging
Introduction to BloggingIntroduction to Blogging
Introduction to BloggingBobbi Newman
 
Small Business and Social Media presentation at Rockville Womens Business Center
Small Business and Social Media presentation at Rockville Womens Business CenterSmall Business and Social Media presentation at Rockville Womens Business Center
Small Business and Social Media presentation at Rockville Womens Business CenterShashi Bellamkonda
 

Andere mochten auch (20)

Prove It
Prove ItProve It
Prove It
 
Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...
Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...
Online Marketing, Part II: Turning Participants into Supporters-Stepping up Y...
 
Beyond Bait: Video Games and Literacy
Beyond Bait: Video Games and LiteracyBeyond Bait: Video Games and Literacy
Beyond Bait: Video Games and Literacy
 
Spain
SpainSpain
Spain
 
Jalipo
JalipoJalipo
Jalipo
 
Explain twitter to employees
Explain twitter to employeesExplain twitter to employees
Explain twitter to employees
 
Un MĂłN De Sentiments
Un MĂłN De SentimentsUn MĂłN De Sentiments
Un MĂłN De Sentiments
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
 
Sesion 3
Sesion 3Sesion 3
Sesion 3
 
Sample Spreads and Covers
Sample Spreads and CoversSample Spreads and Covers
Sample Spreads and Covers
 
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTC
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTCA Content Creation Strategy for a Busy Nonprofit - Ignite 10NTC
A Content Creation Strategy for a Busy Nonprofit - Ignite 10NTC
 
7 Tips for Surviving Hearthstone: Heroes of Warcraft
7 Tips for Surviving Hearthstone: Heroes of Warcraft 7 Tips for Surviving Hearthstone: Heroes of Warcraft
7 Tips for Surviving Hearthstone: Heroes of Warcraft
 
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!
Introducing "My New Zealand" - in Chinese, for Chinese, by a kiwi!
 
Marketing to the customers
Marketing to the customers Marketing to the customers
Marketing to the customers
 
Using Oral Recordings for Reflection in English (with video)
Using Oral Recordings for Reflection in English (with video)Using Oral Recordings for Reflection in English (with video)
Using Oral Recordings for Reflection in English (with video)
 
Temporal En El CantĂĄBrico
Temporal En El CantĂĄBricoTemporal En El CantĂĄBrico
Temporal En El CantĂĄBrico
 
Pentru Mamici
Pentru MamiciPentru Mamici
Pentru Mamici
 
Social Media To Increase Your Business At The Regional Chamber Of Commerc...
Social  Media To Increase Your Business At The  Regional  Chamber Of  Commerc...Social  Media To Increase Your Business At The  Regional  Chamber Of  Commerc...
Social Media To Increase Your Business At The Regional Chamber Of Commerc...
 
Introduction to Blogging
Introduction to BloggingIntroduction to Blogging
Introduction to Blogging
 
Small Business and Social Media presentation at Rockville Womens Business Center
Small Business and Social Media presentation at Rockville Womens Business CenterSmall Business and Social Media presentation at Rockville Womens Business Center
Small Business and Social Media presentation at Rockville Womens Business Center
 

Ähnlich wie Brian Oliver Pimp My Data Grid

Lightweight Grids With Terracotta
Lightweight Grids With TerracottaLightweight Grids With Terracotta
Lightweight Grids With TerracottaPT.JUG
 
saurabh soni rac
saurabh soni racsaurabh soni rac
saurabh soni racsaurabh soni
 
Joe Honan Virtualization Trends
Joe Honan   Virtualization TrendsJoe Honan   Virtualization Trends
Joe Honan Virtualization Trends1velocity
 
XS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishXS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishThe Linux Foundation
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACIDFoundationDB
 
Next Generation Datacenter Oracle - Alan Hartwell
Next Generation Datacenter Oracle - Alan HartwellNext Generation Datacenter Oracle - Alan Hartwell
Next Generation Datacenter Oracle - Alan HartwellHPDutchWorld
 
Oracle - Next Generation Datacenter - Alan Hartwell
Oracle - Next Generation Datacenter - Alan HartwellOracle - Next Generation Datacenter - Alan Hartwell
Oracle - Next Generation Datacenter - Alan HartwellHPDutchWorld
 
Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008Cybera Inc.
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 NotesRoss Lawley
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speakerdeimos
 
Solving the C20K problem: Raising the bar in PHP Performance and Scalability
Solving the C20K problem: Raising the bar in PHP Performance and ScalabilitySolving the C20K problem: Raising the bar in PHP Performance and Scalability
Solving the C20K problem: Raising the bar in PHP Performance and ScalabilityZendCon
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computingchrismik
 
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
 
Oracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High AvailabilityOracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High AvailabilityMarkus Michalewicz
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Abhishek Singh
 
[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practicejavablend
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
Modernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data InfrastructureModernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data InfrastructureNetApp
 
Five Lessons in Distributed Databases
Five Lessons  in Distributed DatabasesFive Lessons  in Distributed Databases
Five Lessons in Distributed Databasesjbellis
 

Ähnlich wie Brian Oliver Pimp My Data Grid (20)

Lightweight Grids With Terracotta
Lightweight Grids With TerracottaLightweight Grids With Terracotta
Lightweight Grids With Terracotta
 
saurabh soni rac
saurabh soni racsaurabh soni rac
saurabh soni rac
 
Joe Honan Virtualization Trends
Joe Honan   Virtualization TrendsJoe Honan   Virtualization Trends
Joe Honan Virtualization Trends
 
XS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishXS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM English
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACID
 
Next Generation Datacenter Oracle - Alan Hartwell
Next Generation Datacenter Oracle - Alan HartwellNext Generation Datacenter Oracle - Alan Hartwell
Next Generation Datacenter Oracle - Alan Hartwell
 
Oracle - Next Generation Datacenter - Alan Hartwell
Oracle - Next Generation Datacenter - Alan HartwellOracle - Next Generation Datacenter - Alan Hartwell
Oracle - Next Generation Datacenter - Alan Hartwell
 
Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speaker
 
Solving the C20K problem: Raising the bar in PHP Performance and Scalability
Solving the C20K problem: Raising the bar in PHP Performance and ScalabilitySolving the C20K problem: Raising the bar in PHP Performance and Scalability
Solving the C20K problem: Raising the bar in PHP Performance and Scalability
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
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
 
Oracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High AvailabilityOracle Cloud is Best for Oracle Database - High Availability
Oracle Cloud is Best for Oracle Database - High Availability
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice[Roblek] Distributed computing in practice
[Roblek] Distributed computing in practice
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
Modernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data InfrastructureModernize Your Oracle Environment with an Agile Data Infrastructure
Modernize Your Oracle Environment with an Agile Data Infrastructure
 
Five Lessons in Distributed Databases
Five Lessons  in Distributed DatabasesFive Lessons  in Distributed Databases
Five Lessons in Distributed Databases
 

Mehr von deimos

Aspect Orientated Programming in Ruby
Aspect Orientated Programming in RubyAspect Orientated Programming in Ruby
Aspect Orientated Programming in Rubydeimos
 
Remy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQueryRemy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQuerydeimos
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvmdeimos
 
Joe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand DwrJoe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand Dwrdeimos
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdddeimos
 
Venkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In GroovyVenkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In Groovydeimos
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languagesdeimos
 
Udi Dahan Intentions And Interfaces
Udi Dahan Intentions And InterfacesUdi Dahan Intentions And Interfaces
Udi Dahan Intentions And Interfacesdeimos
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyonddeimos
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipitydeimos
 
Stefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The WebStefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The Webdeimos
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Restdeimos
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedraldeimos
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalabilitydeimos
 
Matt Youill Betfair
Matt Youill BetfairMatt Youill Betfair
Matt Youill Betfairdeimos
 
Pete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two SystemsPete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two Systemsdeimos
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registrydeimos
 
Ola Bini Evolving The Java Platform
Ola Bini Evolving The Java PlatformOla Bini Evolving The Java Platform
Ola Bini Evolving The Java Platformdeimos
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolutiondeimos
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLsdeimos
 

Mehr von deimos (20)

Aspect Orientated Programming in Ruby
Aspect Orientated Programming in RubyAspect Orientated Programming in Ruby
Aspect Orientated Programming in Ruby
 
Remy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQueryRemy Sharp The DOM scripting toolkit jQuery
Remy Sharp The DOM scripting toolkit jQuery
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvm
 
Joe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand DwrJoe Walker Interactivewebsites Cometand Dwr
Joe Walker Interactivewebsites Cometand Dwr
 
Aslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec BddAslak Hellesoy Executable User Stories R Spec Bdd
Aslak Hellesoy Executable User Stories R Spec Bdd
 
Venkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In GroovyVenkat Subramaniam Building DSLs In Groovy
Venkat Subramaniam Building DSLs In Groovy
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languages
 
Udi Dahan Intentions And Interfaces
Udi Dahan Intentions And InterfacesUdi Dahan Intentions And Interfaces
Udi Dahan Intentions And Interfaces
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyond
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipity
 
Stefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The WebStefan Tilkov Soa Rest And The Web
Stefan Tilkov Soa Rest And The Web
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Rest
 
Rod Johnson Cathedral
Rod Johnson CathedralRod Johnson Cathedral
Rod Johnson Cathedral
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalability
 
Matt Youill Betfair
Matt Youill BetfairMatt Youill Betfair
Matt Youill Betfair
 
Pete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two SystemsPete Goodliffe A Tale Of Two Systems
Pete Goodliffe A Tale Of Two Systems
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
 
Ola Bini Evolving The Java Platform
Ola Bini Evolving The Java PlatformOla Bini Evolving The Java Platform
Ola Bini Evolving The Java Platform
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolution
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
 

KĂźrzlich hochgeladen

Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfShashank Mehta
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaoncallgirls2057
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environmentelijahj01012
 
Guide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFGuide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFChandresh Chudasama
 
Chapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditChapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditNhtLNguyn9
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxappkodes
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Americas Got Grants
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCRashishs7044
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Seta Wicaksana
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Call Girls Contact Number Andheri 9920874524
Call Girls Contact Number Andheri 9920874524Call Girls Contact Number Andheri 9920874524
Call Girls Contact Number Andheri 9920874524najka9823
 

KĂźrzlich hochgeladen (20)

Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdf
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environment
 
Guide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDFGuide Complete Set of Residential Architectural Drawings PDF
Guide Complete Set of Residential Architectural Drawings PDF
 
Chapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal auditChapter 9 PPT 4th edition.pdf internal audit
Chapter 9 PPT 4th edition.pdf internal audit
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptx
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
Call Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North GoaCall Us ➥9319373153▻Call Girls In North Goa
Call Us ➥9319373153▻Call Girls In North Goa
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...
 
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
Call Girls Contact Number Andheri 9920874524
Call Girls Contact Number Andheri 9920874524Call Girls Contact Number Andheri 9920874524
Call Girls Contact Number Andheri 9920874524
 

Brian Oliver Pimp My Data Grid

  • 1.
  • 2. <Insert Picture Here> Pimp My Data Grid Brian Oliver Senior Principal Solutions Architect (brian.oliver@oracle.com) Oracle Coherence | Oracle Fusion Middleware
  • 3. Agenda • An Architectural Challenge • Enter the Data Grid • Architectural Patterns that Limit Application Scalability • Pimping Data Grid • Service Grids • Trading Exchange • Agile Groovy Grid • Unstoppable Spring (c) Copyright 2007. Oracle Corporation
  • 4. An Architectural Challenge (c) Copyright 2008. Oracle Corporation
  • 5. Scale this... • Domain: Retail Banking Infrastructure • Over 500 Banks • 100,000+ Teller Staff Desktops Applications • 10,000+ Cash Machines (ATMs) • 10,000,000’s of Internet Banking Transactions/day • Current Infrastructure • Java SE based (no J2EE – apart from Servlets) • Oracle RAC (not an issue – scaling across a WAN ☺ ) • Messaging (serious challenges) • Processing Business Tasks (challenges approaching) • 30,000,000+ Business Tasks a day – minimum. • must do 100,000,000 effortlessly per/day before going live (c) Copyright 2007. Oracle Corporation
  • 6. Scale this... • Execution of Business Tasks • Account Balance, Credit/Debit, Funds Transfer, Statement Processing, Batch Processing, Payment Processing • Tasks arrive from a variety of clients (thin, rich, cross- platform, mainframes...) – variety of languages • Goal: • Tasks are executed by the “cloud” The • Don’t want to build own “cloud” software Cloud • Their knowledege: • Massive experience in scale-out. Could build it themselves, but budget (time/resources/money) will be saved by buying. (c) Copyright 2007. Oracle Corporation
  • 7. Essentially want… interface Cloud { public <T> Future<T> execute(Task<T> task); } (c) Copyright 2007. Oracle Corporation
  • 8. Constraints... • No Single Points of Failure • No Data or Task Loss • No Simple Points of Bottleneck • During failure • During server upgrade • No Service Registries • During scale out • No Masters + Workers • No Transactions (XA) • already got one that is partitioned into over 200 separate clusters • Support multiple versions • No Manual Partitioning • Predictable response times • Keep everything in Memory • Predictable scale out costs • Active + Active Sites • Manage via JMX, from any point • Across WAN in the “Cloud”. • Develop system on a note book • Pure Java Standard Edition • Scale to over 500 servers • Infrastructure add a maximum of • No reconfiguration outages 3ms latency to tasks. • No byte-code manipulation / • Integrate with existing proxies applications (Java 1.4.2+) (c) Copyright 2007. Oracle Corporation
  • 9. Enter the Data Grid (c) Copyright 2008. Oracle Corporation
  • 10. Enter the Data Grid • Data Grid ≈ Horizontally scalable in-memory data management • Goal • Eliminate data source contention by scaling out data management with commodity hardware • Underlying Philosophies… • Keep “data” in the “application-tier” (where it’s used) • “Disks are slow and databases are evil” • “Data Grids will solve your application scalability and performance problems” (c) Copyright 2008. Oracle Corporation
  • 11. Essentially replace this… (c) Copyright 2008. Oracle Corporation
  • 12. With this… Note to Marketing: Replace “Cloud” with Data Grid, Distributed Cache, Data Fabric, Information Fabric, Network Attached Storage, Java Space, Service Grid, Compute Grid, Object Grid, Shared Memory or other term ☺ (c) Copyright 2008. Oracle Corporation
  • 13. Success! (c) Copyright 2008. Oracle Corporation
  • 14. “What’s inside the Cloud?” (c) Copyright 2008. Oracle Corporation
  • 15. Architectural Patterns that Limit Scalability (c) Copyright 2008. Oracle Corporation
  • 16. Client + Server Pattern Server is point of contention Contention increases Server response time = increased Client latencies Client scale-out increases contention Not just Database related. Consider Store-and-Forward messaging systems and Spaces The server may be a “switch” Lesson: Avoid Single Points of Contention / Bottleneck (SPOB) (c) Copyright 2008. Oracle Corporation
  • 17. Master + Worker Pattern Master is point of contention Contention increases Master response time = increases Worker (and requestor) Latencies Scale-out increases contention Lesson: Avoid Single Points of Contention / Bottleneck (SPOB) (c) Copyright 2008. Oracle Corporation
  • 18. Master + Worker Pattern Reality... Typically Master + Worker actually is also Client + Server! Lesson: Avoid patterns with SPOB! (c) Copyright 2008. Oracle Corporation
  • 19. Master + Worker Pattern Continued... Typically Master + Worker actually is also Client + Server! Often the driving requirement for “Data Grid” in a “Compute Grid” Lesson: Avoid patterns with multiple SPOB! (c) Copyright 2008. Oracle Corporation
  • 20. Increasing Resilience Increasing resilience increases latency Synchronously maintained resilience typically doubles latencies Asynchronously maintained resilience will always introduce data integrity issues Lesson: Resilience rarely has zero- latency properties Lesson: Resilience ≠ Persistence (c) Copyright 2008. Oracle Corporation
  • 21. Partition for Parallelism Partition Data onto separate Masters to provide load-balancing and increase parallelism Not easy, especially if access patterns are dynamic and load is uneven “Joins” become very difficult, but queries work in parallel Lesson: Hot spots are inevitable Lesson: Partition failure may corrupt state. RAID is a better partitioning strategy Lesson: Avoid “registries” to locate data/services (ie: Masters) (c) Copyright 2008. Oracle Corporation
  • 22. Summary • Avoid Single Points of Contention • Avoid moving data • Avoid Single Points of Failure • Exploit Data Affinity • Avoid Client + Server • Data + Data and Data + Compute • Avoid Master + Worker • Deploy code everywhere • It’s smaller • Active + Active better than Active • Dynamic code deployment is + Passive dangerous in transactional systems • Ensure fair utilization of resources • Exploit Parallelism • Resilience increases latency • Partition Data for Parallelism • Resilience ≠ Persistence • Hot Spots are unavoidable • Resilience = Redundancy • Pipeline architectures help significantly • RAID is a good pattern • Use Caching to reduce I/O • XML is not great • Cache Coherency is not free • Interoperability is best achieved at • Cache Coherency is essential for the binary level (hardest, but best) Data Integrity • Understand the underlying implementation of solutions! (c) Copyright 2008. Oracle Corporation
  • 23. Achieving Scalability and High Performance means... 1. Doing something completely different architecturally... including inside the “Cloud”. 2. Avoiding patterns that limit scalability or performance 3. Ensuring each architectural component (from external) providers avoids the “limiting” patterns = knowing the internals of the provided solutions (c) Copyright 2008. Oracle Corporation
  • 24. What about Coherence? (c) Copyright 2007. Oracle Corporation
  • 25. Oracle Coherence • Provides… • Container-less peer-to-peer Clustering of Java Processes • Data Structures to manage Data across a Cluster / Grid • Other Stuff… • Real-Time Event Observation – Listener Pattern • Materialized Views of Data – Continuous Queries • Parallel Queries and Aggregation – Object-based Queries • Parallel Data Processing • Parallel Grid Processing • RemoteException Free Distributed Computing • Clustered JMX • MAN + WAN Connectivity
  • 26. Oracle Coherence • Development Toolkit • Pure Java 1.4.2+ Libraries • Pure .Net 1.1 and 2.0 (Client Libraries) • No Third-Party Dependencies • No Open Source Dependencies • No Masters • No Registries • Other Libraries for… • Database and File System Integration • Top Link and Hibernate • Http Session Management, Spring, …
  • 27. Oracle Coherence • Some uses… • Caching state in the Application-tier • Relieve load on lower-tier systems • Databases, Mainframes, Web Servers, Web Services • Reliably managing Application state in the Application-tier • Scaling out application state (in the application-tier) • In-Memory Http Session Management • Reliable and Automatically Partitioned Grid Processing • Temporary System of Record for Extreme Transaction Processing
  • 28. Coherence Demonstration (c) Copyright 2007. Oracle Corporation
  • 29. Pimping Oracle Coherence... (c) Copyright 2008. Oracle Corporation
  • 30. Strategy • Business Tasks are regular Java objects (pojo) • Place Business Tasks into Coherence • Coherence dynamically distributes Tasks across the Cluster • Tasks are resilient in the Cluster • May use “affinity” to ensure related Tasks processed together • Register Backing Map Listeners in the Cluster members to execute Tasks • Scaling out Coherence = Scaling out Task Processing (c) Copyright 2008. Oracle Corporation
  • 31. Backing Map Listener is what? • Coherence distributes, manages and stores state (objects) using “Backing Maps” • Backing Map... • Class that is responsible for managing state. • Can be replaced to change how state is managed. • Eg: in heap, off heap, hibernate, BDB, toplink, wan, file system, memory mapped files across a wan. • May be replaced, composed and customized. • Backing Map Listener... • Class that receives data events from Backing Maps (c) Copyright 2008. Oracle Corporation
  • 32. Strategy • As Tasks enter the “Cloud” Coherence notifies BML • Our BML implementation schedules, manages, executes the Tasks (using Java 5 Executor) • Cleans up Tasks when executed • Deals with Task recovery (idempotent with status) • BML is written in standard Java • No Transactions • Fault Tolerant • Distributed + Scalable + Event Driven Architecture (c) Copyright 2008. Oracle Corporation
  • 33. Backing Map Listener Code public class ExampleBackingMapListener extends AbstractMultiplexingBackingMapListener { public ExampleBackingMapListener(BackingMapManagerContext context) { super(context); System.out.println(quot;Created our ExampleBackingMapListenerquot;); } @Override protected void onBackingMapEvent(MapEvent mapEvent, Cause cause) { System.out.println(quot;Cause:quot; + cause + quot;, Event:quot; + mapEvent); } } (c) Copyright 2008. Oracle Corporation
  • 34. Backing Map Listener Configuration <distributed-scheme> <scheme-name>distributed-cache-scheme</scheme-name> <backing-map-scheme> <local-scheme> <listener> <class-scheme> <class-name>ExampleBackingMapListener</class-name> </class-scheme> </listener> </local-scheme> </backing-map-scheme> </distributed-scheme> (c) Copyright 2008. Oracle Corporation
  • 35. Results • While submitting Tasks (regular system load) • Test 1: Scale from 1 server to over 400 • No reconfiguration • Test 2: Randomly kill servers • No reconfiguration • Test 3: Kill 1, 2, 4, 8, 16, 32, 64, 128, 160 servers at once • Any data loss? • Can it be identified? • Possible 1,200,000,000 Tasks execution capacity per/day • Client may reduce current hardware by 75% (c) Copyright 2008. Oracle Corporation
  • 36. Trading Exchange (c) Copyright 2008. Oracle Corporation
  • 37. Trading Exchange • Similar requirements and constraints • Order processing (Foreign Exchange) • 1,000’s per second (initial) per currency pair • No manual partitioning • No transactions • 10ms max latency for full accept, validate, match, respond • Achieved with Coherence using BMLs (< 3ms) • 14 weeks development (start to go live) (c) Copyright 2008. Oracle Corporation
  • 38. Previous Next Generation Approach (failed to meet SLA’s) (c) Copyright 2008. Oracle Corporation
  • 39. Current Solution (c) Copyright 2008. Oracle Corporation
  • 40. Pimp my Data Grid (c) Copyright 2008. Oracle Corporation
  • 41. Pimp it! • Most Data Grids, especially Coherence are a fully pluggable • Coherence provides peer-to-peer JVM clustering, resilient data management with events to support distributed EDA. • You’re generally only limited by your creativity (c) Copyright 2008. Oracle Corporation
  • 42. Pimp it – with Groovy • Instead of building object-based queries, why not use Groovy expressions? • Eg: Filters, Queries and Agents are completely customizable in Coherence • new GroovyFilter(“entry.value in [...]”); • Serious projects are looking to use Groovy across the Data Grid to provide processing agility (c) Copyright 2008. Oracle Corporation
  • 43. Pimp it – with Spring • Instead of Spring wrapping your Data Grid, embed Spring applications in a Data Grid to; • Virtualize them • Make then resilient to failure • Scale them out • Coherence is pure Java, so it plays well with Spring • Use Coherence as clustering infrastructure for Spring – make it unstoppable ☺ (c) Copyright 2008. Oracle Corporation
  • 44. Getting Oracle Coherence (c) Copyright 2008. Oracle Corporation
  • 45. Oracle Coherence • Search: Search For: • http://search.oracle.com Coherence • Download • http://www.oracle.com/technology/products/coherence
  • 46. Thanks (c) Copyright 2007. Oracle Corporation
  • 47. Appendix (c) Copyright 2008. Oracle Corporation
  • 48. The preceding is intended to outline general product use and direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. (c) Copyright 2008. Oracle Corporation