SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
www.informatik-aktuell.de
Michael Wittig
Datenbank am Limit
Spaltenorientiert als Ausweg
SELECT Datum, …
FROM …
WHERE
Symbol='Daimler' AND
Datum>=2015.01.01 AND
Zeit BETWEEN 11:00:00 AND 13:00:00
GROUP BY Datum
1. Domäne
„Finanzmarkt“
3.
spaltenorientierte
Datenbank
kdb+
4. echtzeit Datenbank
kdb+tick
2. (On-Disk)
Repräsentation
von Daten
Was sind
Finanzmarktdaten?
Zeit Käufer Verkäufer
11:00:00.000
11:00:00.009
11:00:00.025
11:00:00.207
11:00:00.555
11:00:00.873
5000 @ 84,81
4700 @ 84,81
1000 @ 84,82
7000 @ 84,81
2000 @ 84,81
1500 @ 84,81
500 @ 84,82
200 @ 84,82
900 @ 84,83
800 @ 84,82
200 @ 84,82
100 @ 84,82
Daimler Aktie
sortiert,
unregelmäßig
Zeitreihen
Was sind
Finanzmarktdaten?
Tick-Daten
Volumen?
durchschnittlich 5 Quotes / Sekunde
Daimler Aktie
maximal 200 Quotes / Sekunde
Aktie
Börse
x10
Derivate
Optionen
x100
Futures
x5
Index
x3
Ändert sich der Quote…
append only
On-Disk
Repräsentation
Wie speichert meine Datenbank die Daten?
zeilenorientierter Ansatz
Zeit Käufer Verkäufer
Lokalität
Record
Disk
BSON
Padding
http://docs.mongodb.org/manual/core/storage/
Page
Disk
http://www.postgresql.org/docs/9.4/static/storage-page-layout.html
Tuple
Page Header
Free Space
Wir bauen eine
zeilenorientierte
Datenbank
Einschränkung:
Sortiert nach Zeit
Tabelle => Ordner
Zeile => Datei
/Datenbank
/Daimler_Quotes
/1.dat
/2.dat
/3.dat
/4.dat
/5.dat
/Datenbank
/Daimler_Quotes
/1.dat
/2.dat
/3.dat
/4.dat
/5.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
/Datenbank
/Daimler_Quotes
/1.dat
/2.dat
/3.dat
/4.dat
/5.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
/Datenbank
/Daimler_Quotes
/123.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
Zeit 10:00:03
Käufer_Menge 7000
Käufer_Preis 84,81
Verkäufer_Menge 84,82
Verkäufer_Preis 1000
> 10:00:00
Binäre Suche über alle
Dateien *.dat
/Datenbank
/Daimler_Quotes
/1.dat
/2.dat
/3.dat
/4.dat
/5.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
/Datenbank
/Daimler_Quotes
/124.dat
/125.dat
/126.dat
/127.dat
/…
Lese alle Dateien ab
124.dat
Daten
Volumen
gelesen
~ 90 %
spaltenorientierter Ansatz
Zeit Käufer Verkäufer
Lokalität
Wir bauen eine
spaltenorientierte
Datenbank
Einschränkung:
Sortiert nach Zeit
Tabelle => Ordner
Spalte => Datei
/Datenbank
/Daimler_Quotes
/Zeit.dat
/Käufer_Menge.dat
/Käufer_Preis.dat
/Verkäufer_Menge.dat
/Verkäufer_Preis.dat
/Datenbank
/Daimler_Quotes
/Zeit.dat
/Käufer_Menge.dat
/Käufer_Preis.dat
/Verkäufer_Menge.dat
/Verkäufer_Preis.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
/Datenbank
/Daimler_Quotes
/Zeit.dat
/Käufer_Menge.dat
/Käufer_Preis.dat
/Verkäufer_Menge.dat
/Verkäufer_Preis.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
/Datenbank
/Daimler_Quotes
/Zeit.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
Zeile Daten
…
120 09:59:51
121 09:59:57
123 10:00:03
124 10:00:12
…
> 10:00:00
Binäre Suche über
eine Datei Zeit.dat
sortiert
/Datenbank
/Daimler_Quotes
/Käufer_Preis.dat
SELECT Käufer_Preis FROM
Daimler_Quotes WHERE Zeit>10:00:00
Zeile Daten
123 84,81
124 84,82
125 84,82
126 84,81
127 84,80
…
Lese eine Datei
Käufer_Preis.dat erst
ab Zeile 123
Daten
Volumen
gelesen
~ 25 %
Optimierung?
Partition => Ordner
/DaimlerQuotes
/2015-01-01
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-02
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-03
/DaimlerQuotes
/2015-01-01
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-02
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-03
SELECT Käufer_Preis FROM
DaimlerQuotes WHERE
Datum=2015-01-02 AND
Zeit>10:00:00
/DaimlerQuotes
/2015-01-01
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-02
/Zeit.dat, Käufer_Preis.dat, …
/2015-01-03
SELECT Käufer_Preis FROM
DaimlerQuotes WHERE
Datum=2015-01-02 AND
Zeit>10:00:00
spaltenorientierte Vorteile
• nur benötigte Partitionen lesen
• nur benötigte Spalten lesen
• Sortierung ausnutzen
Spalte => Array
„The layout of data
structures in memory can
have a significant impact
on performance because of
the architecture of caches
in modern processors.“
Evolution and Practice: Low-latency Distributed Applications in Finance, ACM Queue, Volume 13, issue 4
http://queue.acm.org/detail.cfm?ref=rss&id=2770868
http://www.benstopford.com/2015/04/28/elements-of-scale-composing-and-scaling-data-platforms/
Wie analysieren die
größten Finanzinstitute
der Welt Zeitreihen?
Was ist kdb+?
• In-Memory Datenbank mit
Persistenzschicht
• Spaltenorientiert
• Abfragesprache Q oder Q-SQL
• Daten liegen im Speicher, in Transit und
auf Festplatte im selben Format vor
select max kauf_preis
by datum
from quotes
where symbol=`Daimler
datum | kauf_preis
————————————————————————
2015-01-02 | 75,57
2015-01-03 | 74,81
2015-01-04 | 76,13
Demo
Was kdb+ nicht ist
• normale Datenbank
• weit verbreitet
Echtzeit
und
Historie
kdb+tick
Quote
Pub/Sub
System
aktueller Tag
Historie
(< aktueller Tag)
00:00:00
Tickerplant
• Setzen eines Zeitstempels: garantiert Sortierung
• Speichern der Daten in einem Logfile
• Publish/Subscribe Mechanismus
• Initiierung des Endofday Events beim wechseln
des Tages (00:00:00 Uhr)
• Input: 100.000 Werte / Sekunde (1 Thread)
Chains
Quote
10 Sekunden
Aggregation
15 Minuten
Aggregation
Tages Volumen
Tages Hoch/Tief
Konsument
Echtzeit
Datenbank
• subskribiert beim Start alle Daten bei der tp
• liest das aktuelle Logfile ein
• hält alle Daten des aktuellen Tages im Speicher
• persistiert alle Daten des Tages auf Platte bei
Endofday Event
Historische
Datenbank
• beinhaltet alle Daten, die älter als der aktuelle Tag
sind
Demo
http://kx.com
kostenlose
32 bit
Testversion
http://manning.com/wittig
Michael Wittig
mwittig@tecracer.de
SaaS Zeitreihendatenbank
TimeSeries.Guru
Alternativen?
Amazon Redshift
Amazon
Kinesis

Weitere ähnliche Inhalte

Andere mochten auch

Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in Oracle
Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in OracleJonas Gassenmeyer – IT-Tage 2015 – Materialized Views in Oracle
Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in OracleInformatik Aktuell
 
Top Qualities to Select the Best SEO Company
Top Qualities to Select the Best SEO CompanyTop Qualities to Select the Best SEO Company
Top Qualities to Select the Best SEO Companyhanapatel patel
 
Gera Developments : Real Estate in Pune
Gera Developments : Real Estate in PuneGera Developments : Real Estate in Pune
Gera Developments : Real Estate in PuneGera Developments
 
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Informatik Aktuell
 
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mk
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mkThorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mk
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mkInformatik Aktuell
 
Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Darren Duke
 
PECB Webinar: QMS Risk Assessment
PECB Webinar: QMS Risk AssessmentPECB Webinar: QMS Risk Assessment
PECB Webinar: QMS Risk AssessmentPECB
 

Andere mochten auch (7)

Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in Oracle
Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in OracleJonas Gassenmeyer – IT-Tage 2015 – Materialized Views in Oracle
Jonas Gassenmeyer – IT-Tage 2015 – Materialized Views in Oracle
 
Top Qualities to Select the Best SEO Company
Top Qualities to Select the Best SEO CompanyTop Qualities to Select the Best SEO Company
Top Qualities to Select the Best SEO Company
 
Gera Developments : Real Estate in Pune
Gera Developments : Real Estate in PuneGera Developments : Real Estate in Pune
Gera Developments : Real Estate in Pune
 
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
Andreas Jordan – IT-Tage 2015 – Flashback – Warum Oracle Zeitreisen anbieten ...
 
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mk
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mkThorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mk
Thorsten Bruhns – IT-Tage 2015 – Monitoring von Oracle-Datenbanken mit check_mk
 
Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)
 
PECB Webinar: QMS Risk Assessment
PECB Webinar: QMS Risk AssessmentPECB Webinar: QMS Risk Assessment
PECB Webinar: QMS Risk Assessment
 

Ähnlich wie Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit – Spaltenorientierung als Ausweg

CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieAndreas Buckenhofer
 
Caching: In-Memory Column Store oder im BI Server
Caching: In-Memory Column Store oder im BI ServerCaching: In-Memory Column Store oder im BI Server
Caching: In-Memory Column Store oder im BI ServerAndreas Buckenhofer
 
Nagios Conference 2006 | SAP Monitoring I by Michael Kienle
Nagios Conference 2006 |  SAP Monitoring I by Michael KienleNagios Conference 2006 |  SAP Monitoring I by Michael Kienle
Nagios Conference 2006 | SAP Monitoring I by Michael KienleNETWAYS
 
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2Team Internet
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015Marcel Franke
 
Etecture Blockchain MeetUp
Etecture Blockchain MeetUpEtecture Blockchain MeetUp
Etecture Blockchain MeetUpRoman Kessler
 
Systematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenSystematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenJan Christian Krause
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzenAWS Germany
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...Trivadis
 
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der RingvorlesungVorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der RingvorlesungCommunity ITmitte.de
 
Die Ausprägungen des digitalen Zwillings und deren Nutzen
Die Ausprägungen des digitalen Zwillings und deren NutzenDie Ausprägungen des digitalen Zwillings und deren Nutzen
Die Ausprägungen des digitalen Zwillings und deren NutzenTransaction-Network
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...inovex GmbH
 
Traumziel MV: Relaunch eines Tourismusportals mit Typo3 Extbase und Fluid
Traumziel MV:  Relaunch eines Tourismusportals mit Typo3 Extbase und FluidTraumziel MV:  Relaunch eines Tourismusportals mit Typo3 Extbase und Fluid
Traumziel MV: Relaunch eines Tourismusportals mit Typo3 Extbase und FluidQbus Werbeagentur
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenAmazon Web Services
 
Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business IntelligenceDataLion
 
Unic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?panagenda
 

Ähnlich wie Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit – Spaltenorientierung als Ausweg (20)

CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
 
Caching: In-Memory Column Store oder im BI Server
Caching: In-Memory Column Store oder im BI ServerCaching: In-Memory Column Store oder im BI Server
Caching: In-Memory Column Store oder im BI Server
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Nagios Conference 2006 | SAP Monitoring I by Michael Kienle
Nagios Conference 2006 |  SAP Monitoring I by Michael KienleNagios Conference 2006 |  SAP Monitoring I by Michael Kienle
Nagios Conference 2006 | SAP Monitoring I by Michael Kienle
 
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
MongoDB-Skalierung auf echter Hardware vs. Amazon EC2
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
 
Etecture Blockchain MeetUp
Etecture Blockchain MeetUpEtecture Blockchain MeetUp
Etecture Blockchain MeetUp
 
Systematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenSystematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-Verträgen
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
 
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
 
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der RingvorlesungVorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
Vorstellung der Aufgabenstellung der lpa GmbH im Rahmen der Ringvorlesung
 
Die Ausprägungen des digitalen Zwillings und deren Nutzen
Die Ausprägungen des digitalen Zwillings und deren NutzenDie Ausprägungen des digitalen Zwillings und deren Nutzen
Die Ausprägungen des digitalen Zwillings und deren Nutzen
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
Traumziel MV: Relaunch eines Tourismusportals mit Typo3 Extbase und Fluid
Traumziel MV:  Relaunch eines Tourismusportals mit Typo3 Extbase und FluidTraumziel MV:  Relaunch eines Tourismusportals mit Typo3 Extbase und Fluid
Traumziel MV: Relaunch eines Tourismusportals mit Typo3 Extbase und Fluid
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
 
Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business Intelligence
 
Unic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei Thieme
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 

Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit – Spaltenorientierung als Ausweg