SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Hazelcast
Ramon Spahr, Korhan Gülseven
SBB Developer Day 2015
Agenda
2
 Einführung
ƒ Was ist Hazelcast?
ƒ Wie funktioniert Hazelcast?
 Features
ƒ Distributed Data Structures
ƒ Distributed Query
ƒ Distributed Computing
 Einsatz bei Infohub-PT
 Einsatz bei CIS Infra
 Demo
Einführung: Was ist Hazelcast?
3
∧ Firma
▪ Von der Türkei nach Palo Alto
∧ Produkt
▪ Open Source
▪ In-Memory Data Grid (IMGD)
▪ Verteilte Datenstrukturen und Berechnungen
▪ Implementiert in Java
Einführung: Was ist Hazelcast?
4
∧ Embedded oder als Client/Server
∧ Kommuniziert Peer-to-Peer.
www.hazelcast.com
Einführung: Wie funktioniert Hazelcast?
5
∧ Partitionierung
▪ Alle Partitionen sind möglichst gleichverteilt über den Cluster
▪ Backups / Redundanz
▪ partitionKey = hash(key data) % partition count
www.hazelcast.com
Einführung: Wie funktioniert Hazelcast?
6
▪ Partitionstabelle
▪ Jeweils der älteste Knoten verwaltet die Tabelle
▪ 271 Partitionen / Cluster
www.hazelcast.com
Einführung: Wie funktioniert Hazelcast?
7
∧ Breispiel Map: Als Objekt oder Binärdaten
∧ Serialisierung immer notwendig
▪ Beispiel: Portable Serialization
public class Foo implements Portable {
final static int ID = 5;
private String foo;
…
@Override public int getFactoryId() { return 1; }
@Override public int getClassId() { return ID; }
@Override
public void writePortable(PortableWriter writer) throws IOException {
writer.writeUTF( "foo", foo );
}
}
Einführung: Wie funktioniert Hazelcast?
8
∧ DataAffinity
public class OrderKey implements Serializable, PartitionAware {
private final long orderId;
private final long customerId;
…
public Object getPartitionKey() { return customerId; }
}
Features: Distributed Data Structures
9
 Standard
ƒ Map, Multimap, Replicated Map
ƒ Queue, Set, List, Ringbuffer
 Messaging (pub/sub)
ƒ Topic
 Concurrency Utilities
ƒ Lock, Semaphore, IdGenerator, AtomicLong, CountDownLatch..
 Persistence (*Store-APIs)
Features: Distributed Map
10
Features: Distributed Query
11
 Divide and Conquer
 Criteria API
 Distributed SQL
 MapReduce & Aggregators (avg, sum, min, max, eigene..)
Features: Distributed Computing
12
 Ziele
ƒ Parallele Verarbeitung der Tasks
ƒ Ausführung der Tasks lokal bei den Daten (Code → Data)
 Implementierung von ExecutorService (java.util.concurrent)
für verteilte Umgebungen (Callable, Runnables)
 Entry Processors um Daten lokal und atomar zu modifizieren.
Features: Was sonst
13
 Event Listeners (Member, Client, Entry..)
 Clients (Java, C++, .NET, REST)
 JCache (JSR-107) Implementierung
 Integration: Hibernate (2nd Level Cache), Web Session Replication,
Spring
 Enterprisy’ness:
ƒ Transactions (XA, JEE Integration über JCA)
ƒ WAN Replication
ƒ Security
ƒ …
Einsatz bei Info-Hub PT
Info-Hub PT: Was tut es?
15
∧ Verteilung von Bahnproduktionsdaten
▪ Gesamter Bahnverkehr CH
▪ Grenzüberschreitender Bahnverkehr
Info-Hub PT: Wofür Hazelcast?
16
ZUGFAHRT
PROGNOSE
ISTZEIT
ISTZEIT
Info-Hub PT: Aufbau
17
Info-Hub PT: Lessons learned
18
∧ Einfache aber wichtige Konfiguration des Clusters
∧ Wertvolles Management Center
∧ Flache Objekte als Indexe m. Portable-Serialisierung
∧ Schnelle Neupartitionierung und Write-Behind
Aktuelle Baustellen:
∧ Lasttest und Go-Live
∧ JCache (+20% Client-Performance gemäss Hazelcast)
∧ Deployment-Szenarios / Hilfsmittel
∧ Distributed Computing
Einsatz bei CIS Infra
CIS Infra: Zugfahrtdaten
20
PoC: Hazelcast on/with SBB WebSphere
21
 Ziel: Zeigen, dass Hazelcast auf der SBB WebSphere-Plattform (HighEnd)
betrieben werden kann.
 Scope
 Embedded in WebSphere
 Dediziert (out-of-process) mit Client auf WebSphere
 25KB XML (~10KB Java) über zwei Queues, bis zu 120/sec
 Ergebnisse
 Durchsatz 
 Betreibbarkeit auf WebSphere 
 Indexes Hazelcast ϑ
 https://confluence.sbb.ch/display/CISINFRAE/PoC+-+Hazelcast+on+Websphere
Demo
22
Fragen?
Anhang
Features: Distributed Events
(verschieben zu: Was sonst)
25
Listeners für Events:
 Membership, Distributed Object, Migration, Partition Lost, Lifecycle
 Entry, Item, Message
 Client

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA'sFromDual GmbH
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/RecoveryFromDual GmbH
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?FromDual GmbH
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterFromDual GmbH
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalteninovex GmbH
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologienoraclebudb
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...inovex GmbH
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
 
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)inovex GmbH
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ulrike Schwinn
 

Was ist angesagt? (15)

MySQL für Oracle DBA's
MySQL für Oracle DBA'sMySQL für Oracle DBA's
MySQL für Oracle DBA's
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/Recovery
 
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
MySQL Beispiele aus der Praxis - Wie setzen Kunden MySQL ein?
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologien
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
 
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)
 

Andere mochten auch

Andere mochten auch (13)

Ada 3 emiliano
Ada 3 emilianoAda 3 emiliano
Ada 3 emiliano
 
National sales call 5 19-14
National sales call 5 19-14National sales call 5 19-14
National sales call 5 19-14
 
2015Q1 SCFG Commentary_with Snapshot
2015Q1 SCFG Commentary_with Snapshot2015Q1 SCFG Commentary_with Snapshot
2015Q1 SCFG Commentary_with Snapshot
 
вплив+побутових+фільтрів+на+якість+води.Ppt
вплив+побутових+фільтрів+на+якість+води.Pptвплив+побутових+фільтрів+на+якість+води.Ppt
вплив+побутових+фільтрів+на+якість+води.Ppt
 
2011 - Q1 - Commentary
2011 - Q1 - Commentary2011 - Q1 - Commentary
2011 - Q1 - Commentary
 
HEZKIDETZAN ESKU HARTZEN AURKEZPENA #mooteu15
HEZKIDETZAN ESKU HARTZEN AURKEZPENA #mooteu15HEZKIDETZAN ESKU HARTZEN AURKEZPENA #mooteu15
HEZKIDETZAN ESKU HARTZEN AURKEZPENA #mooteu15
 
TALDE-BLOGEAN MEZU BATE URL-A TOPATU
TALDE-BLOGEAN MEZU BATE URL-A TOPATUTALDE-BLOGEAN MEZU BATE URL-A TOPATU
TALDE-BLOGEAN MEZU BATE URL-A TOPATU
 
Master Class Reference Letter
Master Class Reference LetterMaster Class Reference Letter
Master Class Reference Letter
 
Chiropractic GPBC-final
Chiropractic GPBC-finalChiropractic GPBC-final
Chiropractic GPBC-final
 
Functional web with clojure
Functional web with clojureFunctional web with clojure
Functional web with clojure
 
Movement for Liveable London Street Talks - Simon Birkett 6th September 2011
Movement for Liveable London Street Talks - Simon Birkett 6th September 2011Movement for Liveable London Street Talks - Simon Birkett 6th September 2011
Movement for Liveable London Street Talks - Simon Birkett 6th September 2011
 
Leveraging the Qualtrics Ecosystem: Including Integrations with Salesforce, T...
Leveraging the Qualtrics Ecosystem: Including Integrations with Salesforce, T...Leveraging the Qualtrics Ecosystem: Including Integrations with Salesforce, T...
Leveraging the Qualtrics Ecosystem: Including Integrations with Salesforce, T...
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
 

Ähnlich wie Hazelcast

Java und Go im Vergleich
Java und Go im VergleichJava und Go im Vergleich
Java und Go im VergleichQAware GmbH
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...OPITZ CONSULTING Deutschland
 
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayElegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayMario-Leander Reimer
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesQAware GmbH
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsIBsolution GmbH
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)data://disrupted®
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleJörn Dinkla
 
Rails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturRails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturHeiko Seebach
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerNico Meisenzahl
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
JBoss EAP clustering
JBoss EAP clustering JBoss EAP clustering
JBoss EAP clustering hwilming
 
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingTipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingJörn Dinkla
 

Ähnlich wie Hazelcast (20)

Java und Go im Vergleich
Java und Go im VergleichJava und Go im Vergleich
Java und Go im Vergleich
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
 
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2dayElegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
Elegantes In-Memory Computing mit Apache Ignite und Kubernetes. @data2day
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und Kubernetes
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und Charts
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
 
Rails in Production - telewebber Architektur
Rails in Production - telewebber ArchitekturRails in Production - telewebber Architektur
Rails in Production - telewebber Architektur
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder Traveler
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
JBoss EAP clustering
JBoss EAP clustering JBoss EAP clustering
JBoss EAP clustering
 
Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02
 
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingTipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
 

Kürzlich hochgeladen

From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 

Kürzlich hochgeladen (6)

From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 

Hazelcast

  • 1. Hazelcast Ramon Spahr, Korhan Gülseven SBB Developer Day 2015
  • 2. Agenda 2  Einführung ƒ Was ist Hazelcast? ƒ Wie funktioniert Hazelcast?  Features ƒ Distributed Data Structures ƒ Distributed Query ƒ Distributed Computing  Einsatz bei Infohub-PT  Einsatz bei CIS Infra  Demo
  • 3. Einführung: Was ist Hazelcast? 3 ∧ Firma ▪ Von der Türkei nach Palo Alto ∧ Produkt ▪ Open Source ▪ In-Memory Data Grid (IMGD) ▪ Verteilte Datenstrukturen und Berechnungen ▪ Implementiert in Java
  • 4. Einführung: Was ist Hazelcast? 4 ∧ Embedded oder als Client/Server ∧ Kommuniziert Peer-to-Peer. www.hazelcast.com
  • 5. Einführung: Wie funktioniert Hazelcast? 5 ∧ Partitionierung ▪ Alle Partitionen sind möglichst gleichverteilt über den Cluster ▪ Backups / Redundanz ▪ partitionKey = hash(key data) % partition count www.hazelcast.com
  • 6. Einführung: Wie funktioniert Hazelcast? 6 ▪ Partitionstabelle ▪ Jeweils der älteste Knoten verwaltet die Tabelle ▪ 271 Partitionen / Cluster www.hazelcast.com
  • 7. Einführung: Wie funktioniert Hazelcast? 7 ∧ Breispiel Map: Als Objekt oder Binärdaten ∧ Serialisierung immer notwendig ▪ Beispiel: Portable Serialization public class Foo implements Portable { final static int ID = 5; private String foo; … @Override public int getFactoryId() { return 1; } @Override public int getClassId() { return ID; } @Override public void writePortable(PortableWriter writer) throws IOException { writer.writeUTF( "foo", foo ); } }
  • 8. Einführung: Wie funktioniert Hazelcast? 8 ∧ DataAffinity public class OrderKey implements Serializable, PartitionAware { private final long orderId; private final long customerId; … public Object getPartitionKey() { return customerId; } }
  • 9. Features: Distributed Data Structures 9  Standard ƒ Map, Multimap, Replicated Map ƒ Queue, Set, List, Ringbuffer  Messaging (pub/sub) ƒ Topic  Concurrency Utilities ƒ Lock, Semaphore, IdGenerator, AtomicLong, CountDownLatch..  Persistence (*Store-APIs)
  • 11. Features: Distributed Query 11  Divide and Conquer  Criteria API  Distributed SQL  MapReduce & Aggregators (avg, sum, min, max, eigene..)
  • 12. Features: Distributed Computing 12  Ziele ƒ Parallele Verarbeitung der Tasks ƒ Ausführung der Tasks lokal bei den Daten (Code → Data)  Implementierung von ExecutorService (java.util.concurrent) für verteilte Umgebungen (Callable, Runnables)  Entry Processors um Daten lokal und atomar zu modifizieren.
  • 13. Features: Was sonst 13  Event Listeners (Member, Client, Entry..)  Clients (Java, C++, .NET, REST)  JCache (JSR-107) Implementierung  Integration: Hibernate (2nd Level Cache), Web Session Replication, Spring  Enterprisy’ness: ƒ Transactions (XA, JEE Integration über JCA) ƒ WAN Replication ƒ Security ƒ …
  • 15. Info-Hub PT: Was tut es? 15 ∧ Verteilung von Bahnproduktionsdaten ▪ Gesamter Bahnverkehr CH ▪ Grenzüberschreitender Bahnverkehr
  • 16. Info-Hub PT: Wofür Hazelcast? 16 ZUGFAHRT PROGNOSE ISTZEIT ISTZEIT
  • 18. Info-Hub PT: Lessons learned 18 ∧ Einfache aber wichtige Konfiguration des Clusters ∧ Wertvolles Management Center ∧ Flache Objekte als Indexe m. Portable-Serialisierung ∧ Schnelle Neupartitionierung und Write-Behind Aktuelle Baustellen: ∧ Lasttest und Go-Live ∧ JCache (+20% Client-Performance gemäss Hazelcast) ∧ Deployment-Szenarios / Hilfsmittel ∧ Distributed Computing
  • 21. PoC: Hazelcast on/with SBB WebSphere 21  Ziel: Zeigen, dass Hazelcast auf der SBB WebSphere-Plattform (HighEnd) betrieben werden kann.  Scope  Embedded in WebSphere  Dediziert (out-of-process) mit Client auf WebSphere  25KB XML (~10KB Java) über zwei Queues, bis zu 120/sec  Ergebnisse  Durchsatz   Betreibbarkeit auf WebSphere   Indexes Hazelcast ϑ  https://confluence.sbb.ch/display/CISINFRAE/PoC+-+Hazelcast+on+Websphere
  • 25. Features: Distributed Events (verschieben zu: Was sonst) 25 Listeners für Events:  Membership, Distributed Object, Migration, Partition Lost, Lifecycle  Entry, Item, Message  Client