Dogy.io - Blog công nghệ cá nhân

Bài viết mới nhất

Protobuf, Thrift, Avro là gì?
8 tháng 12, 2025

Protobuf, Thrift, Avro là gì?

Phần 1: Vấn đề của định dạng dữ liệu truyền thống Trong quá trình phát triển phần mềm, cách dữ liệu được lưu trữ xuống file hoặc được truyền sang service...

18 phút đọc
Halloween Problem – Lỗi cập nhật vô hạn trong Cơ sở dữ liệu
12 tháng 10, 2025

Halloween Problem – Lỗi cập nhật vô hạn trong Cơ sở dữ liệu

Halloween Problem là một hiện tượng bất ngờ nhưng có thật, trong đó một thao tác cập nhật (UPDATE, INSERT, DELETE) có thể khiến các hàng dữ liệu bị chọn và...

Tại sao Kafka lại nhanh tới vậy?
9 tháng 9, 2023

Tại sao Kafka lại nhanh tới vậy?

Kafka được thiết kế để hỗ trợ một nền tảng thông lượng cao (throughput), phân tán (distributed), có khả năng chịu lỗi (fault tolerant) với việc phân phối...

Backward/Forward Compatibility trong Thiết kế Schema: Nguyên tắc và Thực tiễn
30 tháng 5, 2021

Backward/Forward Compatibility trong Thiết kế Schema: Nguyên tắc và Thực tiễn

Trong quá trình phát triển hệ thống, việc thay đổi cấu trúc dữ liệu (schema evolution) là điều không thể tránh khỏi. Giống như thiết kế kiến trúc phần mềm,...

Transaction Isolation 102: Isolation Level
1 tháng 1, 2021

Transaction Isolation 102: Isolation Level

Ở bài trước, chúng ta đã điểm mặt đặt tên những "kẻ phá hoại" kinh điển trong thế giới transaction: Dirty Write, Dirty Read, Lost Update, Write Skew và Read...

Transaction Isolation 101: Concurrency Control Problem
29 tháng 12, 2020

Transaction Isolation 101: Concurrency Control Problem

Trong bài viết "Bạn đã hiểu đúng về Transaction chưa?", tôi đã giới thiệu qua về ACID. Trong số 4 từ khóa, có lẽ Isolation (Sự cô lập) là thành phần phức...

Bạn đã hiểu đúng về Transaction chưa?
15 tháng 12, 2020

Bạn đã hiểu đúng về Transaction chưa?

Trong thế giới cơ sở dữ liệu, "transaction" là một khái niệm cốt lõi nhưng thường bị hiểu nhầm. Mình bắt gặp rất nhiều cuộc trò chuyện về transaction trong...

Database 303: Column-Oriented Storage
14 tháng 11, 2020

Database 303: Column-Oriented Storage

Trong các bài trước, chúng ta đã tìm hiểu về các loại index phổ biến như Hash Index, LSM Trees hay B Trees, vốn được thiết kế chủ yếu cho các hệ thống OLTP...

Database 302: OLTP hay OLAP?
13 tháng 11, 2020

Database 302: OLTP hay OLAP?

Trong thế giới cơ sở dữ liệu, hai khái niệm OLTP và OLAP thường được nhắc đến như hai trụ cột chính với mục đích và đặc tính khác biệt. Bài viết này sẽ giúp...