TL;DR

Nam 2000, mot ky su lam viec don doc cho Hai quan My da tu tay viet mot database engine trong thoi gian ranh - roi tang mien phi cho ca the gioi. 25 nam sau, hon 1 nghin ty SQLite database dang hoat dong song song tren trai dat: trong chiec dien thoai ban dang cam, trong may tinh xach tay, trong xe hoi, trong may bay, trong nhung dong app chat nhat hanh tinh. Va ong chu cua no - D. Richard Hipp - chua bao gio nhan mot xu tu cac cong ty ty do dang dung code cua ong.

D. Richard Hipp, nguoi tao ra SQLite

Chien ham va cai nut do loi

Nam 2000, Hipp dang lam contractor cho General Dynamics tai xuong tau Bath Iron Works o Bath, Maine. Nhiem vu: xay dung phan mem dieu khien su co tren tau pha le ten lua co dieu huong USS Oscar Austin (DDG-79).

Stack cua ho co Informix - mot database chuyen nghiep. Van de: Informix can ket noi toi server. Khi server mat - mot viec rat co the xay ra khi tau trung dan - toan bo phan mem hien len mot hop thoai: "Can't connect to database server".

"No la mot chien ham. Y tuong la no phai hoat dong duoc khi bi thuong trong chien dau. Co the co nhieu thu bi vo, moi nguoi dang dien cuong, khoi va mau, hon loan - va trong tinh huong do ho khong muon thay mot hop thoai bao loi." - Richard Hipp

Hipp tim kiem gia phap nhung khong co DB engine nao cho phep doc thang tu disk ma khong can server. Mot dong nghiep bao: "Richard, sao anh khong tu viet cai do di?" Khi hop dong chinh phu tam ngung (vai thang khong co viec), Hipp ngoi xuong va viet.

Thang 8/2000, SQLite 1.0 ra mat. Khong co server. Khong cai dat. Khong cau hinh. Chi mot file duy nhat tren disk.

Nhung con so dang kinh ngac

SQLite: hon 1 trillion databases tren toan the gioi

Chi soSo lieu
Database dang hoat dong>1 trillion (1e12)
Kich thuoc thu vien~699 KiB
Dong source code156,000
Dong test code92,000,000 (ti le 590:1)
Max DB size281 terabytes
So nguoi duy tri3
Phi su dung$0 (public domain)
Cam ket ho tro denNam 2050

Tinh toan co so: hon 4 ty smartphone dang hoat dong, moi may co hang tram file .db. Cong vao may tinh, xe hoi, TV, thiet bi IoT - con so 1 trillion la hoan toan hop ly.

Co mat o khap noi - theo dung nghia den

SQLite khong chi la "pho bien" - no la invisible infrastructure cua nen kinh te so:

  • He dieu hanh: moi Android, iOS, macOS, Windows 10/11 deu co san SQLite
  • Trinh duyet: Chrome, Firefox, Safari dung SQLite luu history, cookies, bookmarks
  • Ung dung: WhatsApp, iMessage, Skype (luu lich su chat); Dropbox, iTunes, TurboTax, QuickBooks
  • Hang khong: Airbus A350 flight system - chon vi SQLite dat chuan DO-178B aviation safety
  • O to: BMW iDrive, Bosch car multimedia, TomTom GPS
  • Framework: Django va Ruby on Rails dung SQLite lam DB mac dinh
  • Thu vien: Library of Congress khuyen dung SQLite la 1 trong 4 format luu tru du lieu dai han

Mo cua so terminal, go find ~ -name "*.db" - ban se ngac nhien co bao nhieu SQLite file tren may cua chinh minh.

Ky thuat dang sau su don gian

Nhung gi trong ong nhin don gian, ben duoi la mot cong trinh ky thuat nghiem tuc:

  • 92 trieu dong test code cho 156,000 dong source - ti le 590:1. Moi ban release chay hang ty test case sau 3 ngay kiem tra.
  • 100% MCDC branch coverage - tieu chuan DO-178B danh rieng cho phan mem an toan bay. Hipp mat nguyen mot nam lam viec 60 gio/tuan de dat moc nay.
  • Trong stress test, nhom SQLite da crash duoc ca Oracle va DB2 thuong mai. Chi co Postgres la ho khong tim thay loi.
  • SQLite dung Postgres lam reference platform ("What would PostgreSQL do?") - nhung mo hinh trien khai hoan toan nguoc lai: embedded thay vi client-server.

Chuyen Motorola va cai gia $80,000

Khi Android chua ton tai, Motorola muon tich hop SQLite vao dien thoai cua ho. Ho lien he Hipp de hoi phi ban quyen.

Hipp - nguoi chua bao gio kinh doanh phan mem o quy mo nay - tu hoi nen ra gia bao nhieu. Ong nghi ra so lon nhat trong dau: $80,000. Motorola chap nhan ngay.

Hipp ke lai: "Toi biet toi da nen ra gia cao hon rat nhieu." Nhung thay vi dieu chinh lai mo hinh kinh doanh, ong chon hua tang SQLite cho ca the gioi. Toan bo codebase la public domain - khong ban quyen, khong royalty, den doi.

Ba nguoi giu ca the gioi chay

Hom nay, SQLite duoc duy tri boi dung 3 nguoi: D. Richard Hipp, Dan Kennedy, va Joe Mistachkin. Khong co VC. Khong co acquisitions. Khong co spotlight. Chi co code.

Khi Airbus den gap va noi "chung toi can cac anh ho tro trong suot vong doi may bay - 40 nam", nhom SQLite tra loi: "Duoc, chung toi se ho tro den nam 2050."

Ung dung ban xay dung hom nay se chay tot tren SQLite vao nam 2050. Do la cam ket - khong phai marketing.

Nguon: CoRecursive Podcast, The New Stack, sqlite.org.