-
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 Birthday Paradox.
-
Protobuf, Thrift, Avro là gì?
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 khác dưới định dạng gì là vô cùng quan trọng. Thông thường, đối với những dữ liệu trên file, ta có chọn kiểu định dạng “native” được hỗ trợ sẵn bởi ngôn ngữ lập trình,…
-
Transaction Isolation (Part 2): Isolation Level
Hiện nay, mỗi Database đều sử dụng phương pháp Isolation khác nhau. Thậm chí cũng có chuyện cùng một ý tưởng nhưng mỗi người lại triển khai khác nhau: cái thì chạy nhanh hơn, cái thì lại tốn ít bộ nhớ hơn, thậm chí cái còn có bug… Về cơ bản thì hiện nay có…
-
Database 103: SSTable và LSM-Tree
SSTable là gì? Trước khi tiếp tục cái series về Database, ta sẽ tìm hiểu qua trước về Sorted String Table, hay còn được gọi là SSTable. Về bản chất thì nó khá giống với kiến trúc Log file được đề cập từ 2 phần trước: Điểm khác biệt duy nhất đó là: mỗi key…
-
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? Sở dĩ lý do lại là cấu trúc dữ liệu xác suất, bởi vì kết quả trả về của Bloom filter không đảm bảo chắc chắn rằng phần tử đó…
-
Halloween Problem – Lỗi Cập Nhật Vô Hạn Trong Cơ Sở Dữ Liệu
Năm 1976, trong quá trình thử nghiệm xây dựng bộ tối ưu hóa truy vấn (query optimizer) cho System R, các kỹ sư của IBM đã vô tình phát hiện ra một lỗi logic thú vị, mang tính học thuật cao. Vì được phát hiện đúng vào ngày lễ Halloween, vấn đề này đã chính…