Datenbanksysteme - Wintersemester 2016/17

Werbung
Datenbanksysteme
Wintersemester 2016/17
Prof. Dr.-Ing. Sebastian Michel
TU Kaiserslautern
[email protected]
Data Layouts, OLTP/OLAP, In-Memory DBS
Komprimierung
Komprimierung
Schauen wir uns das Beispiel von zuvor nochmal an:
o0 C4
o1 C3
o2 C3
o3 C3
o4 C4
o5 C4
o6 C4
Die Anordnung in Spalten bringt ähnliche (vom Datentyp her, aber auch
oft lexikographisch/numerisch nah) Attributwerte zusammen.
Idee: Ersetze Daten durch kompaktere Repräsentation.
Potentielle Nachteile: Rechenaufwand bei Dekomprimierung (CPU
Kosten)
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
2 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Komprimierung
Komprimierung: Run-Length-Encoding (RLE)
ˆ Fasse Bereiche mit identischen Attributwerten
zusammen.
ˆ Ideal geeignet für Column-Stores, im Vergleich
zu Row-Stores, da Daten eines einzelnen
Attributs zusammen liegen.
ˆ Durch Sortierung kann noch besser
komprimiert werden.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Rang
C4
C3
(C4, 1)
C3
⇒ (C3,3)
C3
(C4,3)
C4
C4
C4
Datenbanksysteme, WS 16/17
3 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Komprimierung
Delta Coding
ˆ Speichere anstelle des tatsächlichen
Attributwerts die Differenz zum
vorherigen Attributwert.
ˆ Wie beim LRE kann Sortierung
Effektivität der Komprimierung
erhöhen.
ˆ Ebenfalls perfekt geeignet für
Column-Stores.
VorlNr
VorlNr
4052
4052
4630
578
5001
371
5022
21
5041 ⇒
19
5043
2
5049
6
5052
3
5216
164
5259
43
Die nun kleineren Zahlen benötigen nun offensichtlich weniger Bits und
können dementsprechend kompakter gespeichert werden (Bit Packing).
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
4 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Komprimierung
Dictionary Encoding
Benutze Dictionary, das Daten (Attributwerten) eine kompaktere
Stellvertreter-Repräsentation zuordnet.
Fachbereich
Informatik
Wirtschaftswissenschaften
Physik
Informatik
Elektrotechnik und ...
⇒
Mathematik
Biologie
Informatik
Wirtschaftswissenschaften
Elektrotechnik und ...
Prof. Dr.-Ing. S. Michel
Fachbereich
0000
0001
0010
0000
0011
0100
0101
0000
0001
0011
TU Kaiserslautern
Dictionary:
Fachbereich
Informatik
Wirtschaftswissenschaften
Physik
Elektrotechnik und ...
Mathematik
Biologie
Datenbanksysteme, WS 16/17
Encoding
0000
0001
0010
0011
0100
0101
5 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Weitere Data Layouts
Wiederholung: Speicher Hierarchie und Zugriffskosten
ˆ L1 cache reference 0,5 ns
ˆ L2 cache reference 7 ns
ˆ Main memory reference 100 ns
ˆ Disk seek 10 000 000 ns
D.h. unabhängig davon wie “langsam” ein wahlfreier Zugriff auf die
Festplatte ist, auch zwischen L1 Cache und L2 Cache bzw. zwischen L2
und RAM liegen je eine bzw. insgesamt zwei Größenordnungen!
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
6 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Weitere Data Layouts
Das PAX (Partition Attributes Across) Layout
Beobachtung: Anfragen brauchen oft nur wenige Attribute eines Tupels.
Column-Store hat potentiell hohe Kosten bei Tupel-Rekonstruktion.
Idee: Gruppiere die Attribute innerhalb einer Seite, damit der (CPU)
Cache besser ausgenutzt werden kann.
NSM PAGE
PAGE HEADER
Jane
RH1 0962
30 RH2 7658 John
45 RH3 3589 Jim 20 RH4
5523 Susan 52
PAX PAGE
PAGE HEADER
CACHE
0962 7658
3859 5523
Jane John Jim
30 52 45 20
block 1
Susan
....
30 52 45 20
: Partition Attributes Across (PAX), and its cache behavior. PAX partitions records into minipages
within each page. As we scan R to read attribute age,values are much more efficiently mapped onto cache blocks,
and the cache space is now fully utilized.
source: A. Ailamaki, D. DeWitt, M. Hill. Data Page Layouts for Relational
Databases on Deep Memory Hierarchies. VLDB Journal, 2002.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
7 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Weitere Data Layouts
Fractured Mirrors
Um sowohl OLTP als auch OLAP Anfragen effizient auswerten zu können
wird im Fractured-Mirrors Ansatz vorgeschlagen sowohl NSM als auch
DSM anzubieten.
D.h. Daten werden in zwei Layouts gespeichert: Zeilenorientiert und
Spaltenorientiert.
Man hat also eine Kopie der kompletten Datenbank, bloß in
unterschiedlichen Layouts.
Paper: R. Ramamurthy, D. DeWitt, Q. Su. A Case for Fractured Mirrors. VLDB,
2002.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
8 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Genealogy of Relational Database Management Systems
v6.0, 1986
OpenIngres 2.0, 1997
vR3, 2004
v9.0, 2006
v10, 2010
Monet Database System (Data Distilleries)
DABA (Robotron, TU Dresden)
Ingres v5.x, 1970s
Postgres
PostgreSQL
v1, 1995
v6, 1997
MonetDB
IBM
v7, 2000
Illustra
Informix
v1.0, 1980s
v4.0, 1990
v5.0, 1992
v6.0, 1994
C-Store
Informix
Sybase SQL Server
v4.0, 1990
PostgreSQL
v12.10, 2013
Red Brick
Microsoft SQL Server
H-Store
H-Store
Informix
Vertica Analytic DB
Volt DB
v11.9, 1998
Expressway 103
Sybase IQ v11, 1995
Watcom SQL Powersoft
CODD RIVER
Microsoft SQL Server
v12.5, 2001
v12.5.1, 2003
v15.0, 2005
v3, 1995
Vertica
v16.0, 2012
SAP
Sybase ASE
v15, 2009
Sybase SQL Anywhere
v1, 1992 v2, 1993
Microsoft Access
v12.0, 1999
v12, 1999
VoltDB
HP
code
brand
v1.0, 1987
v1.0, 1981
Greenplum
v11.70, 2010
DATAllegro
v3.0, 1988
BAY AREA PARK
v11.5, 1996 Sybase ASE
v10, 1993
v11, 2007
IBM Red Brick
Warehouse
v7.0, 1995
Netezza
v9, 2010
IBM Informix v10, 2005
v9.0, 2000
alpha, 1979
Pivotal
EMC
v8, 2005
Red Brick
Empress Embedded
VectorWise
Netezza
Greenplum
Berkeley Ingres
Ingres
VectorWise (Actian)
MonetDB (CWI)
v4, 1997
v5, 1999
v10, 2001
v11, 2003
Sybase IQ
v12, 2007
SQL Anywhere
v14, 2010
Access
v1, 1989
FoxPro
Oracle
v4.21, 1993
VisualFoxPro (Microsoft)
v6, 1994
v6.5, 1995 v7, 1998
mSQL
v3, 1983
v4, 1984
v5, 1985
v3.1, 1997
MySQL
v2, 1979
v9, 2005
v9i, 2001
v10g, 2003
v3.23, 2001
v4, 2003
v10, 2008
v10gR2, 2005
v4.1, 2004
1980s
ShareBase (BrittonLee)
MariaDB
v10, 2013
v5.5, 2010
Paradox
Oracle
v13.10, 2010
Aster Database
v5.1, 2004
v4, 1995
RELATIONAL CREEK
v1, 1988
Cloudscape
DB2/400
v6.0, 2005
v6.2, 2006
v12, 2007
v13.0, 2009
v14.0, 2012
Teradata
Teradata
Empress Embedded
RDB
v10.2, 2008
v8.1, 1998
Informix
Apache Derby
2010s
v6, 2008
IBM
DB2 z/OS v7, 2001
v6, 1999
v4, 1992
DB2 for VSE & VM
DB2 UDB v3, 1993
v2, 1988
Derby
DB2 UDB for iSeries
v5, 1997
v2, 1992
Solid DB
v1, 1983
TimesTen
TimesTen
JBMS
v7, 2010
SQL/DS
System/38
Infobright
Oracle
MariaDB
Corel
v6.1, 1997
v3, 1993
SQL/400
DB2
Oracle
v12c, 2013
Infobright
MySQL
Sun
NCR
DB2 MVS
System-R (IBM)
v11gR2, 2009
v5.1, 2008
Oracle
1990s
RDB (DEC)
BAY AREA PARK
v11, 2012
v11g, 2007
v5, 2005
InnoDB (Innobase)
Borland
Teradata v1, 1983
persons
v8i, 1999
v3.21, 1998
v7, 1992
Paradox (Ansa)
Multics Relational Data Store
(Honeywell)
v8, 2000
v8, 1997
v5.1, 1986
DB2 for iSeries
Derby
v9, 2007
v8, 2004
Transbase
v10, 2010
DB2 for z/OS
DB2 for VSE & VM
v5, 1996
v4, 1994
v6, 1999
v7, 2001
v8, 2003
TinyDB
Transbase
(Transaction Software)
IBM
v9, 2006
Solid DB
EXASolution
EXASolution
dBase
REDABAS (Robotron)
dBase (Ashton Tate)
Borland
IBM IS1
InterBase
GDBM
1970s
Berkeley DB
DBM
v1, 1991
v3, 1999
FileMaker
(Nashoba)
Siemens
Nonstop SQL
(Tandem)
v1, 1987 v2, 1989
AdabasD
(Software AG)
Claris (Apple) II, 1988
v1, 1985
v1.5, 2004
CODD RIVER
SQLite
v5, 2010
SAP HANA
P*TIME
SAP DB
BerkeleyDB
SAP
v1.7, 2002
HANA
MaxDB
MaxDB
Nonstop SQL
v3, 2011
Compaq
HP
FileMaker Pro v2, 1992 v3, 1995 v4, 1997 FileMaker Inc. v5, 1999
v7, 2004
v6, 2002
AdabasD
v11, 2011 v14, 2015
v8, 2005
Neoview
v9, 2007
v10, 2009
FileMaker
Felix Naumann, Jana Bauckmann, Claudia Exeler, Jan-Peer Rudolph, Fabian Tschirschnitz
Key to lines and symbols
Contact - Hasso Plattner Institut, Potsdam, [email protected]
v9, 2006CC
Publishing Date
v2, 2012
v1.8, 2005
Oracle
v1.6, 2001
DB2 for LUW
HSQLDB
v2.0, 2010
v2, 2006
2000s
v4, 2001
HSQLDB
Mariposa (Berkeley)
DDB4 (Nixdorf)
v1, 2003
SQLite
Sleepycat v2, 1997
NDBM
Gamma (Univ. Wisconsin)
VDN/RDS
Firebird
Firebird
Ashton Tate
Groton Database Systems
IBM Peterlee
Relational Test Vehicle
dBase Inc. InfiniDB
Acquisition
Versions
Discontinued
Branch (intellectual and/or code)
Crossing lines have no special semantics
Design - Alexander Sandt Grafik-Design, Hamburg
Version 5.0 - October 2015
http://www.hpi.uni-potsdam.de/naumann/projekte/rdbms_genealogy.html
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
9 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Hardware Enwicklung
“Tape is Dead, Disk is Tape ...” (Jim Gray, 2006)
Anschaffung unserer AG aus 2016: Server mit 48 Kernen (4 Intel E7-4830
v3, mit je 12 Cores/24 Threads), 1TB RAM ∼ 20k Euro.
Rechenbeispiel (aus Kemper):
ˆ Amazon hat 2010 Umsatz von 30 Mrd Euro erwirtschaftet.
ˆ Durchschnittlicher Produktpreis ca. 15 Euro. Also 2 Mrd
Bestellpositionen.
ˆ 100 Byte pro Bestellposition, ergeben eine Relation mit “nur” 200GB
Speichervolumen.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
10 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Hyperthread 1
Core 1
Core 2
Core 3
Core 4
Core 5
Core 6
Core 7
Core 8
Core 9
Hyperthread 2
768KB L1D 768KB L1I
3MB L2 Cache
Core 10 Core 11 Core 12
256GB
RAM
256GB
CPU
RAM
CPU
RAM
256GB
30MB LLC
RAM
256GB
Quick Path Interconnect (QPI)
CPU
Prof. Dr.-Ing. S. Michel
CPU
TU Kaiserslautern
Datenbanksysteme, WS 16/17
11 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
New Hardware Beispiel: Intels Xeon Phi
Quelle: Intel
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
12 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
New Hardware Beispiel: Intels Xeon Phi
Quelle: Intel
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
13 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Profiling eines traditionellen DBS
35%
Puffer-Verwaltung
30%
MehrbenutzerSynchronisation
12%
Logging
7%
nützlich
16%
OptimierungsPotential
Abbildung nach Kemper&Eickler.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
14 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Optimierungsmöglichkeiten eines HauptspeicherDBS
Pufferverwaltung:
ˆ Man verlässt sich auf die extrem effiziente virtuelle
Speicherverwaltung des Betriebssystems. D.h. keine Seitenverwaltung
mit Tuple-Indentifiers, keine Pufferverwaltung.
Mehrbenutzer- und Thread-Synchronisierung:
ˆ Parallelitätsgrad kann eingeschränkt werden. Wieso? Zeit pro TA sehr
viel geringer (keine Page-Misses mehr, die ∼ 10ms kosten). D.h.
sogar im sequentiellen (Ein-Benutzer) Betrieb viele tausend TAs pro
Sekunde möglich (bei einfachen OLTP Anfragen).
Logging/Protokollierung:
ˆ Auch in Hauptspeicherdatenbanken müssen Log-Einträge geschrieben
werden, wegen Durability Anforderung.
ˆ Idee: Durchsatzerhöhung durch Commit einer ganzen Gruppe von
Transaktionen.
ˆ Dieses Verfahren nennt man Group Commit.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
15 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Ziel: OLAP und OLTP im gleichen System
Hybride OLTP&OLAP
Hauptspeicher-Datenbanksysteme
++OLTP
++OLAP
Dedizierte OLAP-Engines
MonetDB, Vertica,
SAP T-Rex (BWA),
IBM ISAO (BLINK)
Dedizierte OLTP-Engines
VoltDB, SAP P*Time,
TimesTen, SolidDB,
viele Startups
--OLTP
--OLAP
Abbildung nach Kemper.
Nachfolgend werden einige neuere Ansätze beschrieben, die das Ziel
haben, gemischte Workloads von OLAP und OLTP Anfragen effizient zu
unterstützen.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
16 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Update Staging
Idee: Änderungen (updates, inserts, deletes) werden in einem sogenannten
Delta gesammelt und nur periodisch in die (lese-optimierte
Haupt-Datenbank) eingebracht.
OLTP
Transaktionen
a
b
c
d
e
i
f
g
h
j
...
OLAP
Transaktionen
Haupt-Datenbank
(lese-optimiert)
a'
Delta
e
rg
me
j'
Abbildung nach Kemper.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
17 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Memory Snapshots via Fork
OLAP
Transaktionen
OLTP
Transaktionen
Read a
c
d
Read a
b
a
fork
Abbildung nach Kemper.
ˆ Idee: Mit dem Unix fork Systembefehl wird Kindprozess mit
identischem Speicherabbild des Vaterprozesses erzeugt.
ˆ Aber (virtueller) Addressraum des Vater-Prozesses wird nicht sofort
komplett kopiert.
ˆ Sondern erst bei Änderung. Diesen Vorgang nennt man copy on
write/update.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
18 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Memory Snapshots via Fork: Copy on Write
OLAP
Transaktionen
OLTP
Transaktionen
c
Update a
a'
b
d
Read a
a
b
a'
copy on write
Abbildung nach Kemper.
ˆ Bei Änderungen der OLTP Transaktion wird eine Kopie des
ursprünglichen Speicherinhaltes für die lesenden (OLAP)
Transaktionen beibehalten.
ˆ Wenn fork zu einem Zeitpunkt aufgerufen wird, an dem keine TA
aktiv ist, dann bekommt OLAP Anfrage einen
transaktionskonsistenten
Zustand. Datenbanksysteme, WS 16/17
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
19 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
// e i n f a c h e r B e i s p i e l −Code f u e r f o r k und S i c h t b a r k e i t von A e n d e r u n g e n
#i n c l u d e <u n i s t d . h>
#i n c l u d e <v e c t o r >
#i n c l u d e <i o s t r e a m >
using std : : vector ;
using std : : endl ;
using std : : cout ;
struct Professor {
unsigned persnr ;
c h a r name [ 2 0 ] ;
char rang [ 3 ] ;
u n s i g n e d raum ;
char t e l e f o n [ 2 0 ] ;
};
i n t main ( )
{
v e c t o r <P r o f e s s o r > p r o f e s s o r e n ;
// ' ' Row−S t o r e ' '
p r o f e s s o r e n . p u s h b a c k ( ( P r o f e s s o r ) {2125 , ” S o k r a t e s ” , ”C4” , 2 2 6 } ) ;
pid t pid = fork ( ) ;
i f ( p i d >0) { // V a t e r−P r o z e s s
p r o f e s s o r e n . p u s h b a c k ( ( P r o f e s s o r ) {2127 , ” K o p e r n i k u s ” , ”C3” , 3 1 0 } ) ;
c o u t << ” V a t e r−P r o z e s s : ” << p r o f e s s o r e n . s i z e ( ) << ” T u p e l ” << e n d l ;
sleep (2);
}
e l s e { // Kind−P r o z e s s
sleep (1);
c o u t << ” Kind−P r o z e s s : ” << p r o f e s s o r e n . s i z e ( ) << ” T u p e l ” << e n d l ;
}
}
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
20 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Multiple zeitlich versetzte OLAP-Snapshots
c
OLTP
Transaktionen
d
b
a
b
c'
d
Read a
b
a'
b
a''
a'''
it
Ze
OLAP
Transaktionen
Abbildung nach Kemper.
ˆ Neuer Snapshot bei eintreffender OLAP-Anfrage. Oder
periodische Snapshots (z.B. alle paar Sekunden) + Warten oder auf
altem Snapshot ausführen.
ˆ Wozu kann letzteres führen? Client mit OLTP und OLAT Anfragen
sieht evtl. eigene Änderungen nicht.
ˆ Bei neuem Snapshot bei Eintreffen kann dies nicht passieren (d.h.
read your writes).
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
21 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Hauptspeicherdatenbanken und ACID
ˆ OLAP-Snapshots sind transaktionskonsistent und können als
Sicherungspunkte auf persistenten Speicher (oder Storage Server)
geschrieben werden.
ˆ Undo-Logs müssen nur zur Laufzeit einer Transaktion gehalten
werden und nicht darüber hinaus.
ˆ Dazu braucht man noch Redo-Informationen der abgeschlossenen
OLTP Transaktionen.
ˆ Diese werden nicht einzeln, sondern als größere Menge geschrieben,
vgl. group commit.
ˆ OLTP Transaktionen sind trivialerweise synchronisiert, da rein
sequentiell.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
22 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Redo-Logging und Datenbank-Backup
OLTP
Transaktionen
UndoLog
c
b
d
OLAP
Transaktionen
a
b
c'
d
a''
Ba
b
a'
b
it
s
es
z
ro
-P
Ze
up
ck
a'''
SpeicherServer
RedoLog
(Transaktionskonsistente
Datenbank)
Abbildung nach Kemper.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
23 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Weitere aktuelle Themen
ˆ Auswirkungen von nichtflüchtigem RAM (Non-volatile Memory), z.B.
Phase-change memory, auf Datenmanagement
ˆ Hardware-Transactional-Memory (HTM)
ˆ Indexstrukturen und Algorithmen zur Verbesserung der
Cache-Lokalität
ˆ Hochparallele Algorithmen (z.B. Sort-Merge-Joins)
ˆ Berücksichtigung von Non-Uniform-Memory-Access (NUMA)
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
24 / 25
Data Layouts, OLTP/OLAP, In-Memory DBS
Hauptspeicherdatenbanken
Literatur
ˆ Buch von Kemper & Eickler. Kapitel 20.
ˆ D. Abadi et al. The Design and Implementation of Modern
ˆ
ˆ
ˆ
ˆ
ˆ
Column-Oriented Database Systems.
http://db.csail.mit.edu/pubs/abadi-column-stores.pdf
Jens Dittrich. Patterns in Data Management. “Flipped Textbook”
mit Videos und vielen Quizzes.
G. Copeland and S. Khoshafian. A Decompositional Storage Model.
SIGMOD, 1985. http://users.csc.calpoly.edu/~dekhtyar/
560-Fall2012/papers/DSM-columns.pdf
S. Harizopoulos, D. J. Abadi, S. Madden, M. Stonebraker. OLTP
through the looking glass, and what we found there. SIGMOD, 2008.
A. Ailamani, D. DeWitt, M. Hill. Data Page Layouts for Relational
Databases on Deep Memory Hierarchies. VLDB Journal, 2002.
Alfons Kemper, Thomas Neumann: HyPer: A hybrid OLTP&OLAP
main memory database system based on virtual memory snapshots.
ICDE, 2011.
Prof. Dr.-Ing. S. Michel
TU Kaiserslautern
Datenbanksysteme, WS 16/17
25 / 25
Herunterladen