TL;DR

Năm 2000, một kỹ sư làm việc đơn độc cho Hải quân Mỹ đã tự tay viết một database engine trong thời gian rảnh - rồi tặng miễn phí cho cả thế giới. 25 năm sau, hơn 1 nghìn tỉ SQLite database đang hoạt động song song trên trái đất: trong chiếc điện thoại bạn đang cầm, trong máy tính xách tay, trong xe hơi, trong máy bay, trong những dòng app chật nhất hành tinh. Và ông chủ của nó - D. Richard Hipp - chưa bao giờ nhận một xu từ các công ty tỉ đô đang dùng code của ông.

D. Richard Hipp, người tạo ra SQLite

Chiến hạm và cái nút đỏ lỗi

Năm 2000, Hipp đang làm contractor cho General Dynamics tại xưởng tàu Bath Iron Works ở Bath, Maine. Nhiệm vụ: xây dựng phần mềm điều khiển sự cố trên tàu phá lệ tên lửa có điều hướng USS Oscar Austin (DDG-79).

Stack của họ có Informix - một database chuyên nghiệp. Vấn đề: Informix cần kết nối tới server. Khi server mất - một việc rất có thể xảy ra khi tàu trúng đạn - toàn bộ phần mềm hiện lên một hộp thoại: "Can't connect to database server".

"Nó là một chiến hạm. Ý tưởng là nó phải hoạt động được khi bị thương trong chiến đấu. Có thể có nhiều thứ bị vỡ, mọi người đang điên cuồng, khói và máu, hỗn loạn - và trong tình huống đó họ không muốn thấy một hộp thoại báo lỗi." - Richard Hipp

Hipp tìm kiếm giải pháp nhưng không có DB engine nào cho phép đọc thẳng từ disk mà không cần server. Một đồng nghiệp bảo: "Richard, sao anh không tự viết cái đó đi?" Khi hợp đồng chính phủ tạm ngừng (vài tháng không có việc), Hipp ngồi xuống và viết.

Tháng 8/2000, SQLite 1.0 ra mắt. Không có server. Không cài đặt. Không cấu hình. Chỉ một file duy nhất trên disk.

Những con số đáng kinh ngạc

SQLite: hơn 1 trillion databases trên toàn thế giới

Chỉ sốSố liệu
Database đang hoạt động>1 trillion (1e12)
Kích thước thư viện~699 KiB
Dòng source code156,000
Dòng test code92,000,000 (tỉ lệ 590:1)
Max DB size281 terabytes
Số người duy trì3
Phí sử dụng$0 (public domain)
Cam kết hỗ trợ đếnNăm 2050

Tính toán cơ sở: hơn 4 tỉ smartphone đang hoạt động, mỗi máy có hàng trăm file .db. Cộng vào máy tính, xe hơi, TV, thiết bị IoT - con số 1 trillion là hoàn toàn hợp lý.

Có mặt ở khắp nơi - theo đúng nghĩa đen

SQLite không chỉ là "phổ biến" - nó là invisible infrastructure của nền kinh tế số:

  • Hệ điều hành: mỗi Android, iOS, macOS, Windows 10/11 đều có sẵn SQLite
  • Trình duyệt: Chrome, Firefox, Safari dùng SQLite lưu history, cookies, bookmarks
  • Ứng dụng: WhatsApp, iMessage, Skype (lưu lịch sử chat); Dropbox, iTunes, TurboTax, QuickBooks
  • Hàng không: Airbus A350 flight system - chọn vì SQLite đạt chuẩn DO-178B aviation safety
  • Ô tô: BMW iDrive, Bosch car multimedia, TomTom GPS
  • Framework: Django và Ruby on Rails dùng SQLite làm DB mặc định
  • Thư viện: Library of Congress khuyến dùng SQLite là 1 trong 4 format lưu trữ dữ liệu dài hạn

Mở cửa sổ terminal, gõ find ~ -name "*.db" - bạn sẽ ngạc nhiên có bao nhiêu SQLite file trên máy của chính mình.

Kỹ thuật đằng sau sự đơn giản

Những gì trông đơn giản, bên dưới là một công trình kỹ thuật nghiêm túc:

  • 92 triệu dòng test code cho 156,000 dòng source - tỉ lệ 590:1. Mỗi bản release chạy hàng tỉ test case sau 3 ngày kiểm tra.
  • 100% MCDC branch coverage - tiêu chuẩn DO-178B dành riêng cho phần mềm an toàn bay. Hipp mất nguyên một năm làm việc 60 giờ/tuần để đạt mốc này.
  • Trong stress test, nhóm SQLite đã crash được cả Oracle và DB2 thương mại. Chỉ có Postgres là họ không tìm thấy lỗi.
  • SQLite dùng Postgres làm reference platform ("What would PostgreSQL do?") - nhưng mô hình triển khai hoàn toàn ngược lại: embedded thay vì client-server.

Chuyện Motorola và cái giá $80,000

Khi Android chưa tồn tại, Motorola muốn tích hợp SQLite vào điện thoại của họ. Họ liên hệ Hipp để hỏi phí bản quyền.

Hipp - người chưa bao giờ kinh doanh phần mềm ở quy mô này - tự hỏi nên ra giá bao nhiêu. Ông nghĩ ra số lớn nhất trong đầu: $80,000. Motorola chấp nhận ngay.

Hipp kể lại: "Tôi biết tôi đã nên ra giá cao hơn rất nhiều." Nhưng thay vì điều chỉnh lại mô hình kinh doanh, ông chọn hứa tặng SQLite cho cả thế giới. Toàn bộ codebase là public domain - không bản quyền, không royalty, đến đời.

Ba người giữ cả thế giới chạy

Hôm nay, SQLite được duy trì bởi đúng 3 người: D. Richard Hipp, Dan Kennedy, và Joe Mistachkin. Không có VC. Không có acquisitions. Không có spotlight. Chỉ có code.

Khi Airbus đến gặp và nói "chúng tôi cần các anh hỗ trợ trong suốt vòng đời máy bay - 40 năm", nhóm SQLite trả lời: "Được, chúng tôi sẽ hỗ trợ đến năm 2050."

Ứng dụng bạn xây dựng hôm nay sẽ chạy tốt trên SQLite vào năm 2050. Đó là cam kết - không phải marketing.

Nguồn: CoRecursive Podcast, The New Stack, sqlite.org.