+ All Categories
Home > Data & Analytics > "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

"Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

Date post: 16-Apr-2017
Category:
Upload: dataconomy-media
View: 174 times
Download: 5 times
Share this document with a friend
35
Kx Introduction November 2016
Transcript
Page 1: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

Kx Introduction

November 2016

Page 2: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

2 | KX SYSTEMS

Agenda

• About

• Kx Technology

• Solutions

• Technical Overview

• Resources

• Q & A

Page 3: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

3 | KX SYSTEMS

About

First Derivatives plc

People 1,600 FTEs

Locations

Ireland, London, New York, Singapore,

Sydney, Tokyo, Toronto, Zurich

History

Founded in 1996 Public listed Company

Always Profitable

Divisions

Kx

Big Fast Data

Capital Markets Consulting

Domain experts Technology experts

MRP/Prelytix Digital marketing

resources

Our Software

Kx

Streaming Analytics, In Memory Computing, - the market standard

Tools for Kx

Develop, Deploy, Visualize

Industry Solutions

Powered by Kx Implemented and supported by us

Page 4: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

4 | KX SYSTEMS

Kx Technology Overview

• Integrated columnar database & programming system

• Streaming, real time and historical data

• Built for massive data volumes

• In-database analytics

• Parallelism

• Compression

• More

The kdb+ database Features

• Interpreted

• Event-driven

• Functional

• Array / Vector

• Query

• Time-series

q Programming Language

Page 5: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

5 | KX SYSTEMS

Tools for Kx Solutions

Solutions Overview

• Dashboards for Kx

• Analyst for Kx

• Control for Kx

• Stream for Kx

• Kx for Algos

• Kx for Flow

• Kx for Monitoring

• Kx for Pharma

• Kx for Surveillance

• Kx for Sensors

• Kx for Telcos

Visualise &

Discover

Architect &

Manage

Enterprise Concepts

Page 6: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

6 | KX SYSTEMS

kdb+

Technical Overview

Page 7: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

7 | KX SYSTEMS

kdb+

• Integrated columnar database & programming system

• Streaming, real time and historical data

• 32 bit free version

• 64 bit licensed version

Page 8: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

8 | KX SYSTEMS

kdb+ Features

• Standard OS & hardware

• In-database analytics

• Compression

• Parallelism

• Interfaces

Page 9: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

9 | KX SYSTEMS

q programming language

• Functional

• Array/Vector

• Query

• Interpreted

• Time-series

Page 10: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

10

q Language

Seamless database and data manipulation language • We are fast not only due to data architecture, our native

programming language, q, runs inside the database not in separate processes with costly data passing.

• We are one of the few fully 64 bit databases and unique in having time as a native type, with nanosecond resolution and a full set of operations over time.

Quick to Deliver • Unlike many compile-link and run approaches q is

dynamic allowing much shorter development and deployment cycles

Allows you to get more from less code • q is terse - this means a smaller code base to maintain

and debug (one line in q versus many of Java).

Other Key Features • Array/Vector Language • Parallelism • Native Compression

Java

Project Euler Problem 1* in Java

Project Euler Problem 1* in q

*Find the Sum of all multiples of 3 or 5 below 1000. For more information on the Euler Programming Problems see - https://projecteuler.net

Page 11: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

11

Sample q query

select open: first price, high: max price, low: min price, close: last price from trade where date = 2013.05.01, sym = `AAPL

Page 12: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

12

q vs. standard SQL

• q supports order for faster execution

• q eliminates many joins

• Standard SQL does not enforce row order

• Built-in support for CSV, JSON & XML

• higher productivity & less maintenance

Page 13: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

13

q vs. standard SQL

q:

select rev wavg s.n=`BRAZIL by o.d.year from l where

o.c.n.r=`AMERICA, o.d.year in 1995 1996, p.t=`$"ECONOMY ANODIZED STEEL"

SQL:

select year,sum(case when name='BRAZIL' then rev else 0 end)/sum(rev) from(

select extract(year from o.d)as year,l.x*(1-l.xd) as rev,n2.name

from p,s,l,o,c,n n1,n n2,r

where p.p=l.p and s.s=l.s and l.o=o.o and o.c=c.c and c.n=n1.n and n1.r=r.r and r.name='AMERICA'

and s.n=n2.n and o.d between date'1995-01-01' and date'1996-12-31' and

p.t='ECONOMY ANODIZED STEEL')t

group by year order by year

Page 14: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

14

Parallel queries in q

Serial:

calcEvent each eventTypes

Parallel:

calcEvent peach eventTypes

Page 15: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

15

Time-Series Analysis

• Native temporal data types

• high-precision (nanosecond)

• temporal arithmetic

• asof join/bi-temporal joins

• join time-series on-the-fly

Page 16: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

16

Time-Series Analysis cont’d

select count i by userAgent,5 xbar time.minute from events where date within (.z.D - 7;.z.D), eventType=`login

aj[`time; select time,price from trade where date=last date,sym=`MSFT; select time,bid,ask from quote where date=last date,sym=`MSFT]

Page 17: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

17

q v Hive ETL comparison

q:

`product_dtl set (“ISFS”; enlist “,”) 0: `input.txt;

Hive:

create table product_dtl ( product_id: int, product-name: string, product_price: float, product_category: string) rows format delimited fields terminated by ',' ;

describe product_dtl;

load data local inpath ’input.txt' into table product_dtl;

Hive –f /home/cloudera/sample.sql

Page 18: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

18

Streaming, Real-Time and Historical Data

Page 19: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

19 | KX SYSTEMS

Sample Architecture

Page 20: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

20 | KX SYSTEMS

Kx Solutions

Technical Overview

Page 21: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

21 | KX SYSTEMS

Dashboards for Kx

Page 22: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

22 | KX SYSTEMS

Analyst for Kx

Page 23: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

23 | KX SYSTEMS

Streams for Kx

Fast Data Management

• Clustered services

• Load-balancing

• Failover

• Automated recovery

• Query Manager

• Messaging Server

• Alert Framework

• File Watchers & Loaders

• Scheduling

Page 24: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

24 | KX SYSTEMS

Kx

Resources

Page 25: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

25 | KX SYSTEMS

Resources – Wiki Page

Page 26: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

26 | KX SYSTEMS

Resources – Kx Community

Page 27: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

27 | KX SYSTEMS

Resources – Forum & Google Group

Page 28: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

28 | KX SYSTEMS

Resources – Github

Page 29: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

29 | KX SYSTEMS

Resources – Q For Mortals

Page 30: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

30 | KX SYSTEMS

Resources – Q Tips

Page 31: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

31 | KX SYSTEMS

Resources – Free 32-bit download

Page 32: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

32 | KX SYSTEMS

Resources – Kx Community Meetups

Page 33: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

33 | KX SYSTEMS

Resources – Lecture Series

Page 34: "Introduction to Kx Technology", James Corcoran, Head of Engineering EMEA at First Derivatives

34 | KX SYSTEMS

Thank You.

kx.com @kxsystems


Recommended