Summary
In the field of databases in computer science, a transaction log (also transaction journal, database log, binary log or audit trail) is a history of actions executed by a database management system used to guarantee ACID properties over crashes or hardware failures. Physically, a log is a listing changes to the database, stored in a stable storage format. If, after a start, the database is found in an inconsistent state or not been shut down properly, the database management system reviews the database logs for uncommitted transactions and rolls back the changes made by these transactions. Additionally, all transactions that are already committed but whose changes were not yet materialized in the database are re-applied. Both are done to ensure atomicity and durability of transactions. This term is not to be confused with other, human-readable that a database management system usually provides. In database management systems, a journal is the record of data altered by a given process. A database log record is made up of: Log Sequence Number (LSN): A unique ID for a log record. With LSNs, logs can be recovered in constant time. Most LSNs are assigned in monotonically increasing order, which is useful in recovery algorithms, like ARIES. Prev LSN: A link to their last log record. This implies database logs are constructed in linked list form. Transaction ID number: A reference to the database transaction generating the log record. Type: Describes the type of database log record. Information about the actual changes that triggered the log record to be written. All log records include the general log attributes above, and also other attributes depending on their type (which is recorded in the Type attribute, as above). Update Log Record notes an update (change) to the database. It includes this extra information: PageID: A reference to the Page ID of the modified page. Length and Offset: Length in bytes and offset of the page are usually included. Before and After Images: Includes the value of the bytes of page before and after the page change.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related publications (29)
Related concepts (3)
Atomicity (database systems)
In database systems, atomicity (ˌætəˈmɪsəti; from átomos) is one of the ACID (Atomicity, Consistency, Isolation, Durability) transaction properties. An atomic transaction is an indivisible and irreducible series of database operations such that either all occurs, or nothing occurs. A guarantee of atomicity prevents updates to the database occurring only partially, which can cause greater problems than rejecting the whole series outright. As a consequence, the transaction cannot be observed to be in progress by another database client.
Database transaction
A database transaction symbolizes a unit of work, performed within a database management system (or similar system) against a database, that is treated in a coherent and reliable way independent of other transactions. A transaction generally represents any change in a database. Transactions in a database environment have two main purposes: To provide reliable units of work that allow correct recovery from failures and keep a database consistent even in cases of system failure.
Database
In computing, a database is an organized collection of data (also known as a data store) stored and accessed electronically through the use of a database management system. Small databases can be stored on a , while large databases are hosted on computer clusters or cloud storage. The design of databases spans formal techniques and practical considerations, including data modeling, efficient data representation and storage, query languages, security and privacy of sensitive data, and distributed computing issues, including supporting concurrent access and fault tolerance.
Related courses (9)
CS-460: Systems for data management and data science
This course is intended for students who want to understand modern large-scale data analysis systems and database systems. The course covers fundamental principles for understanding and building syste
CS-300: Data-intensive systems
The purpose of this course is to discuss the design of database and operating systems concepts using a hands-on approach.
COM-102: Advanced information, computation, communication II
Text, sound, and images are examples of information sources stored in our computers and/or communicated over the Internet. How do we measure, compress, and protect the informatin they contain?
Show more
Related lectures (40)
Concurrency Control & Recovery in Databases
Delves into transaction management, concurrency control, and recovery in databases to ensure data integrity and system resilience.
Transaction Management & Concurrency Control
Explores transaction management, concurrency control, ACID properties, anomalies, and conflict serializability in database systems.
Architecture of CockroachDB
Explores the architecture of CockroachDB, focusing on transaction management, concurrency control, and scalability.
Show more