Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @...

25
Adoption of a Graph- Database in the Insurance Sector Jan-Frederik Wilhelm / Andreas Wandelt

description

Jan-Frederik Wilhelm and Dr. Andreas Wandelt’s current project aims to replace an existing sales-portal of a german insurance company by reimplementing existing functionality in a maintainable fashion using current technology, with a core theme of the project trying to save, display and search data which is structured according to the VAA data model of the insurance industry. This talk is about their experience regarding the transition of a legacy model into a graph model using the latest version of Neo4J and some of its new features.

Transcript of Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @...

Page 1: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Adoption of a Graph-

Database in the Insurance

SectorJan-Frederik Wilhelm / Andreas Wandelt

Page 2: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Intelligent Solution Services AG

~ 50 employees

Base of operations: Marzling (near Munich)

Project teams: at HQ or onsite at customer location

Latest success: inSign (innovation award)

Dr. Andreas Wandelt

Head of Department

Technical Consulting

Jan-Frederik Wilhelm

Software Architect

Page 3: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Project „Bay4all“

What is this project dealing with?

– Critical sales system of an (bavarian)

insurance company

– 10 years old

– Weak spots:

Poor Performance

High maintenance cost

Redevelopment of system/architecture

Page 4: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Redesign architecture

Main tasks:

– Renewal of data layer which is used for

replication

– Usage of former customer project:

regarded to be nearly ready

Page 5: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

10 months later …

– Remainings ?? no valid evaluation

possible

– Quality of data ? may be poorer than

expected

Extensive Review needed

Page 6: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Role of Neo4j

Neo4j – first experiences:

– Whiteboard-friendly

– Flexible

– Easy „first use“

– Graphical representation in Web-interface

Page 7: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Proof of Concept

Two candidates:

– Neo4j

– ObjectDB

Several obstacles for Neo4j:

– Existing IBM DB2 landscape

– Conservative insurance industry vs. Cutting edge-technology

– Unknown world of NoSQL-databases

– Startup

Page 8: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

ORIGINAL DATA-MODEL (LEVEL 2)

Page 9: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

RELATIONAL REPRESENTATION

Page 10: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

ID 3611

TASKID 139982

OBJECTDESCID GUC0000BBV

USERNAME PKI5965

CHANGED 27.04.2010 09:48

VALIDFROM 23.04.2010 00:00

VALIDTO <null>

GENDATE 23.04.2010

ROOTID 3611

ROOTCLASSDESCID T000000DLV

PARENTID <null>

PARENTCLASSDESCID <null>

CHANGESTATE 0

BOSID AFIS.BP

BOSOBJECTID 102558199

BOSHISTORY <null>

REPLICATED 27.04.2010 09:48

BBVPLANER_PARTNERID <null>

DATA <?xml version="1.0" ...?><value-list><value id="Name"><![CDATA[Wilhelm]]></value>...</value-list>

PARTNERNR 102558199

NAME WILHELM

VORNAME JAN-FREDERIK

GESCHLECHT 2

FAMILIENSTAND 2

GEBURTSDATUM 20.03.1958

STAATSANGEHOERIGKEIT <null>

BERUF 921299

BERUFSSTATUS 70

me

ta d

ata

ext

ract

ed

dat

a

SCHEMALESS

Page 11: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Data-Model

Used throughout the system

(replication, persistence, UI-code, …)

Separate data-model for faster selections

(by nightly replication)

Authorization

extraction into tables – used by joins

(by nightly replication)

Page 12: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

First Approach

Identified culprit: inadequate data model

Revival of abandoned project

– Relational approach

Failure

– Mapping at replication time

Page 13: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Basic Idea

Don‘t map (too) early

Don‘t lose content

Don‘t lose info about structure

Simplify the model where possible

Create a copy of the host-data?

Use the PM-data and map later

Page 14: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013
Page 15: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Basic Idea – Graph Database?

Four levels of abstraction in model

– One graph per abstraction layer

– Connections between the layers! (IS_A)

– Using levels like classes in the OO-mindset

Authorization data

– In same database

– Linked to domain nodes

Reuse of existing replication mechanisms

Page 16: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Initial Data Import

Extensive updates once a year

Fast replication needed

BatchInserter

Spring Data Neo4J not usable

Page 17: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Introduction of Schema

Labels in Neo4J 2.0

Classification of nodes

Simplification of cypher queries

Automatic indexing of label-properties

Page 18: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Domain Mapping

No 1:1 mapping of domain-model todatabase-model

Spring Data not usable

Blueprints Frames unknown not used

Custom mapping mechanism developed

– Annotations

– Generics

– Java Reflection API

Page 19: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Data Store

Indexing

Neo4J

P

M

transformationmessages in PM-datamodel

P

M

messages in graph-form

summary (i.e. key properties of a contract) basic mapping

Lucene

indexes

property collectionsTransactionEventHandler

single propertieslabel indexing

mVorname m/wName node-Adresse

w

Auer

Zöller

Karl

Eva

81517

58999

node-AdresseVertragsnummer

0000001

9990000

23114

44539

node-AdresseName

Auer

Zöller

81517

58999

exact search, combined search, (phonetic search)

keys, node-adresses

read/write data, navigate graph

nodes, relations, properties

Page 20: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Search

Queries use

– Authorization data

– Labels

– Indexes

– structural information

Performance-Requirements fullfilled

All requests manageable/solvable so far

Page 21: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

What‘s next?

(Future) Benefits for project

Fast summary of an

agent‘s portfolio

Validation of PM-

messages

Analysis of the whole

portfolio

Reduction of work in

Host-System

Wishlist für Neo4J

More properties in

schema

Analysis of graph,

schema and indexes

(even) more tutorials

Further commitment to

new Web-UI

Page 22: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Overall results

Fast system

The performance for search requests is better thandemanded

Solution is accepted by the customer – project is saved

First productive usage of Neo4j within an insurancecompany

Usage of technology which really fits the domain-/technicalproblem

Discussions in an „interdisciplinarily“ team

Very good support by consulting team of Neo Technology

Page 23: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Thank you for attending…

Page 24: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

What‘s useful in Neo4J 2.0 (for us)

Labels

Try with ressources (AutoClosableTransactions)

New Cypher Syntax

New Web-UI

Not sure if 2.0: ServerBuilder, LifeCycle-Stuff like TransactionEventHandler, Unmanaged Extensions, …

Page 25: Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm & Dr. Andreas Wandelt @ GraphConnect London 2013

Surrounding technologies

Apache Camel for replication

Apache Jackrabbit for storing file-data

Jersey for REST

– Unmanaged extension

– Client