Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMU Advanced Database Systems - (Spring 2019) #96

Open
Sunt-ing opened this issue Oct 31, 2021 · 1 comment
Open

CMU Advanced Database Systems - (Spring 2019) #96

Sunt-ing opened this issue Oct 31, 2021 · 1 comment

Comments

@Sunt-ing
Copy link
Owner

Sunt-ing commented Oct 31, 2021

https://www.youtube.com/playlist?list=PLSE8ODhjZXja7K1hjZ01UTVDnGQdx5v5U

Since I have basic knowledge about database, I may skip the basic course about database.

@Sunt-ing
Copy link
Owner Author

Lecture 1: In-Memory Databases

  • The history of DBMSs development is about dealing with the limitations of hardware
  • In a disk-based system, only approximately 7% of instructions are done on actual work. The majority of
    the DBMS’s instructions time are in managing three of its key components: (1) buffer pool, (2) concurrency
    control, (3) logging/recovery
  • Concurrency Control: In-memory DBMS can store locking information about each tuple together with its data. This is because the cost of a transaction acquiring a lock is the same as accessing data. Contrast this with disk-oriented DBMSs where locks are physically stored separate from their tuples because the tuples may get swapped out to disk.
  • Indexes: In-memory DBMSs will not log index updates. Instead, the system will rebuild the indexes upon restart
    when it loads the database back into memory. This avoids the runtime overhead of logging updates to
    indexes during transaction execution.
  • Logging and Recovery: more lightweight logging schemes (e.g., only store redo information) is used. For example, since there are no “dirty pages”, the DBMS does not need to maintain LSNs. In-memory DBMSs still takes checkpoints to reduce the amount of log that the system has to replay during recovery.
    图片

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant