Hệ điều hành di động

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 41)

Hệ điều hành Android, iOS, WindowPhone, BlackBerry là những hệ điều hành được nhắc đến nhiều nhất trong những năm gần đây. Các phiên bản hệ điều hành được ra đời hàng loạt, không ngừng cải tiến phù hợp với các phiên bản thiết bị di động. Theo thống kê về, số lượng thiết bị di động sử dụng hệ điều hành được bán ra từ năm 2007 đến năm 2013 cho thấy con số tăng đáng kể của thiết bị sử dụng hệ điều hành Android và con số phát triển ổn định của thiết bị sử dụng hệ điều hành iOS. Có thể nói, hai hệ điều hành này đang là hệ điều hành được sử dụng nhiều nhất từ khi chúng ra đời cho đến nay.

Hình 2.8. Số lƣợng thiết bị di động sử dụng hệ điều hành6 2.3. Những vấn đề thực tế

Trong những năm gần đây, các vấn đề được coi là cốt lõi của các thiết bị di động về bộ nhớ, bộ vi xử lý và nguồn năng lượng pin đã và đang được cải thiện và phát triển mạnh mẽ. Rất nhiều thiết bị di động của nhiều hãng sản xuất thiết bị di động với cấu hình và tính năng mạnh được tung ra thị trường theo từng năm. Và mỗi một phiên bản di động

6

được cập nhật kéo theo tính năng và cấu hình cũng được cải thiện. Đặc biệt phải kể đế sự cải thiện của bộ nhớ và bộ xử lý và việc tăng tuổi thọ của pin. Nguyên nhân chủ yếu là do những đặc điểm đó ảnh hưởng trực tiếp đến hoạt động của thiết bị khi mà số lượng ứng dụng tăng và nhu cầu kết nối bất cứ lúc nào, kết nối liên tục của thiết bị luôn rất cần đến bộ nhớ, bộ vi xử lý tốt và nguồn năng lượng pin nhất định.

Các thiết bị di động hầu hết được kết nối thông qua mạng WiFi hay các mạng dữ liệu di động truyền thống. Điều này có nghĩa là dữ liệu liên tục được cập nhật và chia sẻ. Có nhiều phần mềm được coi là hiệu quả được phát triển trên các thiết bị di động như: hệ thống định vị online và offline trên GPS. Đặc điểm của các phần mềm hệ thống này là nhu cầu lưu trữ dữ liệu cao, truy cập dữ liệu nhanh chóng, tìm kiếm hoặc cập nhật các mạng không dây hoặc mạng di động với độ tin cậy và hiệu quả. Nhu cầu lưu trữ dữ liệu tăng cao và dữ liệu càng phức tạp (dữ liệu hình ảnh, nhạc, video...) đi kèm với khái niệm nhân rộng dữ liệu trên máy chủ và các CSDL trên hệ thống thiết bị di động là không thể tránh khỏi.

Hình 2.9. Lƣu lƣợng dữ liệu di động theo loại ứng dụng7

Với đặc điểm kết nối thiết bị di động thông qua mạng WiFi hay các mạng dữ liệu di động truyền thống thì những ứng dụng di động thường có xu hướng xây dựng kết nối

7

dữ liệu trực tuyến. Với một máy chủ lưu trữ dữ liệu, thì nhà phát triển không cần quan tâm đến giới hạn dung lượng lưu trữ. Việc kết nối dữ liệu trực tuyến này đã giải quyết được nhu cầu lưu trữ dữ liệu với dung lượng lớn. Tuy nhiên, việc lưu trữ dữ liệu trên máy chủ cần phải cấu hình máy chủ, công việc này mất khá nhiều thời gian. Hơn nữa, không phải lúc nào thiết bị di động cũng sẵn sàng cho việc kết nối mạng. Khi việc kết nối mạng gián đoạn, ứng dụng không kết nối được đến máy chủ lưu trữ, do đó không có dữ liệu hiển thị và sử dụng. Nhược điểm này sẽ được khắc phục nếu sử dụng CSDL nhúng bên trong ứng dụng nhỏ gọn, dung lượng thấp mà vẫn đảm bảo được việc lưu trữ và truy cập dữ liệu và không tốn không gian bộ nhớ.

Hình 2.10. Lƣu lƣợng dữ liệu di động theo loại thiết bị 8

Số lượng dữ liệu trên thiết bị di động tạo ra mỗi phút đang phát triển nhanh. Dữ liệu được tạo ra chủ yếu là thông qua người dùng ứng dụng. Mỗi thao tác như tạo mới hay cập nhật dữ liệu cho ứng dụng đã làm cho dữ liệu lưu trữ được tăng lên. Đó là chưa kể đến việc kết nối thường xuyên, kết nối liên tục của di động cũng không nằm ngoài nguyên nhân làm tăng lượng dữ liệu lưu trữ. Dữ liệu tăng đồng nghĩa với lưu trữ nhiều, số lượng truy cập dữ liệu cũng tăng cao, tốc độ truy cập dữ liệu sẽ giảm. Do đó, việc đảm bảo nhu cầu lưu trữ và truy cập dữ liệu, đồng thời phải đảm bảo tốc độ và tính bền vững của dữ liệu.

Mỗi thiết bị của mỗi hãng phát triển có cách thu thập và giám sát dữ liệu theo nhiều cách khác nhau nhưng xu hướng chung vẫn là áp dụng các hệ quản trị CSDL nhẹ. Có lẽ đặc tính nhẹ của hệ quản trị CSDL nhẹ là đặc điểm hàng đầu khiến cho các nhà phát

8

triển lựa chọn sử dụng chúng đặc biệt là trong các hệ thống thiết bị di động giải quyết được những hạn chế tiêu biểu của các thiết bị di động là bộ nhớ và tốc độ bị giới hạn.

Ngoài hạn chế về dung lượng bộ nhớ và tốc độ của các thiết bị di động thì ứng dụng cần đáp ứng một số tiêu chí khác. Tiêu chí về đồng bộ hoá dữ liệu, tiêu chí trong việc quản lý dữ liệu như nhúng dữ liệu trong ứng dụng, tự quản lý dữ liệu và quản lý dữ liệu từ xa, tiêu trí hoạt động trong ứng dụng phức tạp. Đó là các tiêu chí mà các ứng dụng phần mềm trên thiết bị di động cần phải đáp ứng. Một hệ quản trị CSDL nhẹ không những nhỏ gọn mà còn có thể đáp ứng được các tiêu chí đó. Đó cũng là lý do mà hệ quản trị CSDL nhẹ được dùng phổ biến trong các thiết bị di động.

Thêm nữa, số lượng ứng dụng trên thiết bị di động tăng nhanh chóng. Đi kèm với đó là nhu cầu về nguồn năng lượng pin thiết bị di động cần sử dụng để chạy các ứng dụng đó. Khi ứng dụng ở chế độ đang hoạt động hay ở chế độ nền thì đều cần một lượng pin nhất định. Ngoài ra, khi thiết bị di động có kết nối mạng thì thiết bị di động cũng dành một lượng pin cho những kết nối này, đặc biệt, những kết nối này làm năng lượng pin bị sụt giảm nhanh chóng. Với những lý do đó, mặc dù thiết bị có nguồn năng lượng pin lớn thì cũng khó mà đáp ứng hết nhu cầu cung cấp năng lượng cho các hoạt động của thiết bị di động.

Tóm lại, với những đặc điểm đang có như: nhỏ gọn, thường sử dụng hệ điều hành di động, có dung lượng bộ nhớ, tốc độ bị giới hạn, có nguồn năng lượng pin hạn chế, có khả năng kết nối mạng thì thiết bị di động cần có những giải pháp để giải quyết những hạn chế đó. Và việc lựa chọn một hệ quản trị CSDL phù hợp là vấn đề thực tế cần phải làm.

2.4. Giải pháp của Sqlite

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. (adsbygoogle = window.adsbygoogle || []).push({});

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ể

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 41)