Everything-about-Logging-Research
Everything about Logging(Related Research)
Using WAL for Transaction Durability
- write-ahead logging (WAL)
- In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems. The changes are first recorded in the log, which must be written to stable storage, before the changes are written to the database.
- ARIES is a popular algorithm n the WAL Family 1992. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging | TODS(Transaction durability use WAL)
- Used in file system(a variant of WAL): Journaling file system(IBM JFS, Microsoft NTFS, Linux’s ext3 filesystem)
Development of Serial(Sequential?) Logging
- Binary Log in MySQL
- contains “events” that describe database (potentially) changes such as table creation operations or changes to table data. two important purposes:
- For data replication. The source sends the information contained in its binary log to its replicas, which reproduce those transactions to make the same data changes that were made on the source.
- For certain data recovery operations. After a backup has been restored, the events in the binary log that were recorded after the backup was made are re-executed.
- binary logging formats: statement-based logging(issues with replicating nondeterministic statements), row-based logging(default, indicate how individual table rows are affected), mixed logging
- TODO!: design of MySQL binary log / SQL Server transaction logs
- contains “events” that describe database (potentially) changes such as table creation operations or changes to table data. two important purposes:
Bottleneck caused by sequential logging
- Aether 2010. Aether: a scalable approach to logging | VLDB 3
- Silo project2013. Speedy Transactions in Multicore In-Memory Databases | SOSP 13
Silo 文章针对多核主存式存储系统抽象进行了分类,主要依据对事务的支持程度。但这里的分类和我们讨论的 WAL 的发展(串行到并行日志记录)的联系还没有理清楚
Non-transactional systems
- Masstree (highthroughput main-memory B+-tree) 2012. Cache craftiness for fast multicore key-value storage | Eurosys 2012
- PALM 2011. PALM: Parallel architecture-friendly latch-free modifications to B+ trees on many-core processors. | Proc. VLDB 2011
- Bw-tree
Transactional systems
Concurrency control
- OCC(Optimal CC) MVCC(Multi-versions CC)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!