34
There and back again, ING’s Cassandra Tale Datastax Summit 2016 Gary Stewart, @Gaz_GandA Christopher Reedijk, @creedijk London, April 19, 2016

Cassandra at ING - There and back again

  • Upload
    ing-it

  • View
    594

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Cassandra at ING - There and back again

There and back again, ING’s Cassandra Tale

Datastax Summit 2016

Gary Stewart, @Gaz_GandAChristopher Reedijk, @creedijk

London, April 19, 2016

Page 2: Cassandra at ING - There and back again

Market leaders Benelux

Growth markets

Commercial Banking

Challengers

2

European map

Full-service bankVery strong European baseIT is something ING doesLargest bank of NL150+ Squads20+ use cases in production

Page 3: Cassandra at ING - There and back again

Engineer / Architect Engineer / Chapter Lead

3

a little bit about us

Gary Stewart Christopher Reedijk

#DataStaxSummit

Page 4: Cassandra at ING - There and back again

4

the contract … #DataStaxSummit

Page 5: Cassandra at ING - There and back again

5

an unexpected party #DataStaxSummit

De

vO

ps

En

gin

ee

rs

Ma

na

ge

rs

Infr

a E

ng

ine

ers

Page 6: Cassandra at ING - There and back again

6

an unexpected journey #DataStaxSummit

Page 7: Cassandra at ING - There and back again

Financial Fit

7

#DataStaxSummit

Page 8: Cassandra at ING - There and back again

the trolls of data modeling

8

#DataStaxSummit

Page 9: Cassandra at ING - There and back again

Think about the queries first!

Sometimes storing JSON in text is best

saved by …

9

#DataStaxSummit

Page 10: Cassandra at ING - There and back again

Lonely Planet

10

#DataStaxSummit

Page 11: Cassandra at ING - There and back again

11

the goblins of data querying #DataStaxSummit

Page 12: Cassandra at ING - There and back again

Don’t do table scans

Think about Read pathi.e. avoid increasing sequential reads as data grows

Do performance tests even for small use-cases!

12

saved by … #DataStaxSummit

Page 13: Cassandra at ING - There and back again

iDeal

13

#DataStaxSummit

Page 14: Cassandra at ING - There and back again

14

the riddles of Gollum #DataStaxSummit

What could go wrong this time ….

Page 15: Cassandra at ING - There and back again

NTP killed the happy flowCustomers couldn’t go to next page

the riddles of time

15

#DataStaxSummit

Page 16: Cassandra at ING - There and back again

NTP killed the happy flowCustomers couldn’t go to next page

Versioning to the rescue

saved by …

16

#DataStaxSummit

Page 17: Cassandra at ING - There and back again

Experiments API

17

#DataStaxSummit

Page 18: Cassandra at ING - There and back again

Aggressive distributedRead-after-Write, causing read-repair-blocking

18

the spiders of 99 percentile #DataStaxSummit

Page 19: Cassandra at ING - There and back again

Be careful with read-after-write

Always check the functionality of the framework you’re using

19

saved by … #DataStaxSummit

Page 20: Cassandra at ING - There and back again

Cached Data

20

#DataStaxSummit

Page 21: Cassandra at ING - There and back again

SizeTieredCompactionStrategy

Default, compact after 4 sstables

20GB data needs 100GB+ storage

the loss of storage

21

SST1 SST1 SST2 SST1 SST2 SST3 SST1 SST2 SST3 SST4 SST5

FLUSHFLUSH

FLUSH FLUSH

COMPACT

#DataStaxSummit

Page 22: Cassandra at ING - There and back again

Data space required is now around 50% less!

Attention to details can save i/o and disk space

saved by …

22

SST1 SST1 SST2 SST3

FLUSHFLUSH

COMPACT

#DataStaxSummit

Page 23: Cassandra at ING - There and back again

Fraud Investigation

23

#DataStaxSummit

Page 24: Cassandra at ING - There and back again

Bad performance and nodes dying constantly

Network and GC issuesHinted handoffs going crazyVery long GC-pauses causing nodes to freeze

Never ending compactions

24

the wood elves of network #DataStaxSummit

Page 25: Cassandra at ING - There and back again

Take a step back

Upgraded to 4.8.5with G1GC (default when using Java 8)4.7.3 is way too chatty

Increased heap and new to 16GB and 8GB

for coordinator nodes, which in our case are all

25

saved by … #DataStaxSummit

Incoming Traffic

Page 26: Cassandra at ING - There and back again

26

the desolation of smaug #DataStaxSummit

Page 27: Cassandra at ING - There and back again

Think top-down – queries first

Talk about failuresExperimentation – SandboxEnvironment that is safe to fail

Take a step backunderstand the architecture

flow of dataensure you are understanding the problem

27

desolated by … #DataStaxSummit

Page 28: Cassandra at ING - There and back again

28

the battle of 5 armies #DataStaxSummit

Page 29: Cassandra at ING - There and back again

29

the battle of 5 armies #DataStaxSummit

Infr

a E

ng

ine

ers

De

vO

ps

En

gin

ee

rs

Arc

hit

ect

s

???

Ma

na

ge

rs

Page 30: Cassandra at ING - There and back again

Each time we ventured out therewith new insights ready to take on new epic challenges

And each time we came backBit bruised but never broken More willing to shareAnd rolled out into PRD

30

there and back … #DataStaxSummit

Page 31: Cassandra at ING - There and back again

again and again and again …

31

#DataStaxSummit

Page 32: Cassandra at ING - There and back again

Thank you

[email protected]@creedijk

[email protected]@Gaz_GandA

visuals by Isabelle Hörl:www.isabellehorl.com | @IsabelleHorl

we are hiring!

Page 33: Cassandra at ING - There and back again

Follow us to stay a step ahead

ING.com

YouTube.com/ING

SlideShare.net/ING@ING_News LinkedIn.com/company/ING

Flickr.com/INGGroupFacebook.com/ING

Page 34: Cassandra at ING - There and back again

ING Group’s Annual Accounts are prepared in accordance with International Financial Reporting Standards as adopted by the European Union (‘IFRS-EU’).

In preparing the financial information in this document, the same accounting principles are applied as in the 2014 ING Group Annual Accounts. All figures in this document are unaudited. Small differences are possible in the tables due to rounding.

Certain of the statements contained herein are not historical facts, including, without limitation, certain statements made of future expectations and other forward-looking statements that are based on management’s current views and assumptions and involve known and unknown risks and uncertainties that could cause actual results, performance or events to differ materially from those expressed or implied in such statements. Actual results, performance or events may differ materially from those in such statements due to, without limitation: (1) changes in general economic conditions, in particular economic conditions in ING’s core markets, (2) changes in performance of financial markets, including developing markets, (3) consequences of a potential (partial) break-up of the euro, (4) the implementation of ING’s restructuring plan to separate banking and insurance operations, (5) changes in the availability of, and costs associated with, sources of liquidity such as interbank funding, as well as conditions in the credit markets generally, including changes in borrower and counterparty creditworthiness, (6) the frequency and severity of insured loss events, (7) changes affecting mortality and

morbidity levels and trends,(8) changes affecting persistency levels, (9) changes affecting interest rate levels, (10) changes affecting currency exchange rates, (11) changes in investor, customer and policyholder behaviour, (12) changes in general competitive factors, (13) changes in laws and regulations, (14) changes in the policies of governments and/or regulatory authorities, (15) conclusions with regard to purchase accounting assumptions and methodologies, (16) changes in ownership that could affect the future availability to us of net operating loss, net capital and built-in loss carry forwards, (17) changes in credit ratings, (18) ING’s ability to achieve projected operational synergies and (19) the other risks and uncertainties detailed in the Risk Factors section contained in the most recent annual report of ING Groep N.V. Any forward-looking statements made by or on behalf of ING speak only as of the date they are made, and, ING assumes no obligation to publicly update or revise any forward-looking statements, whether as a result of new information or for any other reason.

This document does not constitute an offer to sell, or a solicitation of an offer to purchase, any securities in the United States or any other jurisdiction. The securities of NN Group have not been and will not be registered under the U.S. Securities Act of 1933, as amended (the “Securities Act”), and may not be offered or sold within the United States absent registration or an applicable exemption from the registration requirements of the Securities Act.

www.ing.com

Disclaimer

34