28
HBase in Financial Services Pierre Bittner @BittnerPierre Paris HUG Meetup 14/01/2016 SCALED RISK

HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Embed Size (px)

Citation preview

Page 1: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBaseinFinancialServicesPierreBittner

@BittnerPierre

ParisHUGMeetup14/01/2016

SCALED RISK

Page 2: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

ThèmesabordéslorsdeceTalk

- 1èrePartie:labanqueen2016- 2èmePartie:présentationd’HBase- 3èmePartie:« Schema Free »auservicedelafinance

SCALED RISK 2

Page 3: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Labanqueen2016

Page 4: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Labanquen’apaschangédepuisdesdécennies

- Comptecourant,pland’épargne,crédit,hypothèques,nous« consommons»labanquecommenosparents- Aprésent,nous« consommons»letransportdefaçonstrèsdifférentesgrâceàUber etBlablaCar- ToutcommeAirBnb achangénotrevisiondel’hôtellerie- Cettetransformationn’estpasencoresurvenuedanslabanque- Denouveauxacteurs,les« Fintech »,ontl’objectifde« révolutionner »labanquetraditionnelle

4SCALED RISK

Page 5: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Labanquedufutur?

- GoogleetFacebooksontdesagencesdepublicitéàl’instardePublicis- ApplePay,GoogleWallet etPayPal offrentdesmoyensdepaiementmaisn’enfontpaspourautantdesbanques- Quelimpactauralatechnologiesurlabanque?

Google’s disruption of financial services isjust getting started: Forrester

“Disruptors such as Google aren’t out to getyou” “Disruption is often a side effect of theirefforts to find a better way of doing something.”

5SCALED RISK

Page 6: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

ExempledeFintech:Ripple etlespaiementsinternationaux

- Cettestartupainventésapropremonnaiedigitalepourréaliserdespaiementsàtraverslesfrontières- L’utilisationd’unecrypto-monnaiepermetàRipple d’effectuerletransfertrapidement,àbasprixetdelimiterlesrisquesdefraude

6SCALED RISK

- Devenirricheencréantsapropremonnaie?

- Ripple n’ajoutepasdefraissurlestransactions

- Ilserémunèresurl’augmentationdelavaleurdeleurmonnaie

Page 7: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

2015:Prisedeconsciencedesbanques

7SCALED RISK

Page 8: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Lepoidsdu« Legacy »

- EasyJet etRyanAir ontétécapabledebouleverserlesecteurdutransportaérien- Ilsontétéconstruitssurdenouvellesplateformes,sansporterla« charge »dupassé- Architecturescomplexes,silosdedonnées,manqued’agilitéetcoûtsd’opérationsélevéspèsentsurlescapacitésd’innovationsdesbanques

8SCALED RISK

- Lesbanquessedoiventderéaliserleur« transformationdigitale »

Page 9: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

QuellesinnovationsenFinance?

- EnquêteCapitalOnesurlesinnovationsenFinancedes3à5prochainesannées(Money2020- Oct 2015)

- Big DataAnalytics etpaiementsalternatifssontlesprincipauxvecteursd’innovationselonlesparticipants,devantlablockchain- LatransformationdigitaleabiendébutéenFinance.- Depuis2000,52%dessociétéscotéesduFortune500ontdisparuparF&Aoufaillite- Celaneveutpasdirequelesbanquestraditionnellesvontcomplétementdisparaitremaisellessedoiventd’innover.

Page 10: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBasedanstoutça?

Page 11: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

LaFinanceenquelques« Big »chiffres

- NewYorkStockExchangegénèreentre4-5TodedonnéesparJour- StressTestenBanquedeFinancement:6millionsd’opérations,750scénarios- 500Gbdedonnéesbrutset4milliardsdecalculsparjour

- MarchéBoursier:environ200kordresp.sec/1mp.secenpic- Accélérationgénéraledestraitementsetdesreportings

- Pourlestockagedevosdonnées,vousutiliseriezunSGBDR?HBase?

11SCALED RISK

Page 12: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBaseenFinanceetailleurs

- Cohérenceplutôtquedisponibilitémaisavecindisponibilitéminimum

- Salesforce pourMerril LynchWealth Management- http://fr.slideshare.net/salesforceeng/hbase-at-salesforcecom

- Bloomberg– TheProblem is MediumData- Tempsderepriseaprèsincident(MTTR),Latencegénérale,Haute-disponibité- http://fr.slideshare.net/HBaseCon/case-studies-session-4a-35937605

- Etbeaucoupd’autres…

- Ailleurs:Yahoo,Facebook,Twitter,Meetup!

12SCALED RISK

Page 13: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBase:Random Accesstoyour Planet-WideTransaction

- C’estlabasededonnéeHadoop- Release1.0enfévrier2015(Stable1.1.2)- InspiréedeBigTable deGoogle- NoSQL- Casd’usage:lectures/écriturestemps-réeldedonnéesunitaires- Hautdébit,Faiblelatence,Forteconcurrenced’accès- Paspourlesanalytiquescomplexes,lesfull-scan

- OpenSource,fortementconsistant,distribuée,non-relationel,scalable- Etlibredetoutschéma!

13SCALED RISK

Page 14: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBaseenbref- « Wide-Column »store:chaquelignecontientunensembledeK/V

(!=key/valuestoreoucolumnar datastore)- Lestablessontdesespacesdenommages- Disposede« column family »pourlesgrouper

- ChaqueligneestidentifiéeparuneRowKey- Assureunaccèsrapideetladistributiondesdonnées

- Chaquecelluleporteun« timestamp »- API:4opérationsprimaires:Get,Put,Delete etScan- Traitementscôtésserveursaveclescoprosseurs- ArchitectureMaster<->Slave:HMaster /RegionServer

- LesRegionServers hébergentplusieursrégions- LestablessontrépartiessurplusieursRegions dansdesHFiles

14SCALED RISK

Page 15: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBaseauservicedelaFinance

Page 16: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBase:Modélisationdedonnées,challengesetopportunités

- Fast DataCompany &DataDriven Decision- Evénementsfinanciersetmultiplicitédesmodèlesè FlexibleStorage- Optimisationdestraitements:Sharding Strategy

- Workload Transactional /Analytics- Donnéesderéférences- Gestionsdesrelations:collectiond’entités

- AbusdeMarché&Vision360° desclients- ConsolidatedAuditTrail (CAT)

16SCALED RISK

Page 17: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Traced’exécutionsurmarchéactions

• 2OrdresAchat/Ventesurunmêmecarnetquise“matchent”,génèrentunprixetuneexécutionsil’ordretotalementrempli

- Order :OrderBook,Sender,ExtId,OrderType,Quantity,Direction,Price,Validity- Price: OrderBook,Price,ExecutedQty,Direction,ExtId1,ExtId2,BestAsk,BestBid- Exec : OrderBook,Sender,ExtId

• Exempledetrace:Order;AAPL;Agent75;3978;L;B;14;19;-1Order;AAPL;Agent11;3976;L;A;19;44;-1Price;AAPL;14;30;B;Agent75;3978;Agent11;3976;14;19Exec;Agent75;3978

17SCALED RISK

Page 18: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBase:Wide-Column Store– Freeyour Schema!RowKey Column Family ColumnQualifier Timestamp Value

APPL-Agent11-3976-Order info MessageType 42007969375 OrderOrderBook 42007969375 AAPLSender 42007969375 Agent11ExtId 42007969375 3976OrderType 42007969375 LimitDirection 42007969375 BQuantity 42007969375 1Price 42007969375 39Validity 42007969375 -1

AAPL-Agent75-3978-Price info MessageType 42139416667 PriceOrderBook 42139416667 AAPLPrice 42139416667 14ExecutedQty 42139416667 30Direction 42139416667 HUAWEIExtId1 42139416667 Agent75-3978ExtId2 42139416667 Agent11-3976BestAsk 42139416667 14BestBid 42139416667 19

AAPL-Agent75-3978-Exec info MessageType 42139416667 ExecOrderBook 42139416667 AAPLExtId 42139416667 Agent75-3978

Cellule={row,cf,qualifier, timestamp}

Atomicitéparligne§ Verrousparligne§ TouteslesKVs pourun“row”

sontco-localiséesdansunerégion§ Stockageenmémoiredansun

régionserver

Pasdecontraintesurlesnomsdecolonnesoulesvaleurs.

18SCALED RISK

Page 19: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

19

LaRowKeydanslaConceptiondesTables

NickDimiduk:« IndesigningHBasetables,therowkeyisthesinglemostimportantthing.Youshouldmodelkeysbasedontheexpectedaccesspattern.»

LesRowkeysdéterminentlaperformancelorsdel’interactionaveclestables,car:- lesRégionssontpartitionnéesparHBasesuivantdesintervallesdeRowKeys- LarépartitiondesHFiles dépendaussidesRowkeysainsiquedela

ColumnFamily.

RQ: - HBaseindexeuniquementlaRowKeypourtoutesleslignes.- LeslignessontmisesenordresdanslesrégionsselonleursRowKeys.

SCALED RISK

Page 20: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

20

Row KeyDesign– Clustered Storagepourlesanalysestemps-réels

- OrganisationdesRowKeydefaçonhiérarchique- Toutesleslignesayantlamêmeracineformeuncluster

- Idéalementlesclustersserontstockéessurlamêmemachine(saufsigigantesque)- Lesmises-à-jourdansunmêmeclustersontplusefficaces- Performancedesjointurespourlestraitementsetanalysesauseind’unmêmecluster(pasdeSort-Merge)

AAPL

AAPL-Ag11 AAPL-Ag75

AAPL-Ag11-35-Order AAPL-Agent75-65AAPL-Ag11-35-Exec

Distribution desRowkey

GOOG

GOOG-Ag11

GOOG-Ag11-35-Order

OrganisationduStockage

OrderBook (AAPL)Agent(AAPL– Ag11)Order (AAPL– Ag11– 35)Price(AAPL– Ag11- 35)Exec (AAPL– Ag11- 35)

Agent(AAPL- Ag75)Order (AAPL– Ag75– 65)

AAPL-Ag11-35-Price

OrderBook (GOOG)Agent(GOOG– Ag11)Order (GOOG– Ag11– 35)

RowKey :« OrderBook– Sender– ExtId – Type »

SCALED RISK

Page 21: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

21

LesSplitsdansHBase- Un« Split »dansHBaseconsisteàdécouperlatableenplusieursrégions- HBaserépartielestablesautomatiquementpuislesdéplaceverslesautresnœudsune

foisqu’oncommenceàinsérerungrandvolumededonnées . Exemple:

- UnseulSplitauniveaudelalettre«J»=>« aumilieu »pourbienrépartirlacharge

- Onpeuteffectuerun« Split »manueldansHBaseàtraversleHBaseShell:Split‘table-name’

Commande: n_splits =100create ‘table_name', 'cf',{SPLITS=>(1..n_splits).map {|i|"row-#{1000+i*(9999-1000)/n_splits}"}}

- Possibilitédeparamétrerlesplitparscriptlorsdelacréationdelatable:

SCALED RISK

Page 22: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Static &ReferenceData:Nested Entities

ColumnFamily

Column (qualifier) Value

cf1

TradeId 123TradeVersion 1TradeDate 03/09/2015

TradeQuantity 100

Side Buy

pGLE {Equity,Société Générale, Euronext, CAC40, 45€}

mXPAR {Euronext Paris, France, Cash}

- Exemple: Définition du produit sur une transaction (Trade <-> Product – Relation n-m)- Objectif: Eviter les étapes jointuresèDénormalisation des données- Utilisationde « Nested entities » avec la RowKey comme qualifier et ses attributs commevaleur

Le qualifier du produitest son identifiant

GET ‘trade’, ‘123’GET ‘trade’, ‘123’, {COLUMN=>’pGLE’}

Le qualifier est l’iddu marché

Tous les attributs d’unenested entities sontregroupés dans la mêmecellule

TradeId commerowkey

Possibilitédefiltrersurlequalifier« Produit »lorsdesscans 22

Page 23: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Compositions:Nested Entities encore…

23

- Exemple: Ensemble des flux de paiement sur une Transaction (Trade <- Cashflow– relation 1-n)- HBase: Les colonnes peuvent être définis dynamiquement à l’exécution- Un ensemble de K/Vs peuvent représenter une sous-entité ou un ensemble…

1

n

SCALED RISK

Page 24: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Compositions:Nested Entities suite…

RowKeyColumnFamily

ColumnQualifier Timestamp Value

GU002 info Counterpart 42139416667 HSBCWay 42139416667 BuyValueDate 42139416667 25/10/2014MaturityDate 42139416667 25/01/2015Notional 42139416667 5333581,33Ccy 42139416667 EURCashFlow_1_Date 42139416667 25/10/2014CashFlow_1_Flow 42139416667 -5333581,33CashFlow_2_Date 42139416667 25/01/2015CashFlow_2_Flow 42139416667 5333581,33

RowKeyColumnFamily

ColumnQualifier Timestamp Value

GU002_Trade info Counterpart 42139416667 HSBCWay 42139416667 BuyValueDate 42139416667 25/10/2014MaturityDate 42139416667 25/01/2015Notional 42139416667 5333581,33Ccy 42139416667 EUR

GU002_1_CF info Date 42139416667 25/10/2014Flow 42139416667 -5333581,33

GU002_2_CF info Date 42139416667 25/01/2015Flow 42139416667 5333581,33

- L’agencement est identique si on utilise des entités individuelles (1 row par entité)- Une seule ROW garantie les écritures et un stockage dans unmême HFile

è Performance à la lecture pour les traitements- Préparation pour persister le block et limiter les contentions (BulkLoad;BufferedMutator)

- Stratégie à utiliser pour le stockage des stress tests (ex: agrégation des calculs de risque)

Page 25: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Consolidated AuditTrail :HBaseVersionning

Ref Id Previous LastVersion Event EventDate Sender Order

Book Way Price Qty

AA001 1127 No Create 13/1/1510:10 Agent12 GOOG Buy 100 250

AA001 2356 1127 No Decrease 13/1/1517:59 Agent12 GOOG Buy 1 250

AA001 5467 2356 Yes Increase 13/1/1518:01 Agent12 GOOG Buy 100 250

RowKeyColumnFamily

ColumnQualifier Timestamp Value

AA001 info EventDate 42007969375 13/1/15 10:0042017690972 13/1/1517:5942018475694 13/1/1518:01

OrderBook 42007969375 GOOGSender 42007969375 Agent12Way 42007969375 BuyQuantity 42007969375 250Price 42007969375 100,00

42017690972 1,0042018475694 100,00

Event 42007969375 Create42017690972 Increase42018475694 Decrease

- TraçabilitédesévénementsestobligatoireenFinance;- Nouvellesréglementations imposentunmarquageàlaµspourleHFTavec±100µsecdedivergence!- LesEventssontsourcesd’information pour l’anti-fraudeetlaconnaissanceclient!

- SGBD:Logiqueàmettredansl’applicatifè TableHistoriqueouFlagLastVersion (SQLUpdaten’aidepas!)

Agent12asks for250GOOGat

100$at10:10am

Agent12decreases askprice forGOOGto1$at5:59pm

Agent12increasesask price onGOOGto100$at18:01pm

Page 26: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Pourconclure

Page 27: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

HBaseenFinance:Cen’estqueledébut

- « Schema Free »offredenombreusespossibilitésdemodélisationspourrépondreauxproblématiquestraitements/analysesdesbanques- Gestiondesschémasresteaucœurdelaproblématique

- LesdonnéesfinancièressontstructuréesmaissontévolutivesethétérogènesèBesoindeschémaexpliciteetdynamique- Métamodèleversionnépourdécrirelemodèleetl’associéauxdonnées

- DataSharding:CohérenceetisolationdestraitementsèTimestamp +External consistenttransactionlog

- Accèsauxdonnées:Indexsecondaire/Search- As-Of/As-At (bi-temporalité)

SCALED RISK

Page 28: HUG France : HBase in Financial Industry par Pierre Bittner (Scaled Risk CTO)

Questions?Merci!PierreBittner- @BittnerPierre