Ha Duong’s Blog

Welcome to My Second Brain, where I store my technology knowledge and experiences in life.

Concurrency Control

Overview ACID stands for Atomicity, Consistency, Isolation, and Durability. It was coined in 1983 by Theo H盲rder and Andreas Reuter to define a standard for database fault-tolerance mechanisms. However, in reality, databases implement it in various ways, leading to different outcomes. So, when a database claims to adhere to ACID, we cannot be entirely sure of everything. Let鈥檚 be cautious about that. Atomicity A transaction is a set of operations that must be performed as a single unit....

June 15, 2022 路 3 min 路 Ha Duong

Memory Management

Overview Storing data on a hard disk is necessary to ensure duration. However, directly working with disks can significantly decrease performance. Therefore, like other software, databases also have a buffer layer (buffer pools) in front of the disk to reduce disk I/O requests. What is a buffer pool? The buffer pool is the memory layer in front of the Disk. It is a mechanism to avoid accessing the disk whenever data is required....

June 7, 2022 路 4 min 路 Ha Duong

How are databases stored on Disk?

Overview Although I often use a database to store data, I think I know it well enough. After reading the book, I realized I don鈥檛 know much about databases. So I wrote this series of articles to learn more about databases. This series of articles will help you understand how databases work. A page is a block of data read or written in a single I/O disk operation. That means the disk always reads or writes a page, even if you only update 1 byte of data....

June 1, 2022 路 4 min 路 Ha Duong

Channel In Golang

Overview Golang or Go is a programming language that supports concurrency through goroutines, lightweight threads of execution. Goroutines can communicate and synchronize with each other using channels, which are built-in data structures that act as pipes between them. Channels are a fundamental feature of Go that enable safe and efficient communication and synchronization between goroutines. Goroutine This article will explore the following: How are go channels implemented? How does channel handle concurrency?...

May 9, 2022 路 5 min 路 Ha Duong