couchbase live europe 2015: couchbase at willis: some alternative use cases
TRANSCRIPT
AN ALTERNATIVE USE CASE
Analytics Technology
Rob Harty & Rob Purnell, Willis
23rd March 2015
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.
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
Analytics Technology – An Alternative Use Case | 3
Our Products…
Atlas
Analytics Technology – An Alternative Use Case | 4
Our Products…
Alert:24
Analytics Technology – An Alternative Use Case | 5
Our Products…
Willis Data Mart
Analytics Technology – An Alternative Use Case | 6
Our Products…
WillPLACE Web App
Analytics Technology – An Alternative Use Case | 7
Typical Architecture
How Couchbase integrates with our applications:
Analytics Technology – An Alternative Use Case | 8
The Problem
Basic process overview
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
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
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
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
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
Analytics Technology – An Alternative Use Case | 14
Offline vs Online Processing
Using Couchbase as a cache for near real-time data
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…
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
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
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?