SlideShare uma empresa Scribd logo
1 de 48
manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Infinispan
    In-memory data grid meets NoSQL


Manik Surtani
Founder and project lead, Infinispan
Senior Principal Engineer
Red Hat, Inc.
                    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
“Could data storage be the one
thing that hampers true cloud
scalability and elasticity?”




        manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Who is Manik?
• R&D Engineer, Red Hat Inc.
   • Founder and project lead, Infinispan
   • Project lead, JBoss Cache
   • Frequent speaker on cloud computing and
    cloud data storage

   http://twitter.com/maniksurtani
   http://blog.infinispan.org



                    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Agenda



• What is Data-as-a-Service?
• Introducing Infinispan
• Implementing Data-as-a-Service with data grids
• Data grids vs. NoSQL

               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Traditional 3-tier App




   manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Typical IaaS App




 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Typical PaaS App




 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Where’s your
data stored??

    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Clouds are
ephemeral!

    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
State




manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Virtualizing Data

• Some public services do exist
 • Amazon RDS and SimpleDB
 • FathomDB
 • Cloundant
 • MongoHQ
 • etc.

             manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
What about private clouds?

• Not all cloud deployments
  are public!
• Private cloud is very
 important
• How can you build DaaS
  yourself?


               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Characteristics of DaaS
• Elastic data
• Needs to scale with other tiers
• Response times should be linear
• Needs to be highly available
 • Nodes will die! The service
  shouldn’t.



                manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
“Traditional” RDBMSs

• Lack of distribution hampers elasticity and HA
• These limitations can be worked around
 • ... but this isn’t trivial
 • ... or cheap


             manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
“Traditional” RDBMSs

• Lack of distribution hampers elasticity and HA
• These limitations can be worked around
 • ... but this isn’t trivial
 • ... or cheap


             manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Distributed Data Grid


• Far better suited to elastic data
• Distributed by nature
• Highly available by nature
• A good building block for your data service

                 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
API is king
• Apps should use their native data storage APIs
 • E.g., JPA (Java EE), ActiveRecord (Ruby), etc.
• Key/value too low level
 • Akin to direct JDBC calls!



               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Introducing



manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
What is Infinispan?
• Open source (LGPL) in-memory Data Grid
• Some concepts from Amazon Dynamo

2 usage modes
• Embedded
• Client-server
  • memcached
  • Hot Rod
  • REST

                  manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Embedded Mode

   manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
P2P Embedded Architecture




      manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
API
• Map-like key/value store
• Upcoming JPA-like layer
• Other high-level APIs being discussed in the
  community e.g., ActiveRecord



         manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Consistent hash based distribution
• Self healing
• No single point of failure

Highly concurrent
• MVCC locking


               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Persistence
• Not just in memory!
• Write through and write behind
• Pluggable “drivers”

Eviction and expiry
• Efficient, adaptive algorithms
• Addresses shortcomings of LRU & FIFO
              manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
XA Transactions
• 2-phase commit based
• Deadlock detection algorithms
• Coming soon: Atomic Broadcast



       manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Map/Reduce
 • In a pre-release state right now
 • Please try out 5.0.0.ALPHA3 with these APIs!

Querying
 • Using Lucene and Hibernate Search to index


           manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Client/Server Mode

    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Client/Server Architecture

                                        Supported Protocols
                                      • REST
                                      • Memcached
                                      • Hot Rod




      manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
WTF is Hot Rod?
• Wire protocol for client server
  communications
• Open
• Language independent
• Built-in failover and load balancing
• Smart routing


                  manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Server Endpoint Comparison
                           Client       Clustered Smart              Load Balancing/
            Protocol
                          Libraries         ?     Routing               Failover


  REST       Text            N/A            Yes          No       Any HTTP load balancer


                                                                    Only with predefined
Memcached    Text           Plenty          Yes          No
                                                                         server list

                          Currently
 Hot Rod    Binary                          Yes          Yes              Dynamic
                          only Java



                       manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
So is Infinispan
 a data grid?
• In-memory
• P2P, distributed
• Low-latency, fast key/
  value store




                       manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
So is Infinispan
 a data grid?
• In-memory
• P2P, distributed          ... or is it a NoSQL
• Low-latency, fast key/
  value store
                            database?
                           • Persistence
                           • Map/Reduce
                           • Client/Server mode



                       manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
So is Infinispan
 a data grid?
• In-memory
• P2P, distributed           ... or is it a NoSQL
• Low-latency, fast key/
  value store
                             database?
                           • Persistence
                                                ... or something
                           • Map/Reduce
                           • Client/Server mode else?
                                                              • Querying support
                                                              • Transactional

                       manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
DaaS with
Infinispan

    manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Architecture




                                                                Manage and Monitor
manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Data Grids
   vs.
 NoSQL
manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Data Grids vs. NoSQL
• Data grids/distributed caches as proto-NoSQL?
• Been around since early 2000’s
• Used as database offload
   • Bottleneck removal
• Primary K/V stores for certain types of data
• Low latency data access



              manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Their roots
Data Grids
in-memory, non-clustered -> add clustering ->
add persistence -> add txns -> add M/R

NoSQL
persistence -> add clustering -> add M/R -> add
memory cache


                 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Evolving: Enterprise NoSQL
• Taking NoSQL mainstream
• Adding enterprise features
  • Transactions
  • Querying
• Adding common APIs
  • Easy access, portability


              manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
NoSQL standards
• APIs - basic interactions and Map/Reduce
  • JCP for Java + others
    • http://bit.ly/data_grid_jsr
• Wire protocol
  • Remote communications.
    • Hot Rod?
• Query language
  • Without relational presumptions
              manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Summing things up

• Elastic data is hard
• Public data services not always suitable
• Data grids make elastic storage easy
• Infinispan server endpoints help build
  elastic data tiers
• Discussed data grids versus NoSQL

               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Questions?
    http://www.infinispan.org
    http://blog.infinispan.org
    http://github.com/infinispan
    http://twitter.com/infinispan - #infinispan
    #infinispan on FreeNode (IRC)




          manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Starting an Infinispan Server

• Hot Rod or memcached server endpoint

 $ bin/startServer.sh -r           hotrod 
                      -c           infinispan.xml
 $ bin/startServer.sh -r           memcached 
                      -c           infinispan.xml




                     manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Starting an Infinispan Server


• REST endpoint
   • Deploy infinispan-server-rest.war in your
     favorite servlet container.




               manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Roadmap
4.0.0 Starobrno
• Map-like API
• Async API
• Consistent Hash based distribution
• Write-through, write-behind
• Eviction, expiration
• Management tooling
• REST API
• Hibernate 2nd Level Cache
• Released Feb 2010

                manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Roadmap
4.1.0 Radegast
• Deadlock detection
• Client/Server protocols
  • Memcached
  • Hot Rod
  • Smart clients using Hot Rod
• Lucene Directory implementation
• LIRS: adaptive, recency-based eviction policies
• Released August 2010


                 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
Roadmap
5.0.0 Pagoa
• JPA-like API
• Fine-grained replication
• Distributed code execution
  • Map/reduce
• Virtual nodes for more even distribution
• In active development

5.1.0 and beyond
• Dynamic provisioning based on SLAs
• Complex event processing features
                 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org

Mais conteúdo relacionado

Mais procurados

Chicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBaseChicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBaseCloudera, Inc.
 
Thug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen ZhangThug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen ZhangChen Zhang
 
In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified! In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified! Uri Cohen
 
Trusted advisory on technology comparison --exadata, hana, db2
Trusted advisory on technology comparison --exadata, hana, db2Trusted advisory on technology comparison --exadata, hana, db2
Trusted advisory on technology comparison --exadata, hana, db2Ajay Kumar Uppal
 
Thousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OThousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OGeorge Cao
 
Spring Meetup Paris - Getting Distributed with Hazelcast and Spring
Spring Meetup Paris - Getting Distributed with Hazelcast and SpringSpring Meetup Paris - Getting Distributed with Hazelcast and Spring
Spring Meetup Paris - Getting Distributed with Hazelcast and SpringEmrah Kocaman
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcastEmin Demirci
 
Web session replication with Hazelcast
Web session replication with HazelcastWeb session replication with Hazelcast
Web session replication with HazelcastEmrah Kocaman
 
Demystifying Benchmarks: How to Use Them To Better Evaluate Databases
Demystifying Benchmarks: How to Use Them To Better Evaluate DatabasesDemystifying Benchmarks: How to Use Them To Better Evaluate Databases
Demystifying Benchmarks: How to Use Them To Better Evaluate DatabasesClustrix
 
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 PlatformMongoDB
 
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 StoreFilipe Silva
 
Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Emrah Kocaman
 
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 DataAshnikbiz
 
PayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterPayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterMat Keep
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Anthony Baker
 
Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013EDB
 
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 2016Felix GV
 
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 GeodePivotalOpenSourceHub
 
Choosing the Right Big Data Tools for the Job - A Polyglot Approach
Choosing the Right Big Data Tools for the Job - A Polyglot ApproachChoosing the Right Big Data Tools for the Job - A Polyglot Approach
Choosing the Right Big Data Tools for the Job - A Polyglot ApproachDATAVERSITY
 

Mais procurados (20)

Chicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBaseChicago Data Summit: Geo-based Content Processing Using HBase
Chicago Data Summit: Geo-based Content Processing Using HBase
 
Thug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen ZhangThug feb 23 2015 Chen Zhang
Thug feb 23 2015 Chen Zhang
 
In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified! In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified!
 
Rails on HBase
Rails on HBaseRails on HBase
Rails on HBase
 
Trusted advisory on technology comparison --exadata, hana, db2
Trusted advisory on technology comparison --exadata, hana, db2Trusted advisory on technology comparison --exadata, hana, db2
Trusted advisory on technology comparison --exadata, hana, db2
 
Thousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OThousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/O
 
Spring Meetup Paris - Getting Distributed with Hazelcast and Spring
Spring Meetup Paris - Getting Distributed with Hazelcast and SpringSpring Meetup Paris - Getting Distributed with Hazelcast and Spring
Spring Meetup Paris - Getting Distributed with Hazelcast and Spring
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcast
 
Web session replication with Hazelcast
Web session replication with HazelcastWeb session replication with Hazelcast
Web session replication with Hazelcast
 
Demystifying Benchmarks: How to Use Them To Better Evaluate Databases
Demystifying Benchmarks: How to Use Them To Better Evaluate DatabasesDemystifying Benchmarks: How to Use Them To Better Evaluate Databases
Demystifying Benchmarks: How to Use Them To Better Evaluate Databases
 
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
 
Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)
 
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
 
PayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterPayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL Cluster
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013Avoiding.the.pitfallsof.oracle.migration.2013
Avoiding.the.pitfallsof.oracle.migration.2013
 
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
 
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
 
Choosing the Right Big Data Tools for the Job - A Polyglot Approach
Choosing the Right Big Data Tools for the Job - A Polyglot ApproachChoosing the Right Big Data Tools for the Job - A Polyglot Approach
Choosing the Right Big Data Tools for the Job - A Polyglot Approach
 

Destaque

NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...
NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...
NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...Kai Wähner
 
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...Christian Tzolov
 
Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NETMikhail Shcherbakov
 
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 GeodeAndre Langevin
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introductionjbugkorea
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Manik Surtani
 
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 gridsGalder Zamarreño
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to ProductionC2B2 Consulting
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six MonthsAnthony Baker
 
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 NoSQLCodemotion
 
Apache geode
Apache geodeApache geode
Apache geodeYogesh BG
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache GeodeSwapnil Bawaskar
 
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 EvictionGalder Zamarreño
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationPivotalOpenSourceHub
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처Jaehong Cheon
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridJBug Italy
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)Anthony Baker
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Kris Jeong
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite DatagridSurinder Mehra
 

Destaque (20)

NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...
NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...
NoSQL in Practice with TIBCO: Real World Use Cases and Customer Success Stori...
 
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...
 
Архитектура 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
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
 
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
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
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
Apache geodeApache geode
Apache geode
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for 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
 
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
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
 
Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite Datagrid
 

Semelhante a Infinspan: In-memory data grid meets NoSQL

Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development HistoryBatista Harahap
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
Single page applications the basics
Single page applications the basicsSingle page applications the basics
Single page applications the basicsChris Love
 
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Sascha Wenninger
 
Cycling for noobs
Cycling for noobsCycling for noobs
Cycling for noobsSteve Lee
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilityBatista Harahap
 
A microservices journey - Round 2
A microservices journey - Round 2A microservices journey - Round 2
A microservices journey - Round 2Christian Posta
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and FuturesWSO2
 
CIS 2015 To Infinity and Beyond: Web Scale Session Management - Lukasz Jaromin
CIS 2015 To Infinity and Beyond: Web Scale Session Management -  Lukasz JarominCIS 2015 To Infinity and Beyond: Web Scale Session Management -  Lukasz Jaromin
CIS 2015 To Infinity and Beyond: Web Scale Session Management - Lukasz JarominCloudIDSummit
 
Introduction to Apache NiFi dws19 DWS - DC 2019
Introduction to Apache NiFi   dws19 DWS - DC 2019Introduction to Apache NiFi   dws19 DWS - DC 2019
Introduction to Apache NiFi dws19 DWS - DC 2019Timothy Spann
 
Real world RESTful service development problems and solutions
Real world RESTful service development problems and solutionsReal world RESTful service development problems and solutions
Real world RESTful service development problems and solutionsMasoud Kalali
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构Benjamin Tan
 
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaTraining on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaMobileNepal
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
 
Evolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service meshEvolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service meshChristian Posta
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...Serdar Basegmez
 

Semelhante a Infinspan: In-memory data grid meets NoSQL (20)

Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
Single page applications the basics
Single page applications the basicsSingle page applications the basics
Single page applications the basics
 
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
 
Cycling for noobs
Cycling for noobsCycling for noobs
Cycling for noobs
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS Scalability
 
A microservices journey - Round 2
A microservices journey - Round 2A microservices journey - Round 2
A microservices journey - Round 2
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
CIS 2015 To Infinity and Beyond: Web Scale Session Management - Lukasz Jaromin
CIS 2015 To Infinity and Beyond: Web Scale Session Management -  Lukasz JarominCIS 2015 To Infinity and Beyond: Web Scale Session Management -  Lukasz Jaromin
CIS 2015 To Infinity and Beyond: Web Scale Session Management - Lukasz Jaromin
 
Introduction to Apache NiFi dws19 DWS - DC 2019
Introduction to Apache NiFi   dws19 DWS - DC 2019Introduction to Apache NiFi   dws19 DWS - DC 2019
Introduction to Apache NiFi dws19 DWS - DC 2019
 
Real world RESTful service development problems and solutions
Real world RESTful service development problems and solutionsReal world RESTful service development problems and solutions
Real world RESTful service development problems and solutions
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
Scalable web architecture
Scalable web architectureScalable web architecture
Scalable web architecture
 
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaTraining on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
 
WCM-7 Surfing with CMIS
WCM-7 Surfing with CMISWCM-7 Surfing with CMIS
WCM-7 Surfing with CMIS
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
Evolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service meshEvolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service mesh
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Infinspan: In-memory data grid meets NoSQL

  • 2. Infinispan In-memory data grid meets NoSQL Manik Surtani Founder and project lead, Infinispan Senior Principal Engineer Red Hat, Inc. manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 3. “Could data storage be the one thing that hampers true cloud scalability and elasticity?” manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 4. Who is Manik? • R&D Engineer, Red Hat Inc. • Founder and project lead, Infinispan • Project lead, JBoss Cache • Frequent speaker on cloud computing and cloud data storage http://twitter.com/maniksurtani http://blog.infinispan.org manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 5. Agenda • What is Data-as-a-Service? • Introducing Infinispan • Implementing Data-as-a-Service with data grids • Data grids vs. NoSQL manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 6. Traditional 3-tier App manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 7. Typical IaaS App manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 8. Typical PaaS App manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 9. Where’s your data stored?? manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 10. Clouds are ephemeral! manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 12. Virtualizing Data • Some public services do exist • Amazon RDS and SimpleDB • FathomDB • Cloundant • MongoHQ • etc. manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 13. What about private clouds? • Not all cloud deployments are public! • Private cloud is very important • How can you build DaaS yourself? manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 14. Characteristics of DaaS • Elastic data • Needs to scale with other tiers • Response times should be linear • Needs to be highly available • Nodes will die! The service shouldn’t. manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 15. “Traditional” RDBMSs • Lack of distribution hampers elasticity and HA • These limitations can be worked around • ... but this isn’t trivial • ... or cheap manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 16. “Traditional” RDBMSs • Lack of distribution hampers elasticity and HA • These limitations can be worked around • ... but this isn’t trivial • ... or cheap manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 17. Distributed Data Grid • Far better suited to elastic data • Distributed by nature • Highly available by nature • A good building block for your data service manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 18. API is king • Apps should use their native data storage APIs • E.g., JPA (Java EE), ActiveRecord (Ruby), etc. • Key/value too low level • Akin to direct JDBC calls! manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 20. What is Infinispan? • Open source (LGPL) in-memory Data Grid • Some concepts from Amazon Dynamo 2 usage modes • Embedded • Client-server • memcached • Hot Rod • REST manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 21. Embedded Mode manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 22. P2P Embedded Architecture manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 23. API • Map-like key/value store • Upcoming JPA-like layer • Other high-level APIs being discussed in the community e.g., ActiveRecord manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 24. Consistent hash based distribution • Self healing • No single point of failure Highly concurrent • MVCC locking manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 25. Persistence • Not just in memory! • Write through and write behind • Pluggable “drivers” Eviction and expiry • Efficient, adaptive algorithms • Addresses shortcomings of LRU & FIFO manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 26. XA Transactions • 2-phase commit based • Deadlock detection algorithms • Coming soon: Atomic Broadcast manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 27. Map/Reduce • In a pre-release state right now • Please try out 5.0.0.ALPHA3 with these APIs! Querying • Using Lucene and Hibernate Search to index manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 28. Client/Server Mode manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 29. Client/Server Architecture Supported Protocols • REST • Memcached • Hot Rod manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 30. WTF is Hot Rod? • Wire protocol for client server communications • Open • Language independent • Built-in failover and load balancing • Smart routing manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 31. Server Endpoint Comparison Client Clustered Smart Load Balancing/ Protocol Libraries ? Routing Failover REST Text N/A Yes No Any HTTP load balancer Only with predefined Memcached Text Plenty Yes No server list Currently Hot Rod Binary Yes Yes Dynamic only Java manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 32. So is Infinispan a data grid? • In-memory • P2P, distributed • Low-latency, fast key/ value store manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 33. So is Infinispan a data grid? • In-memory • P2P, distributed ... or is it a NoSQL • Low-latency, fast key/ value store database? • Persistence • Map/Reduce • Client/Server mode manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 34. So is Infinispan a data grid? • In-memory • P2P, distributed ... or is it a NoSQL • Low-latency, fast key/ value store database? • Persistence ... or something • Map/Reduce • Client/Server mode else? • Querying support • Transactional manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 35. DaaS with Infinispan manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 36. Architecture Manage and Monitor manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 37. Data Grids vs. NoSQL manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 38. Data Grids vs. NoSQL • Data grids/distributed caches as proto-NoSQL? • Been around since early 2000’s • Used as database offload • Bottleneck removal • Primary K/V stores for certain types of data • Low latency data access manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 39. Their roots Data Grids in-memory, non-clustered -> add clustering -> add persistence -> add txns -> add M/R NoSQL persistence -> add clustering -> add M/R -> add memory cache manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 40. Evolving: Enterprise NoSQL • Taking NoSQL mainstream • Adding enterprise features • Transactions • Querying • Adding common APIs • Easy access, portability manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 41. NoSQL standards • APIs - basic interactions and Map/Reduce • JCP for Java + others • http://bit.ly/data_grid_jsr • Wire protocol • Remote communications. • Hot Rod? • Query language • Without relational presumptions manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 42. Summing things up • Elastic data is hard • Public data services not always suitable • Data grids make elastic storage easy • Infinispan server endpoints help build elastic data tiers • Discussed data grids versus NoSQL manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 43. Questions? http://www.infinispan.org http://blog.infinispan.org http://github.com/infinispan http://twitter.com/infinispan - #infinispan #infinispan on FreeNode (IRC) manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 44. Starting an Infinispan Server • Hot Rod or memcached server endpoint $ bin/startServer.sh -r hotrod -c infinispan.xml $ bin/startServer.sh -r memcached -c infinispan.xml manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 45. Starting an Infinispan Server • REST endpoint • Deploy infinispan-server-rest.war in your favorite servlet container. manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 46. Roadmap 4.0.0 Starobrno • Map-like API • Async API • Consistent Hash based distribution • Write-through, write-behind • Eviction, expiration • Management tooling • REST API • Hibernate 2nd Level Cache • Released Feb 2010 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 47. Roadmap 4.1.0 Radegast • Deadlock detection • Client/Server protocols • Memcached • Hot Rod • Smart clients using Hot Rod • Lucene Directory implementation • LIRS: adaptive, recency-based eviction policies • Released August 2010 manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org
  • 48. Roadmap 5.0.0 Pagoa • JPA-like API • Fine-grained replication • Distributed code execution • Map/reduce • Virtual nodes for more even distribution • In active development 5.1.0 and beyond • Dynamic provisioning based on SLAs • Complex event processing features manik@jboss.org | http://twitter.com/maniksurtani | http://blog.infinispan.org