Được giới thiệu để giúp các ứng dụng quản lý dữ liệu của mình thuận tiện hơn, SQLite là một bộ thư viện dùng trong lập trình để hiện thực một SQL Database Engine có khả năng tự tổ chức quản lý dữ liệu, không cần server mà thực hiện đọc ghi vào file trực tiếp, không cần cấu hình mà vẫn hỗ trợ đầy đủ các tính năng quản lý giao tác. SQLite là SQL Database Engine nhúg mã nguồn mở theo mô hình dữ liệu quan hệ
đang được sử dụng nhiều nhất trên thế giới do tính cơ động cao, dễ sử dụng, gọn nhẹ, hiệu quả và tin cậy.
SQLite là một thư viện nhỏ gọn kích thước tối đa là 500 KB, tùy thuộc vào nền tảng hướng đến mà thiết lập để tối ưu hóa trình biên dịch. Nếu các tính năng tùy chọn được bỏ qua, kích thước tối đa của SQLite là 300 KB, hơn nữa nó được thiết kế để chạy chiếm một khoảng nhỏ trong không gian stack và rất nhỏ trong heap. Chính vì vậy, SQLite là công củ cơ sợ dữ liệu phổ biến trên các bộ nhớ hạn chế các tiện ích như: điện thoại di động, máy nghe nhạc MP3, … Lưu ý, bộ nhớ cấp phát càng nhiều thì Sqlite có tốc độ càng lớn, nhưng không có nghĩa là tốc độ của nó không chấp nhận được trong môi trường bộ nhớ hạn chế.[28]
SQLite có thể làm việc với cơ sở dữ liệu lên đến hằng TetraByte, và hầu hết các thao tác trên dữ liệu thông thường đều chạy nhanh hơn các hệ cơ sỡ dữ liệu theo mô hình client-server phổ biến khác. Và hơn nữa nó có khả năng tổ chức lưu trữ mà không phải phụ thuộc vào các thư viện bên ngoài. Đây là một đặc điểm khá quan trọng khiến SQLite trở thành CSDL phù hợp để nhúng vào các thiết bị di động hoặc tích hợp vào các ứng dụng muốn chạy mà không cần phải điều chỉnh cấu hình hệ thống.
Ngoài ứng dụng như một định dạng tập tin vào các ứng dụng và làm cơ sở dữ liệu cho các thiết bị điện tử. SQLite còn có thể sử dụng làm cơ sở dữ liệu cho các website vì SQLite không cần phải cấu hình và dữ liệu được lưu trữ thành các tập tin trên đĩa thật sự nên nó đang trở thành lựa chọn phổ biến cho các website vừa và nhỏ.
Mỗi phiên bản SQLite được kiểm tra cẩn thận trước khi công bố cho nên Sqlite rất đáng tin cậy. Giao dịch trong SQLite được thực hiện tuân theo mô hình ACID và nó vẫn tuân thủ ACID trong trường hợp có sự cố hệ thống hay mất điện. Đương nhiên, điều đó không có nghĩa là SQLite không tồn tại lỗi.
Hiển nhiên, các đặc điểm tạo nên các ưu điểm của SQLite là con dao hai lưỡi làm cho SQLite có các hạn chế sau:
- Kết nối mạng: SQLite không có máy chủ, biện pháp là chia sẻ thông qua network file systems. Hệ thống này có độ trễ nhất định điều này làm ảnh hưởng đến hiệu xuất của SQLite. Mặt khác, khi sử dụng điều này lỗ hổng an ninh là có thể xảy ra vì: các tập tin truyền đi có thể bị mở và điều chỉnh từ xa. - Chỉ phù hợp với các ứng dụng quy mô nhỏ: SQLite không phải là lựa chọn
thích hợp cho các loại dữ liệu lớn và được cập nhập một cách liên tục.
- Tính đồng thời: SQLite cho phép đọc đồng thời nhưng chỉ một người có thể được ghi trong một thời điểm.
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG