SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Innispan
Data Grids, NoSQL, Cloud Storage & JSR-347


  Manik Surtani
  Founder and Project Lead, Infinispan
  Red Hat, Inc.
Who is Manik?
• Hacker@JBoss, Red Hat’s middleware division
• Founder and Project Lead, Infinispan
• Spec lead, JSR 347
  •Data Grids for Java
• EG representative, JSR 107
  •Temporary Caching for Java

• http://blog.infinispan.org
• http://twitter.com/maniksurtani
Agenda
•   A brief introduction to Infinispan
•   Understanding Data Grids
•   .. and NoSQL
•   Their role in Cloud Storage
•   JSR 347 and related standards
What is Infinispan?
• An open source data grid platform
• Written in Java and Scala
  • Not just for the JVM though
• Distributed key/value store
  • Transactional (JTA)
  • Low-latency (in-memory)
  • Optionally persisted to disk
  • Feature-rich
P2P Embedded Architecture
Client/Server Architecture
                   Supported
                   Protocols

                  • REST
                  • Memcached
                  • Hot Rod
WTF is Hot Rod?
• Wire protocol for client server
    communications
•   Open
•   Language independent
•   Built-in failover and load
    balancing
•   Smart routing
Server Endpoint Comparison
            Protocol Client      Clustered? Smart     Load Balancing/
                     Libraries              Routing   Failover


REST        Text     N/A         Yes        No        Any HTTP load
                                                      balancer

Memcached   Text     Plenty      Yes        No        Only with
                                                      predefined
                                                      server list
Hot Rod     Binary   Java,       Yes        Yes       Dynamic
                     Python,
                     Ruby
Understanding

Data Grids
Data Grids.
What Are They?




              An evolution of
             distributed caches
Why use distributed caches?
• Cache data that is expensive to retrieve/calculate
  • E.g., from a database
• The need for fast, low-latency data access
  • Performance or time-sensitive applications
• Very commonly used in:
  • Financial Services industry
  • Telcos
  • Highly scalable e-commerce
Data grids as clustering toolkits
• To introduce high availability
  and failover to frameworks
  • Commercial and open source
    frameworks
  • In-house frameworks and
    reusable architectures
• Delegate all state
  management to the data
  grid
  • Framework becomes
    stateless and hence elastic
But
Data Grids > Distributed Caches

     • Querying
     • Task execution and map/reduce
     • Control over data co-location
Understanding

NoSQL
What is NoSQL?
• An alternative form of typically disk-based data
  storage
• Free from relational structure
  • Usually key/value or document-based
• Allows for greater scalability and easier
  clustering/distribution
NoSQL and Consistency
NoSQL and Consistency
• BASE not ACID
  • Relax consistency in exchange for high availability
    and partition tolerance
• Usually eventually consistent
  • Which means applications need to be designed with
    this in mind
NoSQL and Consistency
Data Grids and NoSQL
        used as

Cloud Storage
Cloud Storage
• Traditional mechanisms (RDBMSs and file
  systems) are hard to deal with
• Clouds are ephemeral
• All cloud components are expected to be:
  • elastic
  • highly available
Cloud Storage
•Data grids and NoSQL win over traditional
  storage mechanisms in the cloud
• Data grids and NoSQL are fast converging in
  feature sets
  • E.g., Data grids can write through to disk; many
    NoSQL engines would also cache in memory
JSR 347
JSR 347
   Data Grids for the Java Platform
• A new JSR for proposed inclusion in Java EE 8
  • to make enterprise Java more cloud-friendly
• Standardize data grid APIs and behavior for the
  Java platform
• Does not define NoSQL
  • Data grids primarily used from within a JVM
  • NoSQL primarily used via client connectors over a
    socket
     • Standardizing wire protocols beyond the scope of the JCP
JSR 347
   Data Grids for the Java Platform
• Extends JSR 107 (Temporary Caching for Java)
• Adds:
  • Asynchronous, non-blocking API
  • Grouping API to control co-location
  • Distributed code execution and Map/Reduce APIs
  • Eventually consistent API
  • Possibly more
• Still very much work in progress
  • Participate!
Related standards and efforts
• JSR 107
  • A temporary caching API that defines:
    • Basic interaction
    • JTA compatibility
    • Persistence: write-through and write-behind
    • Listeners
Related standards and efforts
• Hibernate OGM
  • JPA for key/value stores!
  • Common and familiar paradigm for persisting data
    • Except persistence is made to a data grid or NoSQL store
Related standards and efforts
• Contexts and Dependency Injection
  • Interaction with caches defined in JSR 107
  • Familiar and well proven programming model
  • Works well with JPA and hence Hibernate OGM
  • Works well even for direct access to key/value data
   grids
Where does Infinispan fit in?

• Will implement JSR 107
  • Currently implements most of this at least in concept
• Will implement JSR 347
  • Currently serves as a “donor” for most of JSR 347
    features and API
• Is already the reference backend for Hibernate
 OGM
• Already supports CDI integration
To Summarize


•What data grids and distributed caches are
•Where NoSQL came from and main differences
 between NoSQL and data grids
•Cloud storage challenges
•JSR 347: Data Grids for the Java Platform
•Infinispan and where it sits in all this
Questions &
  More Info

• http://github.com/datagrids/spec/wiki
• http://groups.google.com/group/jsr347
• http://twitter.com/jsr347

• http://www.infinispan.org
• http://twitter.com/infinispan
• http://hibernate.org/subprojects/ogm.html

Weitere ähnliche Inhalte

Was ist angesagt?

Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a Service
WSO2
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
Karthik .P.R
 
Hpts 2011 flexible_oltp
Hpts 2011 flexible_oltpHpts 2011 flexible_oltp
Hpts 2011 flexible_oltp
Jags Ramnarayan
 

Was ist angesagt? (20)

Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
 
Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a Service
 
Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010
 
Fast Online Access to Massive Offline Data - SECR 2016
Fast Online Access to Massive Offline Data - SECR 2016Fast Online Access to Massive Offline Data - SECR 2016
Fast Online Access to Massive Offline Data - SECR 2016
 
FOSSASIA 2016 - 7 Tips to design web centric high-performance applications
FOSSASIA 2016 - 7 Tips to design web centric high-performance applicationsFOSSASIA 2016 - 7 Tips to design web centric high-performance applications
FOSSASIA 2016 - 7 Tips to design web centric high-performance applications
 
Transform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataTransform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big Data
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
 
Introducing Venice - Strata NYC 2017
Introducing Venice - Strata NYC 2017Introducing Venice - Strata NYC 2017
Introducing Venice - Strata NYC 2017
 
Demystfying nosql databases
Demystfying nosql databasesDemystfying nosql databases
Demystfying nosql databases
 
Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...
Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...
Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Tools
 
Storage for VDI
Storage for VDIStorage for VDI
Storage for VDI
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
 
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
 
Hpts 2011 flexible_oltp
Hpts 2011 flexible_oltpHpts 2011 flexible_oltp
Hpts 2011 flexible_oltp
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
 
An Elastic Metadata Store for eBay’s Media Platform
An Elastic Metadata Store for eBay’s Media PlatformAn Elastic Metadata Store for eBay’s Media Platform
An Elastic Metadata Store for eBay’s Media Platform
 
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document StoreConnector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 

Andere mochten auch

Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
Galder ZamarreĂąo
 

Andere mochten auch (20)

Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NET
 
Building Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeBuilding Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache Geode
 
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
 
Hacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQLHacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQL
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQL
 
Infinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data gridsInfinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data grids
 
Apache geode
Apache geodeApache geode
Apache geode
 
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionKeeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache Geode
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data Grid
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
 
Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 

Ähnlich wie Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347

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
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatis
Will Iverson
 

Ähnlich wie Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347 (20)

Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
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)
 
Store
StoreStore
Store
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
Sa introduction to big data pipelining with cassandra & spark west mins...
Sa introduction to big data pipelining with cassandra & spark   west mins...Sa introduction to big data pipelining with cassandra & spark   west mins...
Sa introduction to big data pipelining with cassandra & spark west mins...
 
Elasticsearch 5.0
Elasticsearch 5.0Elasticsearch 5.0
Elasticsearch 5.0
 
Scaling Databases On The Cloud
Scaling Databases On The CloudScaling Databases On The Cloud
Scaling Databases On The Cloud
 
Scaing databases on the cloud
Scaing databases on the cloudScaing databases on the cloud
Scaing databases on the cloud
 
Alluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata ServicesAlluxio - Scalable Filesystem Metadata Services
Alluxio - Scalable Filesystem Metadata Services
 
SeaJUG May 2012 mybatis
SeaJUG May 2012 mybatisSeaJUG May 2012 mybatis
SeaJUG May 2012 mybatis
 
Open Source SQL Databases
Open Source SQL DatabasesOpen Source SQL Databases
Open Source SQL Databases
 
Oracle big data appliance and solutions
Oracle big data appliance and solutionsOracle big data appliance and solutions
Oracle big data appliance and solutions
 
Big data talk barcelona - jsr - jc
Big data talk   barcelona - jsr - jcBig data talk   barcelona - jsr - jc
Big data talk barcelona - jsr - jc
 
Bridging the Developer and the Datacenter
Bridging the Developer and the DatacenterBridging the Developer and the Datacenter
Bridging the Developer and the Datacenter
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache Kudu
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
Oracle SOA suite and Coherence dehydration
Oracle SOA suite and  Coherence dehydrationOracle SOA suite and  Coherence dehydration
Oracle SOA suite and Coherence dehydration
 
How to use Big Data and Data Lake concept in business using Hadoop and Spark...
 How to use Big Data and Data Lake concept in business using Hadoop and Spark... How to use Big Data and Data Lake concept in business using Hadoop and Spark...
How to use Big Data and Data Lake concept in business using Hadoop and Spark...
 
20160524 ibm fast data meetup
20160524 ibm fast data meetup20160524 ibm fast data meetup
20160524 ibm fast data meetup
 
End of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph ReplicationEnd of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph Replication
 

KĂźrzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

KĂźrzlich hochgeladen (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347

  • 1. Innispan Data Grids, NoSQL, Cloud Storage & JSR-347 Manik Surtani Founder and Project Lead, Infinispan Red Hat, Inc.
  • 2. Who is Manik? • Hacker@JBoss, Red Hat’s middleware division • Founder and Project Lead, Infinispan • Spec lead, JSR 347 •Data Grids for Java • EG representative, JSR 107 •Temporary Caching for Java • http://blog.infinispan.org • http://twitter.com/maniksurtani
  • 3. Agenda • A brief introduction to Infinispan • Understanding Data Grids • .. and NoSQL • Their role in Cloud Storage • JSR 347 and related standards
  • 4.
  • 5. What is Infinispan? • An open source data grid platform • Written in Java and Scala • Not just for the JVM though • Distributed key/value store • Transactional (JTA) • Low-latency (in-memory) • Optionally persisted to disk • Feature-rich
  • 7. Client/Server Architecture Supported Protocols • REST • Memcached • Hot Rod
  • 8. WTF is Hot Rod? • Wire protocol for client server communications • Open • Language independent • Built-in failover and load balancing • Smart routing
  • 9. Server Endpoint Comparison Protocol Client Clustered? Smart Load Balancing/ Libraries Routing Failover REST Text N/A Yes No Any HTTP load balancer Memcached Text Plenty Yes No Only with predefined server list Hot Rod Binary Java, Yes Yes Dynamic Python, Ruby
  • 11. Data Grids. What Are They? An evolution of distributed caches
  • 12. Why use distributed caches? • Cache data that is expensive to retrieve/calculate • E.g., from a database • The need for fast, low-latency data access • Performance or time-sensitive applications • Very commonly used in: • Financial Services industry • Telcos • Highly scalable e-commerce
  • 13. Data grids as clustering toolkits • To introduce high availability and failover to frameworks • Commercial and open source frameworks • In-house frameworks and reusable architectures • Delegate all state management to the data grid • Framework becomes stateless and hence elastic
  • 14. But Data Grids > Distributed Caches • Querying • Task execution and map/reduce • Control over data co-location
  • 16. What is NoSQL? • An alternative form of typically disk-based data storage • Free from relational structure • Usually key/value or document-based • Allows for greater scalability and easier clustering/distribution
  • 18. NoSQL and Consistency • BASE not ACID • Relax consistency in exchange for high availability and partition tolerance • Usually eventually consistent • Which means applications need to be designed with this in mind
  • 20. Data Grids and NoSQL used as Cloud Storage
  • 21. Cloud Storage • Traditional mechanisms (RDBMSs and file systems) are hard to deal with • Clouds are ephemeral • All cloud components are expected to be: • elastic • highly available
  • 22. Cloud Storage •Data grids and NoSQL win over traditional storage mechanisms in the cloud • Data grids and NoSQL are fast converging in feature sets • E.g., Data grids can write through to disk; many NoSQL engines would also cache in memory
  • 24. JSR 347 Data Grids for the Java Platform • A new JSR for proposed inclusion in Java EE 8 • to make enterprise Java more cloud-friendly • Standardize data grid APIs and behavior for the Java platform • Does not define NoSQL • Data grids primarily used from within a JVM • NoSQL primarily used via client connectors over a socket • Standardizing wire protocols beyond the scope of the JCP
  • 25. JSR 347 Data Grids for the Java Platform • Extends JSR 107 (Temporary Caching for Java) • Adds: • Asynchronous, non-blocking API • Grouping API to control co-location • Distributed code execution and Map/Reduce APIs • Eventually consistent API • Possibly more • Still very much work in progress • Participate!
  • 26. Related standards and efforts • JSR 107 • A temporary caching API that defines: • Basic interaction • JTA compatibility • Persistence: write-through and write-behind • Listeners
  • 27. Related standards and efforts • Hibernate OGM • JPA for key/value stores! • Common and familiar paradigm for persisting data • Except persistence is made to a data grid or NoSQL store
  • 28. Related standards and efforts • Contexts and Dependency Injection • Interaction with caches defined in JSR 107 • Familiar and well proven programming model • Works well with JPA and hence Hibernate OGM • Works well even for direct access to key/value data grids
  • 29. Where does Infinispan fit in? • Will implement JSR 107 • Currently implements most of this at least in concept • Will implement JSR 347 • Currently serves as a “donor” for most of JSR 347 features and API • Is already the reference backend for Hibernate OGM • Already supports CDI integration
  • 30. To Summarize •What data grids and distributed caches are •Where NoSQL came from and main differences between NoSQL and data grids •Cloud storage challenges •JSR 347: Data Grids for the Java Platform •Infinispan and where it sits in all this
  • 31. Questions & More Info • http://github.com/datagrids/spec/wiki • http://groups.google.com/group/jsr347 • http://twitter.com/jsr347 • http://www.infinispan.org • http://twitter.com/infinispan • http://hibernate.org/subprojects/ogm.html

Hinweis der Redaktion

  1. Welcome to session on Infinispan, I hope you find this both informative and amusing.\n
  2. A bit about me\nFounder and project lead of Infinispan\n\n
  3. \n
  4. \n
  5. \n
  6. Embedded setup.\nApp in JVM, starts ISPN instance.\nInstances form a cluster\nApp stores all state in ISPN, app is now HA, can be LB’d, etc!\n\nHow to build clustered fwks and appservers\n
  7. Infinispan nodes form a p2p cluster as usual\nShare state and communicate with each other\nEach node also opens a network socket for client comms\nAttaches an encoder and decoder NETTY\nClients talk to Infinispan instances via sockets\nClients now don’t need to be in a JVM\n\n
  8. Explain Hot Rod\n
  9. Talk about protocols and endpoints\n
  10. Lets talk about data grids in general.\n
  11. \n
  12. \n
  13. \n
  14. Offers more than just what distributed caches do.\n
  15. Strictly distributed NoSQL.\nLeaving out the likes of CouchDB, Redis, etc.\n
  16. Alternative to an RDBMS\nUnstructured data\nPrimary goal: scalability and elasticity.\n
  17. RDBMSs strive for ACIDity. (Atomic Consistent Isolated Durable)\nBASE (Basic Availability, Soft-state, Eventually consistent)\nEric Brewer’s CAP theorem\n
  18. RDBMSs strive for ACIDity. (Atomic Consistent Isolated Durable)\nBASE (Basic Availability, Soft-state, Eventually consistent)\nEric Brewer’s CAP theorem\n
  19. RDBMSs strive for ACIDity. (Atomic Consistent Isolated Durable)\nBASE (Basic Availability, Soft-state, Eventually consistent)\nEric Brewer’s CAP theorem\n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n