couchbase live europe 2015: couchbase at willis: some alternative use cases

19
AN ALTERNATIVE USE CASE Analytics Technology Rob Harty & Rob Purnell, Willis 23 rd March 2015

Upload: couchbase

Post on 16-Jul-2015

118 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

AN ALTERNATIVE USE CASE

Analytics Technology

Rob Harty & Rob Purnell, Willis

23rd March 2015

Page 2: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 1

Who are Willis?

The Analytical Broker.

Global Presence.

18,000+ employees

400 offices

We are Analytics Technology

We provide analytical tools, data and knowledge both within Willis and to our clients.

Traditional specialist in GIS applications

Willis is a leading global risk advisor, insurance and reinsurance broker.

Page 3: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 2

Analytics Technology

Agile development team of developers, QA, BA and PMs.

Based in London, Ipswich and Mumbai.

.NET development.

Primarily web based.

Application examples:

Atlas – engineering services portal that allows clients to visualize site risk information

Alert:24 – inform, prevent and respond to personal risks

Wills DataMart – store of spatial analytical data and models

WillPLACE App – broker tool to allow matching of insurers to prospective placements

Page 4: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 3

Our Products…

Atlas

Page 5: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 4

Our Products…

Alert:24

Page 6: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 5

Our Products…

Willis Data Mart

Page 7: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 6

Our Products…

WillPLACE Web App

Page 8: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 7

Typical Architecture

How Couchbase integrates with our applications:

Page 9: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 8

The Problem

Basic process overview

Page 10: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 9

The Problem

Stats – SQL vs. In Memory

Sample portfolio with 1 million locations

485

20

100

200

300

400

500

600

SQL Server In Memory

Seco

nd

s

Page 11: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 10

The Problem

Relatively low user base, very large set of data, often all required, and quick serialization

Large client data set; typical example is 3 million locations

Flexibility required due to filtering operations on data sets

On demand SQL performance poor due to I/O, serialization and overheads building the objects up

in memory

Unsustainable memory usage to persist on app tier beyond a few minutes

What we need is a way to have data available, quickly, without affecting app performance…

A different use case

Page 12: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 11

What can we do about it?

Researching the solution

Of primary concern was a high performance cache

Memcached fits use case.

Naturally, lead on to Membase (which became Couchbase)

MongoDB experience existed in team

Lead to performance comparison between systems

Page 13: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 12

Performance

As part of evaluation, we performed serialization tests of Couchbase and MongoDB. This is using out of the box

clients.

Evaluating Couchbase vs. MongoDB

485 11 15 20

5

10

15

20

25

30

35

40

45

50

SQL Server Couchbase MongoDB In Memory

Seco

nd

s

Page 14: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 13

Couchbase?

• Quickest performance in our usage out of the box

• Provides high availability through replication and auto-failover

• Can handle millions of data items

• Commercially supported and managed NoSQL product

• Provides a flexible data model for ease of storing unstructured data

• Easily integrated into the existing Microsoft development environment

• Free product enabled us to fully test and evaluate Couchbase before committing financially

• Future GIS application and spatial features

Reasons for choosing

Page 15: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 14

Offline vs Online Processing

Using Couchbase as a cache for near real-time data

Page 16: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 15

Performance

Performance still not enough for our needs, investigate other means of improving response time

Issue with the fact we couldn’t filter the data at Couchbase – all data required on first load

Using profiler tools to identify bottle necks.

Solution for this use case, drop default serializer in favor of binary data, using Protobuf.

What is Protobuf?

Exceptionally efficient serializer

Performance highest priority

Minimal payload

Still not quick enough…

Page 17: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 16

Performance

Overall statistics

485 11 15 3 20

5

10

15

20

25

30

35

40

45

50

SQL Server Couchbase MongoDB CouchbaseProtobuf

In Memory

Seco

nd

s

Page 18: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 17

Summary

In our use case the Couchbase process is 44x faster than our SQL equivalent

Couchbase with Protobuf as the serializer is 4x faster again

Limitation of storing in a binary format:

Lose ability to filter at source (views, etc.)

Still more to do (time allowing):

Evaluate Geospatial queries

Evaluate N1Q1

Outcomes

Page 19: Couchbase Live Europe 2015: Couchbase at Willis: Some Alternative Use Cases

Analytics Technology – An Alternative Use Case | 18

Summary

Willis

http://www.willis.com/

Robert Purnell Senior Developer [email protected]

Robert Harty Development Manager [email protected]

References

Protobuf-net https://code.google.com/p/protobuf-net/

Thank You. Questions?