Cô Hạnh chỉ có 200 học sinh trong sổ, vậy mà tìm một cuốn sách đã mất mười phút. Nếu là một thành phố cả triệu người, cuốn sổ đó phải trở thành thứ gì khác hẳn.
Thư viện trường Ánh Dương vẫn dùng một cuốn sổ mượn sách viết tay, ghi tên học sinh, tên sách, ngày mượn, ngày trả.
Một hôm Minh chạy tới hỏi: "Cô ơi, cuốn Doraemon tập 5 ai đang giữ vậy cô?"
Cô Hạnh lật cuốn sổ dày cả trăm trang, dò từng dòng, từng dòng — mất gần 10 phút mới tìm ra đúng tên bạn đang mượn.
Trường Ánh Dương chỉ có 200 học sinh — mà đã mất 10 phút cho một câu hỏi.
Minh chợt nghĩ: nếu đây không phải một thư viện trường, mà là hệ thống quản lý của cả một thành phố, với cả triệu người — thì phải chờ bao lâu?
Cuốn sổ tay ghi đủ mọi thông tin cần thiết, không thiếu chỗ nào cả — vậy sao tìm vẫn chậm đến thế?
Vấn đề không nằm ở việc thiếu thông tin.
Vấn đề nằm ở CÁCH LƯU TRỮ: một cuốn sổ giấy, phải lật tuần tự từng trang — cách này ổn với vài trăm dòng, nhưng không còn phù hợp khi số dòng dữ liệu tăng lên quá lớn. Cần một cách lưu và tìm khác hẳn, nhanh hơn nhiều so với lật từng trang.
Cái mà một hệ thống lớn cần, gọi là DATABASE (cơ sở dữ liệu).
Đó là một "sổ điện tử" được thiết kế đặc biệt để lưu số lượng dữ liệu rất lớn, và tìm/truy xuất cực nhanh — thay vì lật tuần tự như sổ giấy.
Database tổ chức dữ liệu thành các bảng có cấu trúc rõ ràng: mỗi dòng là một bản ghi, mỗi cột là một loại thông tin.
Nó còn dùng các kỹ thuật đánh chỉ mục (giống mục lục cuối sách, sẽ nói kỹ ở bài Tìm kiếm & Sắp xếp) để tìm đúng dòng cần trong một phần rất nhỏ của giây — kể cả khi có hàng triệu, hàng tỷ dòng.
Hệ thống tra điểm thi của Sở/Bộ Giáo dục lưu điểm của hàng triệu học sinh cả nước. Ngày công bố điểm, mỗi học sinh tra đúng điểm của mình gần như ngay lập tức — dù hệ thống đang phục vụ hàng triệu người tra cùng lúc.
Nếu vẫn dùng "sổ giấy điện tử" kiểu lưu tuần tự không có cấu trúc, một hệ thống phục vụ hàng triệu người dùng (ngân hàng, mạng xã hội) sẽ chậm đến mức không thể dùng được — tra một thông tin có khi mất hàng giờ thay vì một giây.
Tra cứu điểm thi trên website Sở/Bộ Giáo dục; tài khoản ngân hàng hiện đúng số dư ngay lập tức dù ngân hàng có hàng triệu khách; danh bạ liên hệ trong điện thoại.
Bấm vào ô em nghĩ là đúng.
1. Vì sao database tìm nhanh hơn hẳn một cuốn sổ giấy, dù cả hai đều lưu đủ thông tin?
2. Nếu một hệ thống chỉ có 20 học sinh, có bắt buộc phải dùng database phức tạp không?
3. Mỗi dòng trong một bảng dữ liệu thường ứng với gì?
Câu hỏi của em sẽ hiện ở đây, chỉ lưu trên máy của em thôi.
Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!