What's New in Infinispan 6.0

Post on 25-May-2015

696 views 1 download

Tags:

description

Presentation delivered by Mircea Markus (JBoss) at the London JBoss User Group Event on Wednesday, the 4th of December 2013. In this talk, Mircea Markus (Infinispan Lead) covers the major features added in the 6.0 release to the Infinispan ecosystem: - querying in client/server mode - better integration with the persistent storage - multi-master cross-site replication - support for heterogeneous clusters Participants will take home a better understanding of Infinispan capabilities and the use cases in which it can be put at work. Ideally the attendees should have a basic knowledge of the in-memory data grids.

Transcript of What's New in Infinispan 6.0

What’s new in Infinispan 6.0

•Mircea Markus, •Principal Software Engineer, Red Hat

Who’s Mircea?

•Lead Infinispan/JBoss Data Grid •JSR-350 •@infinispan/@mirceamarkus •infinispan.blogspot.com

Agenda•Infinispan •New in 6.0

•Cpp Hot Rod client •Querying client/server mode •Persistence integration •Cross site replication enhancements •Heterogenous clusters •Licensing

•Roadmap

What is Infinispan?•Distributed storage engine

•memory •disk

•Highly available •Elastic •Open source

TCP/UDP

Transport (JGroups)

Node (JVM process)

Memcached HotRod REST

Storage Engine (RAM

+Overflow)

Monitoring

Map/ReduceQuery

Transaction/xaNotification

Embeded Application (Java)

Remote Application (Cpp)

Transport (JGroups)

Node (JVM process)

Memcached HotRod REST

Storage Engine (RAM

+Overflow)

Monitoring

Map/ReduceQuery

Transaction/xaNotification

Embeded Application (Java)

Remote Application (Java)

Remote Application (.Net)

Network (TCP)

Cpp Hot Rod client

•Hot Rod •Binary protocol •3 levels of intelligence •Clients in Java(L3), Python(L1), Ruby (L1)

•Cpp client •L3 •RHEL5, RHEL6, Windows 7 •OSS/Apache licence

Querying - existing•Embedded mode only •Based on Hibernate Search/Lucene •Objects in the grid are indexed

•index management

Remote Querying•Language neutral

•client/server access : Hot Rot •type representation : protobuf & protostream •DSL for querying

•Schema management •protofiles •JMX

Define schema - protobuf

Serialize to protobuf•Protobuf tooling

•schema to cpp/java. Not the other way around •constraining on the format of your domain

•Protostream •protobuf serializer developed by Red Hat •OSS/Apache licensed •flexible •strongly typed

Implement marshallers - based on schema

Implement marshallers

Execute the query

Langauge neutral access

•“Side effect” •HotRod

•interoperabilut

Further query improvements•Query on non-indexed fields •HotRod Cpp client

•query DSL •protostream

•protobuf default serialization (?) •better schema management

New Persistence SPI•Simpler

•no locking •no transaction

•Faster •parallel iteration/expiry •reduced serialization overhead

•Aligned with JSR-107 •easier migration

New Local (File) Store•Very popular

•easy setup/no dependencies •New file store

•fast! •keeps all keys in memory •courtesy @Karsten Blees

X-Site replication

•Since Infinispan 5.2.0 •Hot-standby for geographic failover •Follow the sun

Cross Site Replication

Multiple site masters

•Single site master (5.2.x) •does not scale •mitigated by capacity-factor (6.0.0)

•Multiple site masters •site masters form a jgroups cluster •configurable number

Heterogenous clusters

•Heterogenous clusters •not all machine are equally powerful • some are more busy

•Load-factor •e.g. 0.5 -> half of the average load •0 is acceptable

•alternative to client/server

New Licensing

•LGPL -> Apache License •Apache License

•open source •considered more business friendly •better integration with other Apache licensed projects

Roadmap

•Eventing over Hot Rod •Clustered listeners •Security •Query over Cpp Hot Rod •Better partition handling •C# Hot Rod client

Thank you!•infinispan.blogspot.com •@infinispan •mirceamarkus.blogspot.com •@mirceamarkus