khazeni@ce.sharif.edu
DRAM
MDBI
IMDB
BDRD
I/O
MDBI
ATM
IMDB
IMDB
IMDB
RAM
I/O
IMDB
819
IMDB
IMDB
REDOUNDO
514
IMDB
IMDB
IMDB
BTET
ETCOMMITABORT
BCECckptid
BCEC
BCEC
ckptid
AFIMTIDafim
BFIMTIDbfim
BTTID0
ETTIDCOMMITABORT
BCchptid0
ECchptid0
28
IMDB
IMDB
WAL
5111226
11UNDO
WAL14
Commit
DBMS
REDO
WALCommitDRDB
IMDB
LAW
REDO
BC
REDO
SSD
I/O
IMDB
IMDB
I/O
REDOLAW
IMDB
IMDB
15
IMDB
27
2324
n
n
.
22
LAW
1t1P2t
IMDB1P
3t1P
IMDB1P
LAW
AFIMBC
BC
REDO
LBC
REDO
IMDB
REDO
LBC
IMDB
IMDB
LAWLBC
LBC
REDO
BC
REDONEREDO
SSD
LAW
IMDB
LAW
19
UNDO
17
UNDO
WAL
REDO
Dali
LAW
LAW
972021
IMDB
IMDB
IMDB
IMDBDRDB
DBMS
18
10
12
3
IMDB
13
1315
13
ORPRS
FR
13
ORP
SRORP
FRORP
FR
13
20
IMDB
IMDB
DaliAT&TFast PathIBM
HekatonMicrosoftTimesTen
OracleDali
Dali
MMDBAT&T
16
17
REDO
I/O
UNDOREDO
UNDO
UNDOREDO
UNDO
UNDOREDO
Dali6
Fast Path
Fast Path
UNDO
10
SQL Server Hekaton
HekatonMicrosoft
SQL Server 2014
1
2
Hekaton
WAL
Hekaton
I/O
Hekaton
Hekaton
DataDelta
DataDelta
Data
INSERTUPDATE
Data
Delta
DataDelta
DataDelta
Delta
Hekaton
DataDelta
Data
Data
Delta
I/O
SQL Server
Hekaton
eltaD
Delta
Data
Oracle TimesTen
TimesTenHP
Oracle
4
TimesTen
WAL
imesTenT
TimesTen
TimesTen
TimesTen
RAM
MMDB
WALCommit
LAW
I/O
LAW
[1] C. Diaconu, C. Freedman, E. Ismert, P.A. Larson, P.
Mittal, R. Stonecipher, N. Verma and M. Zwilling,
Hekaton: SQL S -Optimized OLTP
Engine, Hekaton: SQL server's memory-optimized
OLTP engine, In Proceedings of the 2013 ACM
SIGMOD International Conference on Management
of Data, 2013.
[2] P.K. Larson, S. Blanas, C. Diaconu, C. Freedman,
J. M. Patel and M. Zwilling, High-Performance
Concurrency Control Mechanisms for Main-Memory
Databases, PVLDB 5(4): 298-309, 2011.
[3] W. Zheng, S. Tu, E. Kohler, and B. Liskov. Fast
databases with fast durability and recovery through
multicore parallelism. In SOSP, 2014.
[4] T. Lahiri, M. A. Neimat, and S. Folkman. Oracle
TimesTen: An In-Memory Database for Enterprise
Applications. IEEE Data Engineering Bulletin, 36(2):
6-13, 2013.
[5] P .A. Bernstein, V. Hadzilacos, and N.Goodman.
Concurrency Control and Recovery in Database
Systems. Addison-Wesley Publishing Company, 1987.
[6] P. Bohannon, R. Rastogi, A. Silberschatz, and
S. Sudarshan. Multi-level recovery in the Dali storage
manager. Technical report, AT&T Bell Labs Internal
Report, 1995.
[7] M. H. Eich. Main memory database recovery. In
Proceedings of ACM-IEEE Fall Joint Computer
Conference, pages 1226-1232, 1986. 5
[8] M. H. Eich. A classification and comparison of main
memory database recovery techniques. In Proceedings
of the IEEE International Conference on Data
Engineering, pages 332-339, 1987.
[9] H. Garcia-Molina and C. A. Polyzois. Issues in
disaster recovery, In 35th IEEE Compcon 90, pages
573-577, 1990.
[10] H. Garcia-Molina and K. Salem, Main memory
database systems: An overview. IEEE Transactions on
Knowledge and Database Engineering, 4(6):509-516,
1992.
[11] J. Gray, Notes on data base operating systems. In
R. Bayer, R.N. Graham, and G. Seegmueller, editors,
Lecture Notes on Computer Science Volume 60.
Springer-Verlag, 1978.
[12] J. Gray and A. Reuter. Transaction Processing:
Concepts and Techniques. Morgan Kaufmann
Publishers, 1993.
[13] L. Gruenwald and M. H. Eich. MMDB reload
algorithms. In Proceedings of the ACM SIGMOD
International Conference on Management of Data,
pages 397-405, 1991.
[14] T. Haeder and A. Reuter, Principles of transaction-
oriented database recovery, ACM Computing Surveys,
15(4):287-317, 1983.
[15] Robert B. Hagmann. A crash recovery scheme for a
memory resident database system. IEEE Transactions
on Computers, C-35(9):839-843, 1986.
[16] H. V. Jagadish, D. Lieuwen, R. Rastogi, A.
Silberschatz, and S. Sudarshan. Dali: A high
performance main memory storage manager. In
Proceedings of the 20th Conference on Very Large
Datab ases, Morgan Kaufman pubs. (Los Altos CA),
1994.
[17] H. V. Jagadish, A. Silberschatz, and S. Sudarshan.
Recovering from main-memory lapses. In
Proceedings of the 19th Conference on Very Large
Databases, Mor gan Kaufman pubs. (Los Altos CA),
D, 1993.
[18] T. J. Lehman and M. J. Carey . A recovery algorithm
for a high-performance memory-resident database
system. In 19 ACM SIGMOD Conf. on the
Management of Data, 1987.
[19] T. J. Lehman and M. J. Carey . A recovery algorithm
for a high-performance memory-resident database
system. In Proceedings of the 1987 ACM-SIGMOD
International Conference on Management of Data,
pages 104-117, 1987.
[20] E. Levy and A. Silberschatz. Incremental recovery in
main memory database systems. IEEE Transactions
on Knowledge and Data Engineering, 4(6), 1992.
[21] K. Li and J. F. Naughton. Multiprocessor main
memory transaction processing. In Proceedings of
International Symposium on Databases in Parallel
and Distributed Systems,1988.
[22] X. Li, M. H. Eich, V.J. Joseph, Z. Gulzar, C.H. Corti,
and M. Nascimento. Checkpointing and recovery in
partitioned main memory databases. In Proc.
IASTED/ISMM International Conference on
Intelligent Information Management Systems, 1995.
[23] J. L. Lin and M. H. Dunham. Dynamic segmented
fuzzy checkpointing for main memory databases.
1995.
[24] J.L. Lin and M. H. Eich, Segmented fuzzy
checkpointing for main memory databases. Technical
Report CSE9442, Southern Methodist University,
Dept. of Computer Science and Engineering, Dallas
(TX), 1994.
[25] Jim Lyon. Tandem's remote data facility, In 35th IEEE
Compcon 90, pages 562-567, 1990.
[26] K. Rothermel and C. Mohan, Aries/nt: A recovery
method based on write-ahead logging for nested
transactions. In Proceedings of the Fifteenth
International Conference on Very Large DataBases,
pages 337-346, 1989
[27] K. Salem and H. Garcia-Molina. Checkpointing
memory-resident databases. In Proc. IEEE CS Intl.
Conf. No. 5 on Data Engineering, 1989.
[28] Joost S. M. Verhofstad. Recovery techniques for
database systems, ACM Computing Surveys,
0(2):167-195, 1978.
1- Dynamic Random Access Memory (DRAM)
2- In-memory Database (IMDB)
3- Disk Resident Database (DRDB)
4- Throughout
5- Automatic Teller Machine (ATM)
6- Reserve
7- Telephone switching
8- Random Access Memory (RAM)
9- Nonvolatile memory
10- Archive memory
11- Checkpoint
12- Reloading
13- After image
14- Before image
15- Begin Transaction (BT)
16- End Transaction (ET)
17- Begin Checkpoint (BC)
18- End Checkpoint (EC)
19- Offset
20- Idempotence
21- Fuzzy
22- Write Ahead Logging (WAL)
23- Undone
24- Solid-State Disk (SSD)
25- Input/Output (I/O)
26- Non-fuzzy
27- Log-driven
28- Hagmann
29- Dumping
30- Salem
31- Garcia-Molina
32- Dirty data
33- Lin
34- Dunham
35- Segmented
36- Moving window
37- Round-robin
38- Li
39- Backward
40- Long-lived
41- Transaction-consistent
42- Action-consistent
43- Lehman
44- Carey
45- Index
46- Jagadish
47- Occurrence frequency of the reload process
48- Pareto
49- Multicore parallelism
50- Reload prioritization
51- Access frequency
52- Transaction deadline
53- Gruenwald
54- Ordered Reload with Prioritization (ORP)
55- Smart Reload (SR)
56- Frequency Reload (FR)
57- Reload granularity
58- Preempt
59- Atomic
60- Levy
61- Silberschatz
62- Multi-level
63- Group commit
64- Optimistic multi-version
65- Latch
66- Bottleneck
67- Checkpoint file inventory
68- Indexing
69- Timestamp range
70- Buffer
71- Root page
72- Thread
73- Hewlett-Packard (HP)
74- Multi-threaded logging mechanism
75- Delayed-durability

MMDB_challenges

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    UNDO UNDOREDO Dali6 Fast Path Fast Path UNDO 10 SQLServer Hekaton HekatonMicrosoft SQL Server 2014 1 2 Hekaton WAL Hekaton I/O Hekaton Hekaton DataDelta DataDelta Data INSERTUPDATE Data Delta
  • 9.
  • 10.
    MMDB WALCommit LAW I/O LAW [1] C. Diaconu,C. Freedman, E. Ismert, P.A. Larson, P. Mittal, R. Stonecipher, N. Verma and M. Zwilling, Hekaton: SQL S -Optimized OLTP Engine, Hekaton: SQL server's memory-optimized OLTP engine, In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, 2013. [2] P.K. Larson, S. Blanas, C. Diaconu, C. Freedman, J. M. Patel and M. Zwilling, High-Performance Concurrency Control Mechanisms for Main-Memory Databases, PVLDB 5(4): 298-309, 2011. [3] W. Zheng, S. Tu, E. Kohler, and B. Liskov. Fast databases with fast durability and recovery through multicore parallelism. In SOSP, 2014. [4] T. Lahiri, M. A. Neimat, and S. Folkman. Oracle TimesTen: An In-Memory Database for Enterprise Applications. IEEE Data Engineering Bulletin, 36(2): 6-13, 2013. [5] P .A. Bernstein, V. Hadzilacos, and N.Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Publishing Company, 1987. [6] P. Bohannon, R. Rastogi, A. Silberschatz, and S. Sudarshan. Multi-level recovery in the Dali storage manager. Technical report, AT&T Bell Labs Internal Report, 1995. [7] M. H. Eich. Main memory database recovery. In Proceedings of ACM-IEEE Fall Joint Computer Conference, pages 1226-1232, 1986. 5 [8] M. H. Eich. A classification and comparison of main memory database recovery techniques. In Proceedings of the IEEE International Conference on Data Engineering, pages 332-339, 1987. [9] H. Garcia-Molina and C. A. Polyzois. Issues in disaster recovery, In 35th IEEE Compcon 90, pages 573-577, 1990. [10] H. Garcia-Molina and K. Salem, Main memory database systems: An overview. IEEE Transactions on Knowledge and Database Engineering, 4(6):509-516, 1992. [11] J. Gray, Notes on data base operating systems. In R. Bayer, R.N. Graham, and G. Seegmueller, editors, Lecture Notes on Computer Science Volume 60. Springer-Verlag, 1978. [12] J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, 1993. [13] L. Gruenwald and M. H. Eich. MMDB reload algorithms. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 397-405, 1991. [14] T. Haeder and A. Reuter, Principles of transaction- oriented database recovery, ACM Computing Surveys, 15(4):287-317, 1983. [15] Robert B. Hagmann. A crash recovery scheme for a memory resident database system. IEEE Transactions on Computers, C-35(9):839-843, 1986. [16] H. V. Jagadish, D. Lieuwen, R. Rastogi, A. Silberschatz, and S. Sudarshan. Dali: A high performance main memory storage manager. In Proceedings of the 20th Conference on Very Large Datab ases, Morgan Kaufman pubs. (Los Altos CA), 1994. [17] H. V. Jagadish, A. Silberschatz, and S. Sudarshan. Recovering from main-memory lapses. In Proceedings of the 19th Conference on Very Large Databases, Mor gan Kaufman pubs. (Los Altos CA), D, 1993. [18] T. J. Lehman and M. J. Carey . A recovery algorithm for a high-performance memory-resident database system. In 19 ACM SIGMOD Conf. on the Management of Data, 1987. [19] T. J. Lehman and M. J. Carey . A recovery algorithm for a high-performance memory-resident database system. In Proceedings of the 1987 ACM-SIGMOD International Conference on Management of Data, pages 104-117, 1987. [20] E. Levy and A. Silberschatz. Incremental recovery in main memory database systems. IEEE Transactions on Knowledge and Data Engineering, 4(6), 1992. [21] K. Li and J. F. Naughton. Multiprocessor main memory transaction processing. In Proceedings of International Symposium on Databases in Parallel and Distributed Systems,1988. [22] X. Li, M. H. Eich, V.J. Joseph, Z. Gulzar, C.H. Corti, and M. Nascimento. Checkpointing and recovery in partitioned main memory databases. In Proc. IASTED/ISMM International Conference on Intelligent Information Management Systems, 1995. [23] J. L. Lin and M. H. Dunham. Dynamic segmented fuzzy checkpointing for main memory databases. 1995. [24] J.L. Lin and M. H. Eich, Segmented fuzzy checkpointing for main memory databases. Technical Report CSE9442, Southern Methodist University, Dept. of Computer Science and Engineering, Dallas (TX), 1994. [25] Jim Lyon. Tandem's remote data facility, In 35th IEEE Compcon 90, pages 562-567, 1990. [26] K. Rothermel and C. Mohan, Aries/nt: A recovery method based on write-ahead logging for nested transactions. In Proceedings of the Fifteenth
  • 11.
    International Conference onVery Large DataBases, pages 337-346, 1989 [27] K. Salem and H. Garcia-Molina. Checkpointing memory-resident databases. In Proc. IEEE CS Intl. Conf. No. 5 on Data Engineering, 1989. [28] Joost S. M. Verhofstad. Recovery techniques for database systems, ACM Computing Surveys, 0(2):167-195, 1978. 1- Dynamic Random Access Memory (DRAM) 2- In-memory Database (IMDB) 3- Disk Resident Database (DRDB) 4- Throughout 5- Automatic Teller Machine (ATM) 6- Reserve 7- Telephone switching 8- Random Access Memory (RAM) 9- Nonvolatile memory 10- Archive memory 11- Checkpoint 12- Reloading 13- After image 14- Before image 15- Begin Transaction (BT) 16- End Transaction (ET) 17- Begin Checkpoint (BC) 18- End Checkpoint (EC) 19- Offset 20- Idempotence 21- Fuzzy 22- Write Ahead Logging (WAL) 23- Undone 24- Solid-State Disk (SSD) 25- Input/Output (I/O) 26- Non-fuzzy 27- Log-driven 28- Hagmann 29- Dumping 30- Salem 31- Garcia-Molina 32- Dirty data 33- Lin 34- Dunham 35- Segmented 36- Moving window 37- Round-robin 38- Li 39- Backward 40- Long-lived 41- Transaction-consistent 42- Action-consistent 43- Lehman 44- Carey 45- Index 46- Jagadish 47- Occurrence frequency of the reload process 48- Pareto 49- Multicore parallelism 50- Reload prioritization 51- Access frequency 52- Transaction deadline 53- Gruenwald 54- Ordered Reload with Prioritization (ORP) 55- Smart Reload (SR) 56- Frequency Reload (FR) 57- Reload granularity 58- Preempt 59- Atomic 60- Levy 61- Silberschatz 62- Multi-level 63- Group commit 64- Optimistic multi-version 65- Latch 66- Bottleneck 67- Checkpoint file inventory 68- Indexing 69- Timestamp range 70- Buffer 71- Root page 72- Thread 73- Hewlett-Packard (HP) 74- Multi-threaded logging mechanism 75- Delayed-durability