ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÙI THỊ THẮM NGHIÊN CỨU KIẾN TRÚC CSDL TRONG DỊCH VỤ DỰA TRÊN VỊ TRÍ LBS TRÊN CƠ SỞ ĐIỆN TOÁN ĐÁM MÂY Ngành: Công nghệ thông tin Chuyê
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÙI THỊ THẮM
NGHIÊN CỨU KIẾN TRÚC CSDL
TRONG DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS) TRÊN CƠ SỞ ĐIỆN TOÁN ĐÁM MÂY
LUẬN VĂN THẠC SĨ
Hà Nội – 2013
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÙI THỊ THẮM
NGHIÊN CỨU KIẾN TRÚC CSDL
TRONG DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS) TRÊN CƠ SỞ ĐIỆN TOÁN ĐÁM MÂY
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐẶNG VĂN ĐỨC
Hà Nội - 2013
Trang 3MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC BẢNG BIỂU TRONG LUẬN VĂN 8
DANH MỤC HÌNH VẼ TRONG LUẬN VĂN 9
MỞ ĐẦU 10
CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ DỊCH VỤ LBS 12
1.1 Tổng quan về điện toán đám mây 12
1.1.1 Điện toán đám mây là gì? 12
1.1.2 Mô hình dịch vụ của điện toán đám mây 13
1.1.3 Mô hình triển khai điện toán đám mây 15
1.1.4 Ưu, nhược điểm của điện toán đám mây 19
1.2 Tổng quan về LBS 20
1.2.1 LBS là gì? 20
1.2.2 Các thành phần của LBS 23
1.2.3 Các loại hình ứng dụng LBS 24
1.2.4 Một số ví dụ về ứng dụng LBS: 25
1.3 Kết luận 27
CHƯƠNG 2: KIẾN TRÚC CSDL ỨNG DỤNG TRONG ĐIỆN TOÁN ĐÁM MÂY 29
2.1 Giới thiệu 29
2.2 Kiến trúc cơ sở dữ liệu phân tán 30
2.2.1 Kiến trúc cổ điển 30
2.2.2 Kiến trúc phân đoạn 31
2.2.3 Kiến trúc sao lặp 32
2.2.4 Kiến trúc điều khiển phân tán 33
2.2.5 Kiến trúc Caching 34
2.3 Một số nhà cung cấp điện toán đám mây phổ biến 34
2.3.1 Amazon 35
2.3.2 Google 36
Trang 42.3.3 Microsoft 37
2.4 Kết luận 38
CHƯƠNG 3: DỊCH VỤ LBS VỚI KIẾN TRÚC CSDL TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY CỦA GOOGLE 39
3.1 Ưu điểm của điện toán đám mây Google 39
3.2 Google App Engine 40
3.2.1 Tổng quan về GOOGLE APP ENGINE 40
3.2.2 Phát triển ứng dụng App Engine trên nền tảng ngôn ngữ Java 43
3.3 Google BigTable 44
3.3.1 Giới thiệu 44
3.3.2 Mô hình dữ liệu 44
3.3.3 Buiding Blocks 46
3.3.4 Implementation – các vấn đề 47
3.3.5 Một số ứng dụng thực tế sử dụng BigTable 51
3.2.6 Đánh giá hiệu năng sử dụng 52
3.4 Datastore 53
3.4.1 Giới thiệu 53
3.4.2 Những ưu điểm so với CSDL truyền thống 53
3.4.3 Thực thể, thuộc tính và khóa: 54
3.4.4 Truy vấn và chỉ mục 56
3.4.5 Các giao tác 57
3.5 Ứng dụng thử nghiệm dịch vụ LBS trên nền tảng kiến trúc CSDL Datastore 57
3.5.1 Đặt vấn đề 57
3.5.2 Lựa chọn công cụ triển khai 58
3.5.3 Thu thập dữ liệu 58
3.5.4 Số hóa dữ liệu dựa trên Google App Engine 58
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 64
Trang 5Khởi tạo môi trường phát triển ứng dụng Google App Engine trên Eclipse 64
1 Cài đặt Eclipse 64
2 Cài đặt Google Plugin cho Eclipse 64
3 Khởi tạo một Project sử dụng Google App Engine 64
4 Chạy ứng dụng 64
5 Đưa ứng dụng lên Google App Engine 65
Trang 6Unit
Bộ xử lý trung tâm
6 GAE Google App Engine Dịch vụ điện toán đám mây của
11 IT Informatic Technology Công nghệ thông tin
12 JPA Java Persistence API Giao diện lập trình ứng dụng
Trang 715 NIST National Institute of
Standards and Technology
Viện Tiêu chuẩn và Công nghệ quốc gia Mỹ
16 PaaS Platform as a Service Dịch vụ nền tảng
17 SaaS Software as a Service Dịch vụ phần mềm
Trang 8DANH MỤC BẢNG BIỂU TRONG LUẬN VĂN
Bảng 2 1: Một số nhà cung cấp điện toán đám mây 35
Bảng 3 1: Bảng mô tả giới hạn sử dụng của một ứng dụng GAE miễn phí 42
Bảng 3 2: Bảng mô tả free quota của một ứng dụng GAE miễn phí 43
Bảng 3 3 Các kiểu dữ liệu của Datastore được hỗ trợ trong Java 56
Trang 9DANH MỤC HÌNH VẼ TRONG LUẬN VĂN
Hình 1.1: Mô hình dịch vụ điện toán đám mây 13
Hình 1 2: Mô hình Public Cloud 16
Hình 1 3: Mô hình Private Cloud 17
Hình 1 4: So sánh Private Cloud và Public Cloud 17
Hình 1 5: Kết hợp Public Cloud và Private Cloud 18
Hình 1 6: Triển khai ứng dụng trên Hybrid Cloud 19
Hình 1 7: Các hệ thống thông tin tích hợp 21
Hình 1 8: Công nghệ định vị và hệ thống LBS 22
Hình 1 9: Các thành phần của LBS 23
Hình 1 10: Tổng quan hệ thống COSPAS-SARSAT (vệ tinh NOAA và dịch vụ thông tin, 2005) 26
Hình 1 11: Dẫn đường ô tô (Tomtom, 2005) 27
Hình 2 1: Kiến trúc cổ điển 30
Hình 2 2: Kiến trúc phân đoạn 31
Hình 2 3: Kiến trúc sao lặp 32
Hình 2 4: Kiến trúc phân tán 33
Hình 2 5: Kiến trúc caching 34
Hình 2 6: Mô hình công nghệ điện toán đám mây của Amazon 35
Hình 2 7: Mô hình công nghệ điện toán đám mây của Microsoft 37
Hình 3 1: Bảng theo dõi hoạt động ứng dụng của GAE 41
Hình 3 2: Một lát cắt Webtable: 45
Hình 3 3: Định vị tablet phân cấp 48
Hình 3 4: Biểu diễn tablet 50
Hình 3 5: Đánh giá hiệu năng sử dụng Bigtable 52
Hình 3 6: Thiết kế CDSL cho loại đối tượng ATM 58
Hình 3 7: Giao diện trên Web – CSDL điểm đặt cây ATM tại Tây Nguyên 60
Hình 3 8: Tìm kiếm các điểm ATM có trong phạm vi 500m 60
Trang 10MỞ ĐẦU
Dịch vụ dựa trên vị trí (Location Based Services - LBS) là một hướng nghiên cứu rất được quan tâm và được ứng dụng nhiều trong thực tế tại Việt Nam trong những năm gần đây Có thể hiểu một cách đơn giản về LBS là những dịch vụ tiện ích cung cấp cho người sử dụng dựa trên vị trí địa lý của họ Nó bao gồm những dịch vụ về các lĩnh vực giao thông, địa điểm du lịch, quảng cáo trực tuyến…
Hiện nay, trên thế giới LBS đã có nhiều nghiên cứu và ứng dụng trong thực tiễn như điều hành giao thông, quản lý vườn quốc gia, thương mại dịch vụ… Ở Việt nam, một số dịch vụ dựa trên vị trí đã bắt đầu được một số doanh nghiệp triển khai Có thể
kể đến các dịch vụ tìm kiếm điểm tiện ích như điểm đặt ATM, cây xăng, nhà hàng… ở xung quanh vị trí của khách hàng
Việc các thiết bị di động cá nhân có tích hợp GPS (Global Positioning System) ngày càng phổ biến trong cuộc sống càng tạo điều kiện cho phép các nhà phát triển nghiên cứu mở rộng các ứng dụng về dịch vụ dựa trên vị trí
Cùng với sự phát triển mạnh mẽ của dịch vụ Điện toán đám mây (Cloud Computing) và công nghệ mạng di động, sự tăng nhanh số lượng các thiết bị di động
sử dụng dịch vụ lưu trữ đám mây để mở rộng khả năng lưu trữ cũng như khả năng chia
sẻ dữ liệu Với ưu điểm không cần mất quá nhiều chi phí khởi tạo bảo trì hệ thống máy chủ, với khả năng đáp ứng đến 99.99% thời gian hoạt động, khả năng mở rộng, Điện toán đám mây đang là một lựa chọn khả thi cho các doanh nghiệp phát triển và cung cấp các dịch vụ nội bộ và cho khách hàng
Ở Việt Nam hiện nay, việc xây dựng dịch vụ trên nền tảng Điện toán đám mây còn là một lĩnh vực mới đang được nghiên cứu và ứng dụng Vì vậy, luận văn tập
trung nghiên cứu vào lĩnh vực này: “Nghiên cứu kiến trúc CSDL trong dịch vụ dựa
trên vị trí (LBS) trên cơ sở điện toán đám mây”
Nội dung luận văn bao gồm 3 chương:
Chương 1: Tổng quan về điện toán đám mây và dịch vụ dựa trên vị trí (LBS)
- Chương này đưa ra một cái nhìn tổng quan nhất về Điện toán đám mây, về lợi ích và hạn chế khi áp dụng Điện toán đám mây trong thực tiễn
- Ngoài ra, nội dung chương này cũng giới thiệu chung về dịch vụ dựa trên vị trí (Location Based Services – LBS) và những ứng dụng của dịch vụ LBS trong thực tiễn
Trang 11Chương 2: Kiến trúc CSDL ứng dụng trong công nghệ Điện toán đám mây
Chương này giới thiệu những kiến trúc CSDL cơ bản trong điện toán đám mây, so sánh các công nghệ Điện toán đám mây của một số nhà cung cấp phổ biến
Chương 3: Dịch vụ LBS với kiến trúc CSDL trên nền tảng điện toán đám mây của Google
- Giới thiệu về công nghệ Điện toán đám mây của Google – Google App Engine
- Giới thiệu các mô hình dữ liệu Bigtable và Datastore
- Xây dựng CSDL thử nghiệm cho dịch vụ dựa trên vị trí trên nền tảng điện toán đám mây trong việc tìm kiếm các điểm đặt cột ATM xung quanh một vị trí trên bản đồ
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ
DỊCH VỤ LBS
- Chương này đưa ra một cái nhìn tổng quan nhất về Điện toán đám mây, về lợi ích và hạn chế khi áp dụng Điện toán đám mây trong thực tiễn
- Ngoài ra, nội dung chương này giới thiệu chung về dịch vụ dựa trên vị trí (Location Based Services – LBS) và những ứng dụng của dịch vụ LBS trong thực tiễn
1.1 Tổng quan về điện toán đám mây
1.1.1 Điện toán đám mây là gì?
Chìa khóa để định nghĩa điện toán đám mây là bản thân các “đám mây” Với mục đích của chúng ta, đám mây là một nhóm nhiều các máy tính được kết nối lại với nhau Những máy tính này có thể là các máy tính cá nhân hoặc các máy chủ mạng, có thể là máy chung hoặc máy riêng
Trên thực tế, có rất nhiều các định nghĩa của các tổ chức khác nhau về điện toán đám mây Người viết xin trích dẫn một số định nghĩa điển hình:
Theo Wikipedia:
“Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng
co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạng Internet”
Theo Gartner (http://www.buildingthecloud.co.uk/)
“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet”
Theo Ian Foster:
“Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng (platform)
và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”[6]
Theo NIST (The National Institute of Standards and Technology):
“Điện toán đám mây là một mô hình cho phép truy cập khắp nơi, thuận tiện, theo yêu cầu để chia sẻ nguồn tài nguyên tính toán (ví dụ như: mạng, máy chủ, bộ nhớ,
Trang 13ứng dụng và dịch vụ) mà có thể được cung cấp và giải phóng một cách nhanh chóng với sự quản lý hoặc can thiệp của nhà cung cấp dịch vụ là tối thiểu.” [3]
Theo Rajkumar Buyya:
“Cloud là một loại hệ thống phân bố và xử lý song song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng” [4]
Điện toán đám mây mở rộng ra khỏi 1 công ty hoặc 1 xí nghiệp Các ứng dụng
và dữ liệu được phục vụ bởi đám mây luôn sẵn sàng cho một nhóm nhiều người sử dụng, vượt ra khỏi tổ chức, hệ thống Mọi truy cập được thực hiện thông qua Internet Bất kể người dùng hợp pháp nào đều có quyền truy cập đến tài liệu, trình ứng dụng ở bất kỳ nơi đâu thông qua mạng Internet Và, đối với người dùng, các kỹ thuật và cơ sở
hạ tầng phía sau những đám mây là vô hình
1.1.2 Mô hình dịch vụ của điện toán đám mây
Dịch vụ điện toán đám mây rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán từ cung cấp năng lực tính toán trên máy chủ hiệu suất cao hay các máy chủ ảo, không gian lưu trữ dữ liệu, một hệ điều hành, một công cụ lập trình, hay một ứng dụng
kế toán … Các dịch vụ cũng được phân loại khá da dạng, nhưng các mô hình dịch vụ điện toán đám mây phổ biến nhất có thể được phân thành 3 nhóm: Dịch vụ phần mềm (SaaS), Dịch vụ nền tảng (PaaS), Dịch vụ hạ tầng (IaaS)
Hình 1.1: Mô hình dịch vụ điện toán đám mây
Trang 14Software-as-a-Service
SaaS là khả năng tiếp cận phần mềm trên Intenet như một dịch vụ Cách tiếp cận trước đây của SaaS là ASP (Nhà cung cấp dịch vụ ứng dụng) Các ASP cung cấp các thuê bao đối với phần mềm được lưu trữ và phân phối trên mạng ASP tính phí theo theo thời gian sử dụng Theo cách này, bạn không phải mua phần mềm mà chỉ thuê nó khi cần mà không quan tâm tới hay bỏ công sức quản lý tài nguyên tính toán bên dưới
Góc độ khác về SaaS là việc sử dụng phần mềm chạy từ xa trên mạng Phần mềm này có thể ở dạng Web services (các dịch vụ dùng bởi ứng dụng cục bộ) hay các ứng dụng từ xa mà có thể theo dõi kết quả thông qua trình duyệt web Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng cho doanh nghiệp mà nổi bật nhất là CRM Các ứng dụng SaaS cho người dùng cuối phổ biến là các ứng dụng office Online của Microsoft hay Google Docs của Google Còn việc chạy ứng dụng từ
xa thường dựa trên các application server (là một software framework cung cấp các API – như quản lý giao dịch hay truy cập CSDL) Lấy ví dụ như Red Hat JBoss Application Server, Apache Geronimo, và IBM® WebSphere® Application Server
Platform-as-a-Service
Dịch vụ PaaS có thể mô tả như là một nền tảng được ảo hóa toàn bộ gồm một hay nhiều Server (ảo hóa trên một tập các server vật lý), các hệ điều hành và các ứng dụng chuyên biệt (như là Apache và MySQL cho ứng dụng web)
PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng đám mây
đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa (middleware), các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng CC thông qua API đó Ở mức PaaS, khách hàng không quản lý nền tảng Cloud hay các tài nguyên lớp như hệ điều hành, lưu giữ ở lớp dưới Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV)
Một ví dụ thú vị của PaaS là Google App Engine App Engine là một dịch vụ cho phép bạn triển khai ứng dụng web của mình trên kiến trúc rất khả mở của Google App Engine cung cấp một sandbox cho ứng dụng Python, Java, PHP, … (các ngôn ngữ khác sẽ hỗ trợ sau) như là các API Python, … để lưu trữ và quản lý dữ liệu (dùng Google Query Language) bên cạnh các hỗ trợ về xác thực người dùng, thao tác hình ảnh và gửi email
Một ví dụ khác về PaaS là 10gen, nó vừa là một nền tảng “đám mây” vừa là một gói phần mềm nguồn mở cho phép bạn download để tạo ra “đám mây” của riêng
Trang 15mình Software stack của nó cũng giống như App Engine nhưng cũng có vài điểm khác: hỗ trợ các ngôn ngữ Java, Python, Ruby Nền tảng của nó cũng dùng khái niệm sandbox để cô lập các ứng dụng và cung cấp một môi trường đáng tin cậy trên nhiều máy tính (sử dụng Linux)
Infrastructure-as-a-Service
Dịch vụ IaaS cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ và các ứng dụng do khách hàng cài đặt Nhà cung cấp IaaS thương mại nối tiếng nhất là Amazon Elastic Compute Cloud (EC2) Bạn chỉ phải trả tiền cho thời gian tính toán, dung lượng lưu trữ và băng thông mạng
Dự án Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) là một bản thực thi mã nguồn mở của EC2, trong đó tương thích về giao diện với dịch vụ thương mại Giống như EC2, Eucalyptus dựa trên Linux với Xen dùng cho ảo hóa hệ điều hành Eucalyptus được phát triển tại đại học California cho mục đích nghiên cứu điện toán đám mây
Một thực thi khác theo kiểu của EC2 là nền tảng tính toán đám mây Enomalism (cũng là nguồn mở) Enomalism dựa trên Linux với hỗ trợ cho cả Xen và Kernel Virtual Machine (KVM) Nhưng không giống các giải pháp IaaS thuần túy khác, Enomalism cung cấp một software stack dựa trên TurboGears Web application framework và Python
1.1.3 Mô hình triển khai điện toán đám mây
Dựa theo mô hình triển khai, điện toán đám mây được chia làm 3 loại chính: Dịch vụ đám mây mở - Public Cloud, Dịch vụ đám mây nội bộ - Private Cloud và Dịch vụ đám mây lai - Hybrid Cloud
1.1.3.1 Dịch vụ đám mây mở - Public Cloud
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ và các ứng dụng của người dùng đều nằm trên hệ thống Cloud
Người sử dụng dịch vụ sẽ được lợi là chi phí đầu tư thấp, giảm thiểu rủi ro do nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống, cơ sở hạ tầng, bảo mật… Một lợi ích khác của mô hình này là cung cấp khả năng co giãn (mở rộng hoặc thu nhỏ) theo yêu cầu của người sử dụng
Trang 16Dịch vụ Lưu trữ Dịch vụ Mạng Dịch vụ Tính Toán
Public Cloud
Internet
Hình 1 2: Mô hình Public Cloud
Tuy nhiên Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu quan trọng của mình khi sử dụng dịch vụ Cloud
1.1.3.2 Dịch vụ đám mây nội bộ - Private Cloud
Trong mô hình Private Cloud, cơ sở hạ tầng và các dịch vụ được xây dựng để phục vụ cho một tổ chức (doanh nghiệp) duy nhất Điều này giúp cho doanh nghiệp có thể kiểm soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch vụ Doanh nghiệp sở hữu cơ sở hạ tầng và quản lý các ứng dụng được triển khai trên đó Private Cloud có thể được xây dựng và quản lý bởi chính đội ngũ IT của doanh nghiệp hoặc có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này Mặc dù tốn chi phí đầu tư nhưng Private Cloud lại cung cấp cho doanh nghiệp khả năng kiểm soát và quản lý chặt chẽ những dữ liệu quan trọng
Trang 17Dịch vụ Lưu trữ Dịch vụ Mạng Dịch vụ Tính Toán
Private Cloud
Intranet
Hình 1 3: Mô hình Private Cloud
Hình 1 4: So sánh Private Cloud và Public Cloud 1.1.3.3 Dịch vụ đám mây lai - Hybrid Cloud
Như đã phân tích ở trên, Public Cloud dễ áp dụng, chi phí thấp nhưng không an toàn Ngược lại, Private Cloud an toàn hơn nhưng tốn chi phí và khó áp dụng Ý tưởng của mô hình dịch vụ đám mây lai là kết hợp các ưu điểm của 2 loại dịch vụ trên thành một giải pháp đám mây hoàn chỉnh cung cấp cho người dùng
Trang 18Dịch vụ Lưu trữ
Dịch vụ Mạng Dịch vụ Tính Toán
Public Cloud
Dịch vụ Lưu trữ Dịch vụ Mạng Dịch vụ Tính Toán
Public Cloud
Dịch vụ Lưu trữ Dịch vụ Mạng Dịch vụ Tính Toán
rn et
Hình 1 5: Kết hợp Public Cloud và Private Cloud
Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud)
Một khó khăn khi áp dụng mô hình Hybrid Cloud là làm sao triển khai cùng một ứng dụng trên cả hai phía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt động một cách hiệu quả
Trang 19Hình 1 6: Triển khai ứng dụng trên Hybrid Cloud
Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể Mỗi mô hình đều có điểm mạnh và yếu của nó Các doanh nghiệp phải cân nhắc đối với các mô hình Điện toán đám mây mà họ chọn
Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề khác nhau Nhu cầu về một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị để giải quyết một nhu cầu tạm thời Tương tự, nhu cầu về một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud
1.1.4 Ưu, nhược điểm của điện toán đám mây
1.1.4.1 Ưu điểm
Điện toán đám mây giúp giảm chi phí máy tính Để chạy các ứng dụng web của điện toán đám mây, các máy tính cá nhân không cần phải có hiệu suất cao và giá thành cao, cũng không cần phải có khả năng xử lý mạnh hoặc dung lượng lớn
Điện toán đám mây giúp cải thiện hiệu suất của các máy tính cá nhân vì các máy tính này không cần phải cài nhiều chương trình và chỉ có một số ít chương trình
và tiến trình được nạp vào trong bộ nhớ
Điện toán đám mây ra đời làm giảm giá thành phần mềm Thay vì phải mua các phần mềm đắt đỏ, hầu hết mọi thứ ta đạt được đều miễn phí Với các ứng dụng web, việc cập nhật diễn ra tự động, ứng dụng mà người dùng truy cập gần nhất chính là ứng dụng được cập nhật mới nhất
Trang 20Điện toán đám mây giúp cải thiện định dạng của văn bản Dung lượng lưu trữ trên điện toán đám mây cũng vô hạn, lên tới hàng trăm Pbytes, giúp lưu trữ được mọi
dữ liệu mà người dùng cần lưu
Điện toán đám mây cũng làm tăng độ tin cậy của dữ liệu, nếu một máy tính trên đám mây bị hỏng, việc lưu trữ dữ liệu không hề bị ảnh hưởng, tất cả các dữ liệu vẫn ở trên đám mây và truy cập được
Điện toán đám mây cho phép truy cập dữ liệu toàn cầu, chỉ cần một máy tính nối mạng Internet là có thể truy cập được dữ liệu cho dù người dùng ở bất kỳ đâu
Một ưu điểm nữa của điện toán đám mây là độc lập thiết bị Người dùng có thể truy cập đám mây từ bất kỳ máy tính nào hoặc từ bất kỳ thiết bị nào, miễn là thiết bị
đó được kết nối với mạng Internet
1.1.4.2 Nhược điểm
Để truy cập được vào đám mây và sử dụng các tiện ích mà đám mây cung cấp đòi hỏi thiết bị phải được kết nối vào mạng Internet Nghĩa là nếu không được kết nối với mạng, người dùng sẽ không thể truy cập được bất cứ thứ gì kể cả tài liệu của chính
họ
Kể cả khi đã được kết nối với mạng rồi, hiệu quả làm việc của người dùng vẫn
có thể không cao nếu họ có kết nối mạng tốc độ chậm Điện toán đám mây chỉ dành cho các mạng tốc độ nhanh, băng thông lớn
Trên đám mây, tính năng của ứng dụng có thể bị giới hạn Ngày nay nhiều ứng dụng dựa trên nền web không có đầy đủ tính năng như các ứng dụng desktop Ví dụ khi dùng Google Present, người dùng không dùng được nhiều tính năng như dùng Microsoft PowerPoint Các tính năng cơ bản có thể tương tự nhau nhưng điện toán đám mây thiếu rất nhiều tính năng nâng cao của PowerPoint
Dữ liệu trên đám mây có thể không bảo mật Với điện toán đám mây, tất cả dữ liệu của người dùng được lưu trên đám mây Các công ty điện toán đám mây nói rằng
dữ liệu đựơc bảo mật Tuy nhiên vấn đề bảo mật trên đám mây vẫn còn là một câu hỏi lớn Ngoài ra việc mất mát dữ liệu trên đám mây cũng hoàn toàn có thể xảy ra
1.2 Tổng quan về LBS
1.2.1 LBS là gì?
Dịch vụ LBS là dịch vụ thông tin sử dụng với thiết bị di động qua mạng không dây và vị trí địa lý của thiết bị di động [10]
Dịch vụ LBS là phần giao của ba công nghệ chính được thể hiện như trong hình
1.1, bao gồm: GIS – cơ sở dữ liệu không gian, Internet và thiết bị di động – định vị
toàn cầu [1],[2]
Trang 21Hình 1 7: Các hệ thống thông tin tích hợp
Hình 1.10 cho thấy các loại hệ thống thông tin tích hợp được hình thành như sau:
Hệ thống WebGIS được hình thành từ việc tích hợp Internet và GIS/CSDL không gian
Hệ thống GIS di động (Mobile GIS) được hình thành từ việc tích hợp GIS/CSDL không gian và các thiết bị di động như điện thoại di động và GPS
Hệ thống Internet di động (Mobile Internet) được hình thành trên cơ sở tích hợp các thiết bị di động như điện thoại di động và Internet
Dịch vụ LBS được hình thành từ việc tích hợp ba loại công nghệ GIS/CSDL không gian, mạng Internet và các thiết bị di động
Dịch vụ LBS có khả năng cung cấp 2 nhóm hoạt động chính là liên lạc thông tin
và tương tác qua lại giữa khác hàng và dịch vụ Vì thế, người sử dụng có thể cho nhà cung cấp dịch vụ biết trong bối cảnh hiện tại thì các loại thông tin họ cần và phù hợp với họ, với vị trí của họ Hệ thống sẽ cung cấp các thông tin hoàn toàn phù hợp với người sử dụng hoặc các thông tin do người sử dụng yêu cầu
Các ứng dụng dịch vụ LBS được chia thành 4 nhóm chính [9]:
Trang 22 Dịch vụ thông tin và dẫn đường (Information and navigation services): LBS cung cấp dữ liệu trực tiếp cho người dùng cuối (end-users), đó là thông tin vị trí hiện tại, vị trí đích, và các gợi ý nâng cao…
Hỗ trợ khẩn cấp (Emergency assistance): LBS cung cấp vị trí người dùng di động trong trường hợp đối tượng gặp tai nạn cần hỗ trợ
Dịch vụ lưu vết (Tracking services): một trong những chức năng cơ bản của dịch vụ LBS là lưu vị trí người dùng theo thời gian Tuy nhiên, với các yêu cầu an ninh và bảo mật, các thông tin này thường không được công khai sử dụng
Dịch vụ mạng liên quan (Network related services): vị trí người dùng có thể nhận được thông qua bộ tiếp nhận GNSS được tích hợp trong các thiết bị di động hoặc thông qua chính mạng truyền thông của thiết bị, như trong hình 1.2
Hình 1 8: Công nghệ định vị và hệ thống LBS
Với các ứng dụng phổ biến của dịch vụ LBS hiện nay là:
Thông tin về hiện trạng giao thông: người sử dụng muốn biết tình trạng hiện tại của các con đường (tắc/không tắc, ngập/không ngập…), đường đi tối ưu (gần nhất, nhanh nhất…) từ vị trí của họ tới một địa điểm nào đó…
Tìm kiếm địa điểm: người sử dụng có thể truy vấn các điểm tiện ích xung quanh vị trí hiện tại của mình theo một tiêu chí nào đó Ví dụ: người dùng muốn biết có các điểm ATM của ngân hàng mình sử dụng cách vị trí của họ một khoảng cách nào đó, hay điểm ATM nào gần vị trí của họ nhất…
Quảng cáo, thương mại: nhà cung cấp gửi thông tin quảng cáo tới khách hàng…
Trang 23Thiết bị di động được khách hàng dùng để gửi đi yêu cầu và nhận về kết quả
đáp ứng, nó có thể là điện thoại di động, thiết bị trợ giúp số cá nhân (PDA), máy tính xách tay, các thiết bị dẫn đường đặt trên xe, các trạm cung cấp thông tin đặt tại các điểm công cộng
Mạng truyền thông đóng vai trò kết nối thiết bị di động và nhà cung cấp dịch
vụ Trong trường hợp nhà cung cấp dịch vụ triển khai ứng dụng của họ trên Internet, mạng truyền thông được hiểu là mạng thông tin di động và mạng Internet Trong quá trình hoạt động, yêu cầu được gửi từ khách hàng qua mạng di động đến giao diện giữa mạng di động và mạng Internet, từ đó yêu cầu được chuyển tiếp đến nhà cung cấp dịch
vụ
Hệ thống định vị có nhiệm vụ cung cấp dữ liệu về vị trí của khách hàng như
một tham số đầu vào cho quá trình xử lý yêu cầu Cụ thể, nếu là yêu cầu chỉ đường thì đương nhiên nhà cung cấp dịch vụ cần biết vị trí hiện tại của khách hàng Còn nếu khách hàng yêu cầu trợ giúp về mặt kỹ thuật, y tế, nhân lực thì thông tin vị trí gửi kèm yêu cầu sẽ giúp nhà cung cấp dịch vụ tiếp cận khách hàng nhanh hơn Trong một
Trang 24số trường hợp khác thì vị trí của khách hàng được nhà cung cấp dùng làm căn cứ để tính cước cho dịch vụ của mình Trong thực tế, hệ thống định vị toàn cầu GPS là lựa chọn số một khi lên phương án xây dựng các hệ thống LBS Vì những ưu điểm như diện tích phủ sóng bao phủ toàn bộ bề mặt trái đất, độ chính xác cao, cho phép sử dụng tín hiệu miễn phí mà hiện tại đang xuất hiện xu hướng tích hợp chức năng định vị bằng GPS vào các thiết bị di động đặc biệt là điện thoại, PDA, máy tính xách tay…
Nhà cung cấp ứng dụng và dịch vụ nhận yêu cầu từ khách hàng, xác định vị
trí của họ thông qua dữ liệu định vị được gửi kèm yêu cầu, sau đó xử lý để cung cấp sự trợ giúp hoặc thông tin tương ứng với vị trí và yêu cầu của khách hàng Các ứng dụng
và dịch vụ được nhà cung cấp triển khai thường là định vị dẫn đường, tra cứu thông tin địa lý, cứu hộ cứu nạn, quản lý điều hành phương tiện giao thông…
Trong thực tế, phần lớn các hệ thống LBS được xây dựng theo mô hình nhà
cung cấp dịch vụ đồng thời là nhà cung cấp nội dung, nhưng đôi khi các nhà cung
cấp dịch vụ lại không sở hữu nguồn dữ liệu mà khi cần tham khảo họ phải lấy từ các nhà cung cấp nội dung Mỗi nhà cung cấp nội dung thường sở hữu kho dữ liệu (data warehouse) thuộc các lĩnh vực khác nhau ví dụ dữ liệu địa lý, dữ liệu về mạng lưới giao thông, dữ liệu về hệ thống tài chính ngân hàng… Đứng từ góc độ người sử dụng,
ta có thể không cần quan tâm đến sự tồn tại của nhà cung cấp nội dung vì ta không phải trực tiếp làm việc với thành phần này, nhà cung cấp dịch vụ và ứng dụng sẽ thay mặt ta làm việc đó
1.2.3 Các loại hình ứng dụng LBS
Các hệ thống LBS có thể chia làm 4 loại chính: Dịch vụ cung cấp thông tin dựa trên vị trí (Location based information services), tính cước dịch vụ theo vị trí (Location sensitive billing), dịch vụ hỗ trợ khẩn cấp (Emergency services) và dịch vụ quản lý giám sát (Tracking)
Dịch vụ cung cấp thông tin dựa trên vị trí
Một ví dụ tiêu biểu cho dịch vụ thông tin dựa trên vị trí là hệ thống định vị dẫn đường Trong khi tham gia giao thông hàng ngày, không ít lần ta phải loay hoay tìm một trạm đổ xăng, một nhà hàng hoặc một trạm rút tiền tự động v.v đó chính là lúc ta cần đến dịch vụ dẫn đường Có nhiều cách để triển khai và khai thác dịch vụ này nhưng để có thể sử dụng nó một cách thuận lợi nhất khách hàng cần đến một thiết bị di động được tích hợp module GPS, có màn hình đồ họa, có khả năng kết nối Internet không dây và thuận tiện hơn nữa khi nó cho phép cài thêm các ứng dụng dịch vụ ra tăng giúp khách hàng tương tác với hệ thống dễ dàng hơn Thiết bị di động này có thể
là một chiếc điện thoại thông minh (smartphone), một chiếc PDA (Pocket PC hoặc PAM) hoặc một máy tính nhúng có màn hình tinh thể lỏng được thiết kế để đặt trên xe
Trang 25Dịch vụ tính cước theo vị trí
Có một số hệ thống cần xác định vị trí của khách hàng để tính cước cho dịch vụ
mà họ sẽ cung cấp Ví dụ dịch vụ mua hàng từ xa, dịch vụ vận chuyển Như vậy, tính cước theo vị trí thực ra là một chức năng của một hệ thống, chức năng này giúp tính giá thành dịch vụ một cách chính xác hơn qua đó làm cho khách hàng tăng độ tin tưởng vào hệ thống
Dịch vụ hỗ trợ khẩn cấp
Trong sinh hoạt hàng ngày, đặc biệt trong khi tham gia giao thông, du lịch, thám hiểm mặc dù ta luôn thận trọng để tránh xảy ra những tai nạn đáng tiếc nhưng đôi khi ta vẫn phải đối mặt với các tình huống nguy hiểm, khi đó nếu có sự trợ giúp kịp thời cơ hội an toàn sẽ cao hơn Hệ thống hỗ trợ khẩn cấp hoạt động theo nguyên tắc: nhà cung cấp dịch vụ nhận tín hiệu yêu cầu hỗ trợ từ khách hàng, khi đã xác định được vị trí người yêu cầu, nhà cung cấp sẽ gửi các trang thiết bị kỹ thuật, nhân lực cần thiết đến hiện trường để giải quyết sự cố Về phía mình, người sử dụng dịch vụ cần được trang bị thiết bị cho phép dễ dàng gửi tín hiệu yêu cầu khi cần thiết và cung cấp thông tin vị trí chính xác giúp người hỗ trợ có thể nhanh chóng tiếp cận hiện trường
Ta còn gặp các dịch vụ giám sát dưới dạng các hệ thống quản lý, điều hành, ví
dụ hệ thống quản lý, điều hành mạng lưới taxi, hệ thống quản lý điều hành đội xe chở hàng, hệ thống quản lý điều hành mạng lưới xe bus Trong các hệ thống trên, dữ liệu
vị trí gửi về từ thiết bị giám sát đặt trên xe được sử dụng để hỗ trợ người điều hành đưa ra các quyết định hợp lý giúp nâng cao hiệu suất hoạt động của toàn bộ hệ thống
1.2.4 Một số ví dụ về ứng dụng LBS:
1.2.4.1 Dịch vụ khẩn cấp
Một trong những ứng dụng của LBS là khả năng định vị một cá thể nhất định, cá thể đó không ý thức được vị trí chính xác của mình hay không có khả năng phát hiện
ra nó vì họ đang trong một tình huống khẩn cấp (như bị thương, tội phạm tấn công…)
Ví dụ 1: người lái xe thường không biết vị trí chính xác của họ khi phương tiện của họ bị tai nạn Nhờ việc định vị chính xác tự động sẽ giúp cho các dịch vụ trợ giúp khẩn cấp cung cấp nhanh chóng và hiệu quả Nó bao gồm cả loại công cộng và riêng
tư cho cả người đi bộ và người lái xe Các dịch vụ khẩn cấp công cộng có thể gọi lính
Trang 26cứu hỏa, đội cứu thương… theo đúng quy định, các tổ chức công cộng giúp đỡ khẩn cấp trên đường cho những người lái xe xuất hiện là một trong những triển vọng của các dịch vụ giúp đỡ
Ví dụ 2: dịch vụ Tìm kiếm và Cứu nạn (SAR -Search and rescue) như trong hình 1.13 Dịch vụ này là một trong những ví dụ lâu nhất cho một hệ thống dịch vụ khẩn cấp dựa trên vị trí Đèn hiệu Radio …trên những chiếc thuyền biển hoặc đèn hiệu nhỏ trên người truyền tín hiệu radio trong trường hợp khẩn cấp Hệ thống sẽ khoanh vùng
từ đèn hiệu nhỏ với tín hiệu radio (như tín hiệu giải cứu hoặc vệ tinh) đến đèn hiệu và chuyển vị trí GPS hiện tại của họ thông qua vệ tinh đến dịch vụ khẩn cấp
Hình 1 10: Tổng quan hệ thống COSPAS-SARSAT (vệ tinh NOAA và dịch vụ thông
tin, 2005) 1.2.4.2 Dịch vụ dẫn đường
Dịch vụ dẫn đường dựa trên thiết bị di động của người dùng Cần định hướng trong giới hạn vị trí địa lý hiện tại của họ Mạng di động có khả năng định vị chính xác
vị trí thiết bị di động của người dùng, có thể được đưa vào một loạt các dịch vụ dẫn đường thiết bị điều khiển sẽ cho người dùng biết chính xác địa điểm họ muốn một cách tốt nhất, đưa ra cho họ hướng chi tiết để đi như thế nào đến đích
Ví dụ: Từ vị trí của điện thoại di động, người điều khiển có thể cho phép người dùng biết chính xác nơi họ muốn đến và xác định hướng đi như thế nào để đến đích Trong hầu hết các hệ thống dẫn đường ô tô hiện nay, thông tin khác với lộ trình và dữ liệu đường đi không có trong thiết bị di động người dùng tính toán lại lộ trình thông qua mạng di động (Hình 1.14)
Trang 27Hình 1 11: Dẫn đường ô tô (Tomtom, 2005) 1.2.4.3 Dịch vụ thông tin
Một số dịch vụ dựa trên vị trí địa lý: tìm kiếm dịch vụ gần nhất, truy cập thông tin về giao thông, trợ giúp với dẫn đường trong một thành phố không quen đường, thu được một bản đồ vị trí đường phố Dịch vụ thông tin về các vị trí nhạy cảm hầy hết dựa vào sự phân phối kỹ thuật số của thông tin dựa vào thiết bị định vị, thời gian đặc trưng và hành vi người dùng
Ví dụ: Dịch vụ du lịch hoặc hướng dẫn du lịch: các dịch vụ như hướng dẫn du lịch (tự động hoặc thiết bị trợ giúp), khai báo về vị trí gần nhất mà người dùng quan tâm, dịch vụ vận chuyển và các dịch vụ khác có thể cung cấp cho khách du lịch đi lại trong một môi trường không quen thuộc (thành phố, công viên quốc tế…)
1.2.4.4 Dịch vụ theo dõi và quản lý
Dịch vụ theo dõi có thể được cung cấp cho cả khách hàng và công ty Một ví dụ phổ biến nhờ theo dõi các gói hàng gửi bằng bưu điện các công ty biết được chúng bất
cứ lúc nào Theo dõi các phương tiện có thể được ứng dụng để định vị và có thể giải quyết cho xe cứu thương gần nhất đến nơi yêu cầu Một ứng dụng tương tự cho phép các công ty định vị nhân viên của họ (ví dụ, người bán hàng và thợ sửa chữa) vì vậy họ
có khả năng như cử ngay một kỹ sư gần nhất và cung cấp cho khách hàng của họ với nhân viên phù hợp và đúng lúc Cuối cùng, có thể tận dụng phù hợp để cung cấp các sản phẩm theo dõi trong phạm vi có thể để thiết bị di động quản lý
1.3 Kết luận
Điện toán đám mây là một mô hình hoàn toàn mới, có nhiều ưu điểm so với các
mô hình truyền thống nhưng đồng thời cũng đối mặt với những khó khăn thách thức
Trang 28mới Điện toán đám mây đang phát triển rất mạnh mẽ và sôi nổi như một trào lưu mới, các công ty cung cấp dịch vụ Cloud đầu tư nghiên cứu và phát triển để nâng cao chất lượng dịch vụ của mình
Đặc điểm nổi bật của Điện toán đám mây chính là khả năng co giãn linh hoạt, sự tiện lợi và giảm tối đa chi phí cho người dùng Các công nghệ giúp hiện thực Điện toán đám mây là web 2.0, ảo hóa (virtualization) và cung cấp mọi thứ dưới dạng dịch
vụ (everything as a service)
Tuy còn những e ngại về vấn đề bảo mật, tính tin cậy đối với nhà cung cấp dịch
vụ nhưng không thể phủ nhận những lợi ích to lớn mà Điện toán đám mây mang lại, đặc biệt là đối với những doanh nghiệp vừa và nhỏ Hơn nữa trong tình trạng khủng hoảng kinh tế toàn cầu hiện nay, việc cắt giảm nhân lực, giảm chi phí là yêu cầu sống còn của nhiều doanh nghiệp Trong hoàn cảnh đó, Điện toán đám mây có thể trở thành cứu cánh của các doanh nghiệp trong vấn đề giảm chi phí đầu tư cho hệ thống, cơ sở
hạ tầng và giảm chi phí cho nhân lực IT Theo nhiều chuyên gia và doanh nghiệp từng
sử dụng dịch vụ Điện toán đám mây, dù công ty của bạn ở quy mô lớn hay nhỏ, bạn cũng nên thử dùng dịch vụ Điện toán đám mây, nếu không có thể doanh nghiệp của bạn sẽ bỏ lỡ một cơ hội kinh doanh trong tương lai
Cùng với sự phát triển của công nghệ mạng và sự phổ biến của các thiết bị cầm tay thông minh, ngày nay các ứng dụng dịch vụ LBS được nghiên cứu phát triển và phổ biến không chỉ trong các lĩnh vực quân sự mà còn cả dân sự Với tiềm lực của mình, các công ty ngày nay hoàn toàn có thể xây dựng cho một một hệ thống cung cấp dịch vụ LBS cho riêng mình Có thể lấy ví dụ như dịch vụ truy vấn cây ATM, phòng giao dịch của riêng ngân hàng …
Tuy nhiên, đối với các công ty có qui mô vừa và nhỏ, chi phí cho xây dựng và duy trì hệ thống dịch vụ LBS là một khoản chi phí không phải là nhỏ Cùng với sự ra đời của công nghệ điện toán đám mây, hạn chế về chi phí cao trong việc xây dựng và duy trì các hệ thống dịch vụ LBS đã được khắc phục phần nào Việc kết hợp hai công nghệ để xây dựng các dịch vụ LBS trên nền tảng điện toán đám mây là một chủ đề đang được nghiên cứu và phát triển hiện nay không chỉ ở Việt Nam mà còn cả trên thế giới
Trong chương II của luận văn sẽ giới thiệu những kiến trúc cơ bản được dùng trong điện toán đám mây
Trang 29
CHƯƠNG 2: KIẾN TRÚC CSDL ỨNG DỤNG TRONG
ĐIỆN TOÁN ĐÁM MÂY
Chương này giới thiệu những kiến trúc CSDL cơ bản trong điện toán đám mây, so sánh các công nghệ Điện toán đám mây của một số nhà cung cấp phổ biến
2.1 Giới thiệu
Như kết quả của việc tiếp tục bùng nổ thông tin, nhiều tổ chức đang ngập trong
dữ liệu và kết quả là không có khả năng xử lý và yêu cầu sử dụng các thông tin này một cách có hiệu quả ngày càng tăng với tốc độ đáng báo động Tính toán dữ liệu chuyên sâu (data-insensive) đại diện cho một mô hình tính toán mới (Kouzes, Anderson, Elbert, Gorton, &Gracio, 2009) có thể giải quyết sự chênh lệnh dữ liệu (data gap) bằng việc sử dụng khả năng mở rộng của xử lý song song để cho phép chính phủ, các tổ chức thương mại, các môi trường nghiên cứu có thể xử lý một lượng lớn
dữ liệu và thực thi một số ứng dụng mà trước đây được cho là không thực tế hay không khả thi Điện toán đám mây cung cấp cho các tổ chức nguồn tài nguyên không giới hạn để thực hiện các ứng dụng tính toán dữ liệu chuyên sâu quy mô lớn một cách
có hiệu quả về mặt chi phí
Thách thức đối với tính toán dữ liệu chuyên sâu đó là việc quản lý và xử lý khối lượng dữ liệu tăng dần theo cấp số nhân hàng ngày, giảm các chu kỳ phân tích dữ liệu liên quan để hỗ trợ các ứng dụng một cách kịp thời, thiết thực, phát triển các thuật toán mới có khả năng mở rộng việc tìm kiếm và xử lý lượng lớn dữ liệu
Trong khi các CSDL truyền thống chia sẻ kiến trúc và cấu trúc CSDL gần như theo một mẫu chung (ví dụ như lập trình động, chỉ mục B-tree …) thì sự khác biệt trong việc thực hiện các dịch vụ dựa trên đám mây là rất lớn Trong khi vẫn còn quá sớm khi đưa ra một kiến trúc “kinh điển” cho tất cả các dịch vụ dựa trên đám mây, nội dung tiếp theo sẽ cố gắng để phân tích các biến thể kiến trúc, tạo tiền đề cho một so sánh ban đầu giữa các biến thể này trên phương diện hiệu suất và chi phí [11]
Trang 302.2 Kiến trúc cơ sở dữ liệu phân tán
2.2.1 Kiến trúc cổ điển
Hình 2 1: Kiến trúc cổ điển
Client Web Server + Application Server DB Server SAN (Storage) Hình 2.1 mô tả kiến trúc cơ sở dữ liệu cổ điển được sử dụng trong hầu hết các ứng dụng CSDL hiện nay Yêu cầu của người dùng sẽ được chuyển đến các máy có sẵn chạy web hoặc các trình ứng dụng qua một cân bằng tải Các máy chủ mạng sẽ xử
lý các yêu cầu của người dùng và máy chủ ứng dụng sẽ thực thi các ứng dụng đã được thiết lập, ví dụ như Java hoặc C++ được nhúng vào SQL (hoặc LINQ hay bất kỳ ngôn ngữ lập trình CSDL nào) Ngôn ngữ nhúng SQL được chuyển tới máy chủ CSDL để dịch yêu cầu của người dùng, trả về kết quả và có thể cập nhật lên CSDL Để ổn định, máy chủ CSDL lưu trữ tất cả dữ liệu và kết nối với thiết bị lưu trữ Giao diện giữa máy chủ CSDL và hệ thống lưu trữ là các khối vật lý của dữ liệu (ví dụ mỗi khối có dung
lượng 64KB) sử dụng các truy vấn get và put Hệ thống lưu trữ nguyên thủy sử dụng ổ
đĩa có thể kết nối với máy tính chạy CSDL hoặc có thể tổ chức trong mạng lưu trữ (storage area network – SAN) Thay cho các đĩa cững, hệ thống lưu trữ thế hệ sau có thể dùng các đĩa bán dẫn, các bộ nhớ chính hoặc kết hợp rất nhiều các thiết bị lưu trữ Kiến trúc CSDL cổ điển có rất nhiều ưu điểm: Thứ nhất: Nó cho phép sử dụng các thành phần tốt nhất tại tất cả các tầng Thứ hai: Kiến trúc cổ điển cho phép khả năng mở rộng và tính co giãn tại tầng lưu trữ và web/ứng dụng (storage and web/application server layer) Chẳng hạn như, thông lượng của ứng dụng cần phải được điều chỉnh để đáp ứng sự gia tăng của client, ta có thể thêm các máy tính ở tầng máy chủ web/ứng dụng để xử lý lượng công việc tăng thêm này Tương tự như vậy, máy tính tại tầng này có thể được tắt đi hoặc sử dụng với mục đích khác khi khối lượng công việc giảm Tại tầng lưu trữ, máy tính (hoặc ổ đĩa) có thể được thêm vào
Trang 31hoặc gỡ ra phụ thuộc vào việc tăng hoặc giảm băng thông của hệ thống lưu trữ để tăng hoặc giảm khối lượng công việc hoặc để xử lý việc thay đổi về kích cỡ của CSDL Khả năng xảy ra nút cổ chai trong kiến trúc cổ điển chính là ở máy chủ CSDL Nếu máy chủ bị quá tải, chỉ cách giải quyết là mua một chiếc máy khác mạnh hơn Máy tính được dùng làm máy chủ CSDL thường là những máy khá đắt tiền vì nó phải chuẩn bị để giải quyết một khối lượng công việc lớn Do đó, kiến trúc cổ điển bị giới hạn cả về khả năng mở rộng và giá cả, hai mục đích quan trọng của điện toán đám mây
2.2.2 Kiến trúc phân đoạn
Hình 2 2: Kiến trúc phân đoạn
Hình 2.2 đã chỉ ra cách làm cho kiến trúc cổ điển thích nghi được với điện toán đám mây đã tạo nên cách dùng của kiến trúc phân đoạn Ý tưởng rất đơn giản, thay vì
có một máy chủ CSDL duy nhất để điều khiển toàn bộ CSDL, CSDL sẽ được phân hoạch một cách hợp lý và mỗi phần sẽ được điều khiển bởi một máy chủ CSDL riêng Trong các tài liệu về CSDL, rất nhiều sơ đồ phân hoạch được nghiên cứu: đoạn ngang, phân đoạn dọc, phân đoạn vòng, hàm băm, phân đoạn miền [17] Tất cả các cách tiếp cận trên đều thích hợp và có thể áp dụng trong việc quản lý dữ liệu trên đám mây
Mở rộng của lược đồ phân đoạn, có rất nhiều cách thể hiện khác nhau của kiến trúc này Đầu tiên: các phần có thể là trong suốt hoặc có thể trông thấy đối với người lập trình ứng dụng Thứ 2: việc lưu trữ có thể được gắn vào máy chủ CSDL hoặc được phân tách như trong kiến trúc cổ điển Hình 2.2 đã miêu tả một biến thể của kiến trúc phân đoạn mà trong đó, việc truy cập đến CSDL phân tán là trong suốt và mỗi phần của CSDL được gắn với một máy chủ CSDL nhất định
Sự phân hoạch và kiến trúc như hình 2.2 là một giải pháp có thể tồn tại với việc thực hiện mục tiêu của điện toán đám mây Các máy chủ CSDL có thể chạy trên các máy tính rẻ tiền, bằng cách đó, mỗi máy tính sẽ lưu một tập nhỏ dữ liệu để duy trì tải
Trang 32Tuy nhiên, sự phân đoạn bị giới hạn bởi khả năng mở rộng để đối phó với sự dao động của công việc Việc thêm vào hoặc bớt đi máy tính để thích hợp với khối lượng công việc tăng lên hoặc giảm đi sẽ dẫn đến việc phải phân hoạch lại dữ liệu và do đó phải di chuyển dữ liệu giữa các máy tính
2.2.3 Kiến trúc sao lặp
Hình 2 3: Kiến trúc sao lặp
Hình 2.3 đã chỉ ra cách mà kiến trúc sao lặp có thể được sử dụng trong kiến trúc CSDL Ý tưởng cũng đơn giản: Cũng như kiến trúc phân đoạn, có rất nhiều các máy chủ CSDL, mỗi máy chủ sẽ điều khiển một bản sao chép của toàn bộ CSDL (hoặc một phần của CSDL nếu có kết hợp với kiến trúc phân đoạn) Có rất nhiều các biến thể của kiểu kiến trúc này Hình 2.3 cho thấy một biến thể của kiến trúc sao lặp, trong đó, sự sao lặp là trong suốt và việc lưu trữ được kết hợp cùng tầng với máy chủ CSDL Vấn
đề quan trọng nhất trong thiết kế kiến trúc sao lặp là cơ chế để giữ cho các bản sao là nhất quán Giao thức nổi bật nhất được sử dụng là ROWA (Read-one Write-all) dựa vào bản sao Master [18] Nếu sự sao lặp là không trong suốt, các ứng dụng sẽ hướng tất cả các truy vấn cập nhật đến DB Server điều khiển bản sao Master, máy chủ Master
sẽ truyền các xác nhận cập nhật tới các satellite khi các cập nhật này được xác nhận thành công Trình ứng dụng có thể đưa ra một giao dịch chỉ đọc đến bất kỳ một DB Server nào (kể cả Master hay Satellite) Nếu sự sao lặp là trong suốt, các truy vấn này
sẽ được tự động định tuyến cho Master hoặc Satellite Server Hình 2.3 miêu tả sự sao lặp là trong suốt và Master Server được biểu diễn bởi màu đỏ
Trong kiểu kiến trúc này, phần cứng có giá thành thấp có thể được sử dụng để chạy DB Server Đặc biệt, các satellite có thể được chạy trên các máy có sẵn rẻ tiền Như kiến trúc trong hình trên, các satellite có thể giảm khối lượng công việc nếu công việc đó hầu như chỉ đọc Tại bất kỳ thời điểm nào, các satellite server có thể được giảm bớt nếu khối lượng công việc giảm Nếu thêm vào một satellite server khi khối lượng công việc tăng đồng nghĩa với việc phải sao chép CSDL từ Master (hoặc
Master
Server