Giải pháp của Sqlite

Một phần của tài liệu Hệ quản trị cơ sở dữ liệu Sqlite trên thiết bị di động và ứng dụng (Trang 44)

Hệ điều hành di động là phần không thể thiếu trên thiết bị di động. Có thể kể tới hệ điều hành iOS, Android, BlackBerry, WindowPhone – là những hệ điều hành đã và đang phát triển mạnh mẽ. Hệ điều hành Android được phát triển bởi công ty Google, iOS được phát triển bởi công ty Apple còn BlackBerry được phát triển bởi công ty BlackBerry và Window Phone được phát triển bởi công ty Microsoft. Điều đáng quan tâm ở đây là các hệ điều hành di động này dùng hệ quản trị CSDL Sqlite để lưu trữ dữ liệu. CSDL Sqlite đã được cài đặt sẵn trên nhiều hệ điều hành như Android, BlackBerry, iOS tạo điều kiện cho việc phát triển và sử dụng hệ quản trị CSDL trong các thiết bị di động. Hơn nữa, Sqlite có thể truy cập với hầu hết các ngôn ngữ lập trình như: Objective-C, Java, PHP, Basic, Perl...Với thực tế phát triển các hệ điều hành trên đã một phần chứng minh sự hiệu quả trong hoạt động lưu trữ của hệ quản trị CSDL Sqlite.

Bộ nhớ và việc sử dụng hợp lý bộ nhớ của thiết bị di động luôn là vấn đề đã được các nhà sản xuất và phát triển ứng dụng được quan tâm. Dữ liệu của hệ điều hành, dữ liệu của ứng dụng, dữ liệu phát sinh đang phát triển theo từng giờ và dung lượng dữ liệu chiếm một bộ nhớ đáng kể trong thiết bị di động. Trong khi Sqlite là một thư viện nén với dung lượng nội dung khoảng 300KB và nếu bỏ qua một số tuỳ chọn không cần thiết thì dung lượng có thể giảm xuống 180KB. Ngoài ra, Sqlite được thiết kế sao cho chiếm bộ nhớ trong ngăn xếp là ít nhất (4KB) và trong heap ít nhất là 100KB. Vì những lý do đó, Sqlite là một CSDL phổ biến và là lựa chọn của các thiết bị có bộ nhớ hạn chế, chẳng hạn như điện thoại di động, PDA và máy nghe nhạc MP3 để lưu trữ dữ liệu. Hơn nữa, có một mối liên hệ giữa bộ nhớ và tốc độ: Sqlite thường hoạt động nhanh hơn nếu thiết bị có bộ nhớ lớn, nhưng ngay cả với bộ nhớ hạn chế, nó vẫn hoạt động hiệu quả và có thể chấp nhận được.

Việc dữ liệu tăng theo từng giờ kéo theo việc thiết bị phải xử lý liên tục. Một thiết bị có bộ vi xử lý và bộ nhớ thấp sử dụng CSDL có dung lượng lớn thì điều gì sẽ xảy ra khi dữ liệu ngày càng tăng. Hiện tượng tràn bộ nhớ, tốc độ truy cập và xử lý chậm, đến mức bị gián đoạn hoặc làm chết chương trình ứng dụng và treo thiết bị là hoàn toàn có thể xảy ra. Một CSDL có dung lượng nhẹ và đơn giản như Sqlite là giải pháp hợp lý để giải quyết các trường hợp trên. Đa số các ứng dụng di động chỉ yêu cầu lưu một lượng dữ liệu nhất định nên xem xét sử dụng Sqlite để quản lý dữ liệu và đảm bảo tính bền vững của chúng. CSDL Sqlite gây ngạc nhiên vì sự nhanh chóng và tính năng phong phú trong khi tài nguyên mà nó dùng thì khiêm tốn. Đối với trường hợp tính toán phức tạp, Sqlite lưu trữ kết quả một lần vào CSDL dữ liệu và không tính toán lại nhiều lần giúp việc xử lý dữ liệu hiệu quả và không làm gián đoạn hay tốn bộ nhớ xử lý dữ liệu. Ngoài ra, đa số phần mềm ứng dụng trên thiết bị di động không đòi hỏi truy cập vào CSDL thực, do đó, CSDL Sqlite lại là lựa chọn tốt cho trường hợp này.

Thiết bị di động phản ánh tính di động của chúng. Do đó, đa số ứng dụng hay chức năng trên thiết bị di động đều có xu hướng được đóng gói. Đóng gói ở đây có thể hiểu là chương trình và tất cả các hệ thống tập tin phụ trợ như CSDL, tập tin cấu hình...được đóng gói thành một tập tin duy nhất. Đối với những phần mềm ứng dụng hay chức năng trên thiết bị di sử dụng CSDL lưu trữ dữ liệu nhỏ thì hệ thống CSDL được nhúng bên trong ứng dụng, đó cũng là cách mà các nhà phát triển ứng dụng đã và đang sử dụng. Hệ thống CSDL nhúng là hệ thống CSDL được tích hợp với phần mềm ứng dụng, việc truy cập hay lưu trữ dữ liệu được ẩn với người dùng cuối. Sqlite cũng là một kiểu CSDL nhúng, nó được nhúng vào ứng dụng và đảm nhận luôn vai trò máy chủ quản lý dữ liệu. Các hàm thao tác với dữ liệu của Sqlite cũng được nhúng cùng với mã của chương trình

và mã đó sẽ được biên dịch cùng với các đoạn mã khác của chương trình. So với các ứng dụng sử dụng hệ quản trị CSDL có máy chủ riêng biệt, khả năng lưu trữ và tốc độ truy cập nhanh thì CSDL Sqlite cũng có một số ưu nhược điểm về tốc độ truy cập và dung lượng lưu trữ. Rõ ràng, tốc độ truy cập và dung lượng lưu trữ của CSDL nhúng không thể bằng với một CSDL có máy chủ riêng biệt nhưng CSDL có máy chủ riêng biệt lại yêu cầu các cấu hình, kết nối mạng hay yêu cầu tên người dùng và mật khẩu người dùng. CSDL có máy chủ riêng biệt hoạt động phụ thuộc vào việc kết nối mạng. Trong khi đó, Sqlite thực thi mà không phụ thuộc vào các yếu tố trên và mặc dù thiết bị di động không được kết nối mạng thì Sqlite vẫn hoạt động tốt. Ngoài ra, tập tin CSDL Sqlite chỉ là một tập tin duy nhất, nhỏ gọn, mọi cấu hình hay các bảng dữ liệu đều chứa trong tập tin này. Cả ứng dụng và hệ thống Sqlite được thực thi cùng nhau trong một quá trình nên làm đơn giản hoá việc quản lý CSDL và dễ dàng hơn cho việc triển khai ứng dụng.

Hình 2.11. Quá trình nhúng CSDL trong ứng dụng

Ngoài ra, giao diện người dùng là yếu tố quyết định thành công của phần mềm ứng dụng. Một ứng dụng được coi là tốt thì tối thiểu phải đảm bảo giải quyết được các lỗi giao diện người dùng. Việc sử dụng CSDL có máy chủ riêng biệt thường gây lỗi kết nối do không được kết nối mạng hoặc là không đúng cấu hình. Điều này thường ảnh hưởng đến giao diện người dùng của ứng dụng. Trong khi Sqlite không phụ thuộc vào các kết nối mạng hay cấu hình nên việc truy cập dữ liệu thường không ảnh hưởng đến giao diện người dùng của ứng dụng.

Tóm lại, CSDL Sqlite là giải pháp được coi là tối ưu vì đã giải quyết được những vấn đề còn tồn tại trên thiết bị di động. Hạn chế về bộ nhớ, tốc độ truy cập, tốc độ xử lý là những hạn chế điển hình trên thiết bị di động thì việc sử dụng Sqlite đã giải quyết phần nào những hạn chế đó. Ngoài ra, việc lượng dữ liệu tăng lên từng giờ đã dẫn đến nhiều hậu quả không tốt khi thực thi ứng dụng trên thiết bị di động và việc kiểm soát lượng dữ liệu tăng lên không phải là chuyện dễ làm. CSDL Sqlite được sử dụng để lưu trữ dữ liệu

cho ứng dụng trên thiết bị di động đã góp phần giải quyết được những đặc điểm còn tồn tại trên của thiết bị di động.

2.5. Kết luận chƣơng

Trong những năm gần đây, thiết bị di động phát triển mạnh mẽ cả về số lượng lẫn chất lượng. Đặc biệt, phải kể đến dung lượng bộ nhớ, bộ vi xử lý, chất lượng pin cung cấp năng lượng. Tính đến tháng 10/2013, dung lượng bộ nhớ lớn nhất là 64GB, bộ vi xử lý đạt được tốc độ lớn nhất là 2.3 GHz, và nguồn năng lượng pin có thể đáp ứng là 3200 mAh. Tuy đã có những cải thiện rõ rệt nhưng với khả năng kết nối của thiết bị di động làm dữ liệu tăng lên từng giờ thì nhu cầu lưu trữ và xử lý dữ liệu vẫn còn là những hạn chế và nhược điểm của các thiết bị di động nói chung. Ngoài ra, sự tương thích trong sự lựa chọn hệ quản trị CSDL của phần mềm ứng dụng với hệ quản trị CSDL của hệ điều hành cũng được chú ý. Hệ điều hành di động được sử dụng nhiều như Android, iOS, WindowPhone và BlackBerry lại đang sử dụng hệ quản trị CSDL Sqlite làm công cụ để lưu trữ dữ liệu.

Tóm lại, hệ quản trị CSDL Sqlite được biết đến là hệ quản trị nhúng, nhỏ gọn, lưu trữ dữ liệu mà không cần cấu hình, được sử dụng trên nhiều hệ điều hành di động. Với dung lượng thư viện chỉ khoảng 300KB, được nhúng trong phần mềm ứng dụng, đặc biệt Sqlite lại được cài sẵn trên các hệ điều hành thì Sqlite đã giải quyết được những mong muốn mà các nhà phát triển cần cho thiết bị di động.

Chƣơng 3: Xây dựng ứng dụng trên thiết bị di động iPhone với Sqlite

Những năm gần đây, thị trường sản xuất thiết bị di động phát triển mạnh mẽ. Những chiếc điện thoại di động ra đời với rất nhiều các chức năng mới. Chức năng có thể thấy ở bất kỳ chiếc điện thoại di động là chức năng chụp ảnh. Từ những thiết bị có camera với độ phân giải vài megapixel đến những thiết bị có camera với độ phân giải vài chục megapixel. Và những thiết bị này đã cải thiện đáng kể nhu cầu chụp hình của người dùng. Tuy nhiên, những tiện ích của chức năng này được cung cấp bởi hệ điều hành di động còn hạn chế. Người dùng chỉ có thể chụp và lưu hình ảnh hoặc lưu hình ảnh theo album nhưng chưa thể cài đặt thêm một số tiện ích như đặt mật khẩu cho album, cài đặt ảnh bìa cho album…Để giải quyết những hạn chế đó, cần một ứng dụng cung cấp đầy đủ các tiện ích như chụp hình, tạo album, đặt mật khẩu, cài đặt ảnh bìa cho album hay chia sẻ hình ảnh trên mạng xã hội facebook hoặc email.

Trong chương này, chúng ta sẽ đi vào tìm hiểu cách xây dựng ứng dụng quản lý hình ảnh trên thiết bị iPhone. Thông qua việc tìm hiểu môi trường phát triển, những khái niệm liên quan và những công việc cần thiết chúng ta sẽ có những nền tảng cơ bản để xây dựng một ứng dụng cho thiết bị iPhone. Đặc biệt là cách sử dụng hệ quản trị Sqlite, cách thức lưu trữ, và cách thức giải quyết việc lưu trữ dữ liệu với dung lượng lớn trong ứng dụng cụ thể.

Một phần của tài liệu Hệ quản trị cơ sở dữ liệu Sqlite trên thiết bị di động và ứng dụng (Trang 44)

Tải bản đầy đủ (PDF)

(67 trang)