
Bloom Filter
Bloom filter là 1 cấu trúc dữ liệu xác suất dùng để kiểm tra xem 1 phần tử có thuộc 1 tập dữ liệu hay không?

Protobuf, Thrift, Avro là gì?
Khám phá các định dạng dữ liệu nhị phân: Protobuf, Thrift, Avro

Birthday Paradox
Gần đây, season 3 của Alice in Borderland đã được ra mắt trên Netflix. Trong muôn vàn content về bộ phim ở trên mạng, tôi vô tình bắt gặp hình ảnh này. Nó khiến tôi nhớ lại tháng ngày học môn An toàn thông tin ở Đại học, với những Bloom Filter hay Bi...
Bài viết mới nhất

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à xử lý lặp đi lặp lại nhiều lần. Điều này có thể dẫn đến kết quả sai lệch nghiêm trọng, thậm ch...

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 thông điệp có độ trễ thấp. Vậy Kafka được thiết kế như thế nào để đạt được độ trễ thấp như vậy? ...

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, việc định nghĩa schema cần được tính toán kỹ lưỡng để đảm bảo khả năng tương thích giữa các ph...
![[Thanh tra ma giáo] Dgraph](https://cdn.hashnode.com/res/hashnode/image/upload/v1765139308939/4f5364bc-327d-4941-8109-b0918e3aab4b.webp)
[Thanh tra ma giáo] Dgraph
Chào mừng các bạn đến với series “Thanh tra ma giáo” – chuỗi bài viết chuyên điều tra và đánh giá các công nghệ trên thị trường. Mở đầu series, tôi xin giới thiệu ứng viên đầu tiên: Dgraph – một Graph Database nằm trong top 10 bảng xếp hạng DB-Engine...

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 Skew. Vậy câu hỏi đặt ra là: Làm thế nào để chống lại chúng? Câu trả lời nằm ở việc lựa chọn ...

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 tạp và được quan tâm nhiều nhất. Khi nhiều transaction chạy đồng thời, nếu mức độ cô lập không đ...

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, nhưng đa phần đều là những quan niệm sai lầm kiểu: "Database A có transaction còn D...

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 (xử lý giao dịch trực tuyến). Tuy nhiên, khi chuyển sang môi trường OLAP (xử lý phân tích trực...
