35
Usability through Software Design This require dealing with software Architecture and Design Group No . 01 ASSA MSSE Fall 15 Safwan Hashmi Sabah-ud-Din waqar Farrukh Latif

KDB+ Introduction

Embed Size (px)

DESCRIPTION

An Introduction to KDB+ and q programming.

Citation preview

Page 1: KDB+ Introduction

KDB+An In-Memory Database by [kx]

Page 2: KDB+ Introduction

What is Kdb+?

1. provides seamless scalability;2. runs on industry standard server platforms;3. is top-ranked in third-party benchmark testing;4. has an extremely small footprint, which makes

installation and maintenance fast and straightforward;5. easily accommodates available APIs for connectivity to

major external systems and modules;6. requires fewer developers, contributing to lower total

cost of ownership.

A high-performance column-store database with a built-in expressive query and programming language q. Used as a central repository to store time-series data within an enterprise, kdb+ supports real-time analysis of billions of records and fast access to terabytes of historical data. It also:

Page 3: KDB+ Introduction

Why Kdb+?

1. Widely used in finance sector as market data servers, back-ends for trading applications and investment funds and many other.

2. Top Financial Brands are using Kdb+3. Supports Big Data Analytics.4. Works over APL system. 5. Less then 1mb of product.6. Costs $100k+ for each CPU & worth each penny.7. $3000*/- for only 3 days training.

Page 4: KDB+ Introduction

• Recently has been awarded a contract by the U.S. Securities and Exchange Commission (SEC) for use of its kdb+ software in supporting its ongoing IT objectives.

• Kdb+ is widely used in finance sector as market data servers, back-ends for trading applications and investment funds and many other

• Kx has been fortunate as result of the recent rise in the Internet of Things (IoT). The company’s focus is on offering the best possible performance for its chosen (financial) market. It just happens that the (big data) issues faced by that market are exactly analogous to many IoT environments. Not only is kdb+ suitable for implementation for many of these use cases but, more importantly, the product has significant technical advantages in these areas. As a result, there may be significant expansion of the company’s user base within the IoT domain.

Page 5: KDB+ Introduction

WHO ARE USING KDB+

?

Page 6: KDB+ Introduction

End User Clients

Goldman Sachs , Morgan Stanley , Merrill Lynch , J.P. Morgan , Deutsche BankIEX , Shenzhen Stock Exchange , Oppenheimer Capital Markets , UniCredit Bank AG , DekaBank ,

ConvergEx , Commerzbank AG , Purdue Pharma L.P. , Independent Electricity System Operator , Total Gas & Power UK , RBC Capital Markets , Connor, Clark & Lunn Financial Group

Page 7: KDB+ Introduction

OEM Clients

Those who build on the Kx technology platform to develop powerful, innovative, and efficient solutions in a growing spectrum of markets and applications.

Page 8: KDB+ Introduction

PartnersFrom system configuration, support contracts, and application development to add-on solutions like dashboards and interfaces, our consulting partners offer a wide range of services and products that complement the kdb+ product.

Development improvements for Kdb+

Page 9: KDB+ Introduction

Kdb+ Internal system

• kdb contained the q language, a higher-level language built in k

• Q is the modern interface most programmers will use when interfacing with kdb+

• Q Built entirely a single K file• Contains a SQL-like interface and a rich set of data types

(tables, functions, dictionaries, lists)

s:{(,x)(,/{y@[x]'10^x*|/p[;y]=p,:,3/-- 3!p:!99}')/&~x}‐

Select count I by exchange,sym from quotes where date=2014.09.09, qty>100000

Page 10: KDB+ Introduction

PERFORMANCE

kdb+ is optimized for Big Data analytics. Offers greater speed and efficiency than typical RDBMS. Its native support for time series operations vastly improves both the speed and performance of queries, aggregation and analysis of structured data.kdb+ is also different from other popular databases because it has a built-in proprietary array language, q. This means that it operates directly on the data in the database, removing the need to ship data to other applications for analysis. kdb+ and q make full use of the intrinsic power of modern multi-core hardware architectures.

Page 11: KDB+ Introduction

Performance ResultsInsert Bulk Size Local (mps) Remote (mps)

1 1.742 0.025

10 23.256 0.259

100 66.667 1.957

1000 55.556 7.692

10000 49.261 8.718

15000 61.728 8.403

20000 48.077 9.747

25000 55.928 10.79

Mps=> Millions per second

System ConfigurationIntel(R) Core(TM) i3 CPU 550 @ 3.20GHz2 Core(s), 4 Logical Processor(s)4.00 GB RAM32bit Operating System.Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)

Page 12: KDB+ Introduction

SCALABILITY

It allow to scale easily as data volumes grow, without losing performance. It is built on the shoulders of a programming paradigm developed at IBM in the 1960s, which Kx has improved upon over many iterations in subsequent years.

Trading firms and financial institutions have used Kdb+ for lightning fast processing of vast amounts of data for over two decades.

Page 13: KDB+ Introduction

SPEED

FOR MANY BUSINESSES, THE PROMISE OF BIG DATA ANALYTICS IS THE ABILITY TO USE BOTH STREAMING AND THE VAST AMOUNTS OF HISTORICAL DATA EFFECTIVELY. THIS INCLUDES DATA THAT WILL ACCUMULATE OVER FUTURE YEARS, AS WELL AS DATA A BUSINESS MAY ALREADY HAVE WAREHOUSED BUT NEVER BEEN ABLE TO USE.

THE MEANS BY WHICH A DATABASE USES DATA STORAGE, BOTH IN-MEMORY AND ON-DISK, CAN MAKE A TREMENDOUS DIFFERENCE IN THE SPEED AND COST IN BIG DATA ANALYTICS. ONE FEATURE THAT REALLY SETS KDB+ APART IS ITS ABILITY TO COMBINE STREAMING, IN-MEMORY AND HISTORICAL DATA IN REAL-TIME ANALYTICS, THEN PLACE THE RESULTS IN THEIR FULL HISTORICAL CONTEXT.

KDB+'S EXCEPTIONAL SPEED IN ANALYZING DATA, WHEREVER IT IS STORED, ENABLES BUSINESSES TO VISUALIZE ITS COMPLEXITIES IN WAYS THEY FOUND IMPOSSIBLE BEFORE.

Page 14: KDB+ Introduction

Interfaces

• kdb+ has a very simple API, for easy connectivity to external graphical, reporting and legacy systems.

.NetJava

CPythonPhp

ScalaLua

Node.Js

Matlab

Lapack

Excel

JavaScripts

GPUsFLEX

Methematica

Forton RPerl

F#

C#

Page 15: KDB+ Introduction

Past & Future of KDB+

• PAST: A time-series database for performance-critical environments. Its technology is widely adopted by financial institutions around the world, including Morgan Stanley, RBC, Fidelity, Goldman Sachs, and IEX. The company counts the top ten global investment banks among its customers, many of whom deploy kdb+ as their enterprise-wide market data server.

• FUTURE: In recent years, the company has expanded into new sectors, including utilities, pharmaceuticals, oil and gas, and academic research. Kdb+ is ideally suited to these and other industries that rely heavily on vast data volumes and high-speed analytics.

Page 16: KDB+ Introduction

Sectors of Interest

• Investment Banking • Manufacturing (sensor data) • Sports Tracking (wearable computing) • Latency Monitoring • Telematics (BB) Car Insurance • Clinical Trial Cost Forecasting • Medical Supply Chain tracking • Tidal Energy • Telecommunications

Page 17: KDB+ Introduction

Information

• KDB+ has been awarded an SEC contract for use of its database software platform.

• #38 in The 2014 Tech 50 Moving out of the Lab.

Page 18: KDB+ Introduction

DEMO

Page 19: KDB+ Introduction

Thank you.