Bố cục của luận văn Luận văn gồm có 3 chương: Chương 1: Tìm hiểu kho dữ liệu và điện toán đám mây Tìm hiểu, nghiên cứu về kho dữ liệu Data Warehouse, một số kháiniệm cơ bản, đặc điểm, ph
Trang 1Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS TS Phan Huy Khánh.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Tác giả
Võ Phi Thanh
Trang 21 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ 2
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 3
5 Ý nghĩa khoa học và thực tiễn của đề tài 3
6 Bố cục của luận văn 3
CHƯƠNG 1 TÌM HIỂU KHO DỮ LIỆU VÀ ĐIỆN TOÁN ĐÁM MÂY 5
1.1 KHO DỮ LIỆU 5
1.1.1 Khái niệm về Kho dữ liệu 5
1.1.2 Đặc điểm và phân loại 5
1.1.3 Kiến trúc kho dữ liệu 6
1.1.4 Phương pháp xây dựng kho dữ liệu 9
1.2 ĐIỆN TOÁN ĐÁM MÂY 16
1.2.1 Khái niệm về điện toán đám mây 16
1.2.2 Kiến trúc điện toán đám mây 18
1.2.3 Mô hình điện toán đám mây 19
1.2.4 Các nhà cung cấp dịch vụ điện toán đám mây 23
1.2.5 Google App Engine (GAE) 26
1.2.6 Lợi ích và thách thức của điện toán đám mây 29
1.2.7 Xu hướng phát triển điện toán đám mây 31
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 34
2.1 GIỚI THIỆU 34
2.1.1 Mở đầu 34
Trang 32.2 PHÂN TÍCH THỰC TRẠNG CÔNG TÁC ĐÀO TẠO TẠI
TRƯỜNG TRUNG CẤP KINH TẾ QUẢNG BÌNH 38
2.2.1 Mở đầu 38
2.2.2 Nhu cầu xây dựng chương trình và kế hoạch đào tạo 40
2.2.3 Vấn đề quản lý dữ liệu đào tạo 40
2.2.4 Đánh giá hiện trạng 41
2.3 PHÂN TÍCH NHU CẦU XÂY DỰNG KHO DỮ LIỆU 42
2.4 ĐỀ XUẤT GIẢI PHÁP ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY 42
2.4.1 Mô tả ứng dụng 42
2.4.2 Giải pháp sử dụng điện toán đám mây 43
2.5 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 45
2.5.1 Phân tích biểu đồ ca sử dụng (Use case) 45
2.5.2 Mã hóa thông tin 52
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG 57
3.1 CHỌN MÔI TRƯỜNG, CÔNG CỤ CÀI ĐẶT HỆ THỐNG 57
3.1.1 Xây dựng Cơ sở dữ liệu trên My SQL 57
3.1.2 Sử dụng công cụ lập trình Java, JSP 57
3.1.3 Google App Engine (GAE) 58
3.2 THIẾT KẾ KHO DỮ LIỆU 58
3.2.1 Thiết kế kho dữ liệu 58
3.2.2 Thiết kế các báo cáo 64
3.3 XÂY DỰNG VÀ TRIỂN KHO DỮ LIỆU TRÊN GOOGLE APP ENGINE 65
3.3.1 Đăng ký tài khoản của Google App Engine (GAE) 65
3.3.2 Cài đặt Eclipse và Google Plugin cho Eclipse : 68
Trang 43.4 ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM 76 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78 TÀI LIỆU THAM KHẢO 79 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO)
PHỤ LỤC 81
Trang 5CNTT Công nghệ thông tin
TCKTQB Trung cấp kinh tế Quảng Bình
Trang 6API Application Programming Interface
ETL Extract Transform Load
HTTP Hypertext Transfer Protocol
IaaS Infrastructure as a Service
PDA Personal digital assistant
SaaS Software as a Service
SLA Service Level Agreement
SMTP Simple Mail Transfer Protocol
SOA Service oriented architecture
SOAP Simple Object Access Protocol
URL Uniform Resource Location
XML eXtensible Markup Language
Trang 7hình
1.6 Quá trình tạo lập dữ liệu của kho dữ liệu 15
1.11 Top 10 lĩnh vực công nghệ chiến lược năm 2010 và
sự phát triển trong những năm gần đây 32
2.3 Biểu đồ ca sử dụng người quản lý đào tạo 46
2.6 Biểu đồ ca sử dụng người quản trị hệ thống 48
3.11 Giao diện chương trình quản lý giáo viên 72
3.13 Giao diện chương trình quản lý học phần 743.14 Giao diện chương trình quản ly thư viện 753.15 Giao diện chương trình quản lý phòng học 76
Trang 8Số hiệu
2.1 Số doanh nghiệp đang hoạt động SXKD 3 năm gần đây 352.2 Số trường học, GV, HS các cơ sở ĐT TCCN tỉnh
2.3 Chất lượng đội ngũ giáo viên của trường 3 năm gần đây 372.4 Thống kê kinh phí của trường trong 3 năm gần đây 382.5 Số học sinh đăng ký dự thi vào trường, trúng tuyển và
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, sự bùng nổ thông tin, truyền thông đã có những bước pháttriển vượt bậc Sự phát triển công nghệ của các thiết bị tính toán: Siêu máytính, máy chủ, máy tính cá nhân, các thiết bị di động thông minh, được kếtnối và sự bùng nổ ứng dụng Web Với sự phát triển nhanh chóng của côngnghệ thông tin đòi hỏi sự đầu tư trang thiết bị cơ sở hạ tầng CNTT ngày cànglớn, chi phí sử dụng các phần mềm, quản lý hệ thống cũng tăng Trong khinhu cầu lưu trữ, xử lý thông tin nhanh chóng, chính xác nên các doanhnghiệp, các tổ chức tăng cường ứng dụng CNTT Do áp lực cạnh tranh, mongmuốn ứng dụng CNTT hiệu quả nhưng lại giảm chi phí luôn đặt ra
Trong thời gian gần đây, chủ đề ĐTĐM được nhắc đến nhiều nhất trongcác sự kiện công nghệ, bất kỳ tạp chí công nghệ, các trang Web, blog về ITđều đề cập đến ĐTĐM Theo khảo sát mới đây của hãng nghiên cứu Gartner,tốc độ phát triển ĐTĐM trên toàn thế giới đã đạt mức 17% hàng năm trongkhi hơn 50% doanh nghiệp, tổ chức tham gia đều triển khai điện toán đámmây dưới hình thức này hay hình thức khác [25]
Hiện nay, ĐTĐM được dự đoán là “cơn sóng thần công nghệ” Khôngnằm ngoài xu thế chung của thế giới, Việt Nam dần tiếp cần ĐTĐM thôngqua các nhà cung cấp như Google, IBM, Microsoft, Nhiều công ty tại ViệtNam đã triển khai ĐTĐM như FPT, Sacombank, Misa,
Để giảm thiểu chi phí và tăng cường ứng dụng CNTT trong quản lý đàotạo nhằm tăng hiệu quả đào tạo thì việc ứng dựng điện toán đám mây manglại nhiều lợi ích
Mặt khác, quản lý dữ liệu đào tạo gồm nhiều dữ liệu không tương thíchvới nhau, khi dữ liệu ngày càng khổng lồ thì việc truy xuất, thống kê, phân
Trang 10loại càng khó khăn Nhà quản lý còn mong muốn phân tích dữ liệu có khảnăng hỗ trợ các quyết định thì xây dựng kho dữ liệu giúp ích được điều đó.Trong khi đó nhu cầu đào tạo của Trường Trung cấp Kinh tế Quảng Bìnhngày càng mở rộng, với chủ trương nhà trường mở nhiều mã ngành mới nhằm
đa dạng hóa ngành nghề đào tạo và đáp ứng nhu cầu xã hội Hiện trạng quản
lý dữ liệu chưa đồng bộ, tính hệ thống chưa cao, việc tiếp cận nguồn dữ liệucần thiết đối với cán bộ, giáo viên, học sinh, người quản lý còn hạn chế.Công tác lưu trữ dữ liệu chưa đảm bảo, chủ yếu lưu trữ trên từng máy do từng
cá nhân phụ trách Chưa tiến hành phân tích dữ liệu để hỗ trợ các quyết địnhcủa nhà quản lý Thông qua mối quan hệ chương trình đào tạo, các khâu quản
lý, chất lượng giáo viên, ảnh hưởng đến chất lượng đào tạo để phân tích, sosánh, đối chiếu hỗ trợ quá trình lãnh đạo
Việc ứng dụng điện toán đám mây để xây dựng kho dữ liệu là cần thiết,
do đó tôi chọn đề tài “Ứng dụng điện toán đám mây xây dựng kho dữ liệuphục vụ đào tạo tại trường Trung cấp Kinh tế Quảng Bình”
2 Mục tiêu và nhiệm vụ
Trên cơ sở phân tích hiện trạng và nhu cầu phát triển hiệu quả đào tạo tạitrường Trung cấp Kinh tế Quảng Bình, đề tài tìm hiểu lĩnh vực ĐTĐM, cáccông cụ phát triển khai thác ĐTĐM, xây dựng kho dữ liệu phục vụ đào tạo,trợ giúp, phân tích, báo cáo, dự báo hoạt động đào tạo tại trường trong bốicảnh phát triển kinh tế địa phương Quảng Bình và hội nhập quốc tế
Từ thực trạng, sẽ đánh giá được ưu điểm, hạn chế của việc sử dụng mô hình này Từ đó đề xuất các giải pháp nhằm nâng cao hiệu quả đào tạo tại trường
Trang 113 Đối tượng và phạm vi nghiên cứu
Nghiên cứu nguồn dữ liệu phục vụ đào tạo tại trường Trung cấp Kinh tếQuảng Bình
Tìm hiểu kho dữ liệu, ĐTĐM, các công cụ phát triển, khai thác Kho dữliệu và ĐTĐM
4 Phương pháp nghiên cứu
- Phân tích hiện trạng và nhu cầu đào tạo tại trường Trung cấp Kinh tếQuảng Bình
- Tìm hiểu ĐTĐM để đề xuất giải pháp
- Lựa chọn mô típ công cụ, ngôn ngữ lập trình để xây dựng ứng dụng và đánh giá kết quả thử nghiệm
5 Ý nghĩa khoa học và thực tiễn của đề tài
Về khoa học, đề tài tìm hiểu, nghiên cứu ứng dụng điện toán đám mây,xây dựng kho dữ liệu, trên cơ sở đó có cách nhìn tổng quan để đề xuất giảipháp xây dựng ứng dụng
Về thực tiễn, đề tài xây dựng ứng dụng nhằm giảm chi phí nguồn lựcCNTT, quản lý dữ liệu đào tạo khoa học, hỗ trợ nhà quản lý đưa ra quyết địnhkịp thời góp phần nâng cao hiệu quả đào tạo của nhà trường
6 Bố cục của luận văn
Luận văn gồm có 3 chương:
Chương 1: Tìm hiểu kho dữ liệu và điện toán đám mây
Tìm hiểu, nghiên cứu về kho dữ liệu (Data Warehouse), một số kháiniệm cơ bản, đặc điểm, phân loại, sử dụng
Tìm hiểu, nghiên cứu tổng quan về điện toán đám mây (CloudComputing), một số khái niệm cơ bản, tìm hiểu về kiến trúc, mô hình chungcủa điện toán đám mây, tìm hiểu một số sản phẩm ứng dụng công nghệ này
Trang 12Chương 2: Phân tích và thiết kế hệ thống
Phân tích hiện trạng công tác đào tạo tại Trường TCKTQB, nhu cầu cầuxây dựng kho dữ liệu và đề xuất giải pháp ứng dụng ĐTĐM xây dựng kho
dữ liệu
Chương 3: Xây dựng ứng dụng
Thiết kế kho dữ liệu, thiết kế báo cáo, phân tích dữ liệu Xây dựng vàtriển khai kho dữ liệu trên nền tảng đám mây của Google
Trang 13CHƯƠNG 1
TÌM HIỂU KHO DỮ LIỆU VÀ ĐIỆN TOÁN ĐÁM MÂY
1.1 KHO DỮ LIỆU
1.1.1 Khái niệm về Kho dữ liệu
Có nhiều cách định nghĩa về Kho dữ liệu (Data Warehouse - DW)
Kho dữ liệu là kho lưu trữ dữ liệu lưu trữ bằng thiết bị điện tử của một tổchức Các kho dữ liệu được thiết kế để hỗ trợ việc phân tích dữ liệu và lập báocáo [12]
Kho dữ liệu là tập hợp các CSDL tích hợp, hướng chủ đề, ổn định, gắnvới thời gian, được thiết kế để hỗ trợ cho chức năng ra quyết định trong côngtác quản lý
1.1.2 Đặc điểm và phân loại
a Đặc điểm
Tính tích hợp (integrated): Kho dữ liệu có khả năng thu thập dữ liệu từ
nhiều nguồn và trộn ghép với nhau tạo thành một thể thống nhất Dữ liệu tậphợp từ nhiều nguồn khác nhau như CSDL quan hệ, tập tin flat, tập tin bảngtính, tài liệu, các bảng ghi giao dịch trực tuyến Điều này sẽ dẫn đến việc quátrình tập hợp phải thực hiện việc làm sạch, xắp xếp, rút gọn dữ liệu
Hướng chủ đề (subject-oriented): Được tổ chức xung quanh chủ đề
chính như khách hàng, sản phẩm, bán hàng,
Biến thời gian (time-variant): Mỗi bản ghi của kho dữ liệu chứa một yếu
tố thời gian như một phần của khóa chính để bảo đảm tính duy nhất của mỗibản ghi và cung cấp một đặc trưng về thời gian cho dữ liệu Toàn bộ dữ liệutrong kho được tạo ra và gắn liền với một giá trị thời gian nhất định Yếu tốthời gian được lưu trữ trong tập tin CSDL
Trang 14Dữ liệu ổn định (non-volatile): Tính ổn định của kho dữ liệu được hiểu
theo nghĩa: dữ liệu được lưu trữ lâu dài trong kho dữ liệu Mặc dù có thêm dữliệu mới nhập vào nhưng dữ liệu cũ trong kho vẫn không bị xóa, điều đó chophép cung cấp thông tin về một khoảng thời gian dài, cung cấp đủ số liệu cầnthiết cho các mô hình nghiệp vụ phân tích, dự báo
b Phân loại
Tùy thuộc vào quy mô tổ chức, cách tổ chức và vị trí của kho dữ liệu màngười ta chia Kho dữ liệu thành hai loại là: Enterprise Data Warehouse vàData Mart
Enterprise Data Warehouse
Enterprise Data Warehouse là một cơ sở dữ liệu bao gồm dữ liệu vềnhiều đối tượng khác nhau, trên toàn bộ cơ quan và thường được xây dựngtập trung
Data Mart
Khái niệm: Data Mart cũng là một cơ sở dữ liệu có những đặc điểm
giống với kho dữ liệu nhưng quy mô của nó nhỏ hơn và lưu trữ dữ liệu
về một lĩnh vực, một chuyên ngành cụ thể
Phân loại Data Mart: Gồm Data Mart phụ thuộc và Data Mart độc lập Siêu dữ liệu (Metadata): Metadata là một loại “dữ liệu về dữ liệu”, nó
được xây dựng nhằm mục đích mô tả cấu trúc nội dung về dữ liệu bên trong
cơ sở dữ liệu Metadata có ý nghĩa đặc biệt quan trọng trong việc xây dựng
và tổ chức lưu trữ dữ liệu của Data Warehouse
1.1.3 Kiến trúc kho dữ liệu
a Kiến trúc kho dữ liệu
Mô hình kiến trúc của kho dữ liệu cơ bản gồm có ba thành phần:Nguồn dữ liệu, khu vực xử lý và kho dữ liệu
Trang 15Hình 1.1 Mô hình kiến trúc kho dữ liệu
- Nguồn dữ liệu: Nguồn dữ liệu của kho dữ liệu có thể từ rất nhiều
nguồn khác nhau và có cấu trúc dữ liệu khác nhau, bao gồm các hệ thốngtrong và ngoài của một tổ chức, rất phong phú về chủng loại Các hệ thốngnằm trong được coi như các hệ thống nguồn hoặc các hệ thống đã có sẵn Dữliệu từ các hệ thống nguồn thường hỗn tạp và chứa nhiều cấu trúc khác nhau
ví dụ: các cơ sở dữ liệu, từ các file excel, các file thô, hay dạng XML Vì thếtrước khi đưa vào kho dữ liệu cần phải chuyển đổi và tích hợp dữ liệu
- Vùng xử lý: Dữ liệu phát sinh từ các hoạt động hàng ngày được thu
thập, xử lý để phục vụ công việc cụ thể của một tổ chức thường được gọi là
dữ liệu tác nghiệp và hoạt động thu thập xử lý loại dữ liệu này được gọi là xử
lý giao dịch trực tuyến (OLTP) Dữ liệu tại các CSDL tác nghiệp được lấy
từ nhiều nguồn khác nhau nên dễ bị nhiễu, hỗn tạp dẫn đến dữ liệu khôngsạch, không toàn vẹn Do đó việc kiểm tra dữ liệu, làm sạch dữ liệu phảiđược tiến hành ngay tại đây nhằm bảo đảm tính toàn vẹn, tính đúng đắn,tính nhất quán dữ liệu trước khi đưa vào kho dữ liệu đích Thông thườngngười ta sử dụng các công cụ trích xuất, chuyển đổi và nạp dữ liệu (ETL).Công cụ này thực hiện các thao tác trích xuất dữ liệu, chuyển đổi dữ liệu,tải dữ liệu vào kho dữ liệu
Quy trình tích hợp dữ liệu
Kho dữ liệu ETL
Trang 16- Kho dữ liệu
- Cơ sở dữ liệu của kho dữ liệu
- Siêu dữ liệu (Metadata)
- Kho dữ liệu chủ đề (Datamart)
- Bảng sự kiện tổng hợp (Fact)
- Ứng dụng đầu cuối
Người sử dụng khai thác lợi ích từ kho dữ liệu như: Báo biểu, phântích, khai phá dữ liệu
b Dòng dữ liệu trong kho
Do kho dữ liệu chứa lượng dữ liệu lớn, đồng thời hạn chế thao tác sửađổi nên rất thích hợp cho việc phân tích và báo cáo Các thao tác với dữ liệucủa kho dữ liệu chủ yếu dựa trên cơ sở là Mô hình dữ liệu đa chiều(multidimensional data model) thường áp dụng cho các khối dữ liệu (datacube) Khối dữ liệu là trung tâm của vấn đề cần phân tích, bao gồm một haynhiều tập dữ kiện (fact) và các dữ kiện được tạo ra từ nhiều chiều (dimension)
dữ kiện khác nhau
Hình 1.2 Dòng dữ liệu trong kho
Kho dữ liệu
Phân tích
Báo biểu
Trang 171.1.4 Phương pháp xây dựng kho dữ liệu
a Phương pháp xây dựng kho dữ liệu
Xây dựng kho dữ liệu vừa là một tiến trình công việc và cũng đồngthời là một kiến trúc nhằm thực hiện các nội dung như: lựa chọn, chuyểnđổi, lưu chuyển, bảo toàn tính toàn vẹn, tích hợp, làm sạch dữ liệu, đưa dữliệu từ nhiều nguồn dữ liệu tác nghiệp vào hệ thống quản lý cơ sở dữ liệu đểphục vụ các quá trình ra quyết định
Thiết kế CSDL cho kho dữ liệu theo các phương pháp:
- Lược đồ hình sao (Start schema): Lược đồ hình sao cho phép một hệ
thống đối tượng có thể kết nối với nhiều đối tượng khác Mô hình này thểhiện cách nhìn của người sử dụng về nhiều vấn đề trong tác nghiệp Trong sơ
đồ hình sao, dữ liệu được xác định và phân loại theo 2 kiểu:
- Các sự kiện được tổ chức thành bảng sự kiện
- Phạm vi, hay các chiều của dữ liệu, được tổ chức thành các bảngchiều
Hình 1.3 Mô hình hình sao
HOC SINH
THOI GIAN NGAY THANG
MON HOC
TRUY CAP
Các bảng chiều
Bảng dữ kiện
Trang 18Mô hình sao không hỗ trợ tốt cho các bảng chứa các thuộc tính phâncấp Mô hình bông tuyết (SnowFlake Schema) đưa ra giải pháp cho mô hìnhsao khi bảng có thuộc tính phân cấp.
- Lược đồ hình tuyết rơi (Snowflake): Lược đồ này là mở rộng của lược
đồ hình sao Khi một bảng chiều trở lên phức tạp hàm chức các quan hệ dữliệu thì có thể tách thành nhiều bảng Các bảng được tách có quan hệ với bảngchiều tạo lên hình dạng tuyết rơi Công việc này cũng chính là chuẩn hóa dữliệu cho bảng chiều
Hình 1.4 Mô hình bông tuyết
Tùy theo thực tế mà ta lựa chọn lược đồ hình sao hay hình tuyết rơi.Việc lựa chọn được cân nhắc giữa hai yếu tố: thời gian đáp ứng truy vấn vàmức độ kiểm soát tính chặt chẽ dữ liệu Mô hình bông tuyết có thể thích hợpkhi dữ liệu bảng chiều trở lên quá lớn và nhiều thuộc tính Tuy sự khác nhau
HOC SINH
THOI GIAN NGAY THANG
Trang 19thể hiện rất rõ về mặt lý thuyết nhưng khi thực hiện chúng trong thực tế có thểdẫn tới các kết quả khác nhau.
- Mô hình dữ liệu nhiều chiều (lược đồ kết hợp: Là kết hợp giữa sơ đồ
hình sao dựa trên bảng sự kiện và những bảng chiều không chuẩn hóa theocác chuẩn 1, 2, 3 và sơ đồ hình tuyết rơi trong đó tất cả các bảng chiều đều đãđược chuẩn hóa Trong sơ đồ loại này chỉ những bảng chiều lớn là đượcchuẩn hóa còn những bảng khác chứa một khối lượng lớn các cột dữ liệuchưa được chuẩn hóa
Hình 1.5 Mô hình lược đồ nhiều chiều
b Quy trình xây dựng Kho dữ liệu
Để xây dựng kho dữ liệu gồm các bước sau: Lập kế hoạch, Xác định yêucầu, thiết kế, xây dựng, triển khai, bảo trì
Trang 20Xác định chiến lược cài đặt: Đây là bước quan trọng, quyết định cơ cấu
tổ chức kho dữ liệu Có ba cách tiếp cận chính: Thực hiện từ trên xuống (Top– Down), thực hiện từ dưới lên (Bottom up), tổ hợp hai cách tiếp cận trên.Tùy vào cách tổ chức dữ liệu tại tổ chức mà chọn cách tiếp cận phù hợp
Lựa chọn phương pháp và mô hình phát triển kho dữ liệu: Để phát triển
hệ thống kho dữ liệu có hai phương pháp cơ bản: Phương pháp hướng chứcnăng: tập trung vào chức năng là chính, dữ liệu là phụ Phương pháp hướngđối tượng: xem hệ thống là tập các đối tượng và do vậy tập trung chính vào
dữ liệu Tuỳ vào sự hỗ trợ của công nghệ, của năng lực của đội ngũ cán bộtham gia dự án mà lựa chọn phương pháp phù hợp
Xác định mục tiêu kho dữ liệu: Việc xác định kho dữ liệu là rất phức tạp
vì kho dữ liệu chính là một hệ thống các CSDL lớn, phức tạp với khối lượng
dữ liệu khổng lồ và thường là không thuần nhất, bao quát nhiều lĩnh vực khác
nhau
Xác định phạm vi hệ thống: Trong hầu hết các tổ chức, lý do cần phát
triển kho dữ liệu là nhằm đáp ứng nhu cầu quản lý, khai thác thông tin để thựchiện công việc hay trợ giúp quyết định trong quản lý, điều hành công việc củamột nhóm người, một bộ phận hay cả tổ chức đó
Lựa chọn kiến trúc kho dữ liệu: Có thể xây dựng kho dữ liệu theo những
Trang 21Xây dựng kho dữ liệu và cả quầy dữ liệu Mỗi bộ phận có tiểu kho,được đặt trong một cơ cấu thống nhất được gọi là tổng kho, hay kho dữ liệuliên hợp Đây chính là kiến trúc ba tầng đã phân tích
Kiến trúc Client/Server gồm hai lớp chình: lớp Server và lớp Client.Server thực hiện các chương trình trong kho, quầy dữ liệu và lưu trữ dữ liệuvào kho Client thực hiện các chương trình khai thác, lập báo cáo, lưu trữ dữliệu cục bộ, v.v
Xây dựng chương trình và dự kiến ngân sách
Xây dựng chương trình gồm: Chương trình hành động với chương trình
dự án Chương trình hành động bao gồm các kế hoạch tổng hợp về các ứngdụng kho dữ liệu và vai trò của nó trong tổ chức, xã hội Chương trình dự án
là các kế hoạch thực hiện cụ thể kho dữ liệu, nó phải phù hợp với thứ tự ưutiên công việc mà chương trình hành động nêu trên đề ra
Dự trù ngân sách tương xứng với chương trình phát triển hệ thống, baogồm tất cả các kinh phí hoạt động: Phân tích, thiết kế, cài đặt, duy trì, v.v
- Phân tích các yêu cầu hệ thống
Yêu cầu về kiến trúc: Kiến trúc hệ thống là rất quan trọng, nó quyết định
nhiều tính chất và các khả năng của kho dữ liệu Kiến trúc là cơ sở để thiết lậpcác thành phần của một kho dữ liệu nhằm đáp ứng các nhu cầu hiện tại vàtương lai của một tổ chức Khi xây dựng kho dữ liệu cần lưu ý tới ba loại kiếntrúc sau: Kiến trúc dữ liệu, kiến trúc chương trình ứng dụng, kiến trúc côngnghệ
Yêu cầu người phát triển hệ thống: Những người xây dựng hệ thống
thường quan tâm đến những vấn đề cụ thể của kho dữ liệu Họ có những yêucầu cơ bản như: Yêu cầu về công nghệ, yêu cầu về triển khai, các yêu cầu vềsản phẩm, các yêu cầu về người tham gia dự án, …
Trang 22Yêu cầu của người sử dụng đầu cuối: Người sử dụng đầu cuối của kho
dữ liệu là các doanh nghiệp, các kỹ thuật viên, các nhà quản lý, các thươnggia, các chuyên viên của những lĩnh vực liên quan Mục đích là xử lý thôngtin từ kho dữ liệu phục vụ nhu cầu quản lý của họ
- Thiết kế và xây dựng kho dữ liệu
Xây dựng kho dữ liệu là quá trình tích hợp dữ liệu từ các nguồn khácnhau vào một kho Các nhà phân tích nghiệp vụ có thể truy vấn kho dữ liệu vàsinh các báo cáo, biểu đồ để trợ giúp quá trình ra quyết định của họ Một kho
dữ liệu có thể chứa CSDL lớn toàn xí nghiệp hoặc có thể kết hợp một số hệthống nhỏ (Data Mart)
Nguồn dữ liệu: Bao gồm các hệ thống dữ liệu bên trong hay bên ngoài
của tổ chức:
Dữ liệu bên trong (Internal Data): Là những thông tin có sẵn bao gồmcác hệ thống tác nghiệp hỗ trợ các hoạt động nghiệp vụ như sản xuất, kinhdoanh
Dữ liệu bên ngoài (External Data): Là dữ liệu không nằm trong các hệthống tác nghiệp của tỏ chức đó, là những dữ liệu do người sử dụng đầu cuốiyêu cầu để phục vụ các nhu cầu công việc của họ
Phân tích các nguồn dữ liệu: Các hệ thống thông tin có sẵn được phát
triển xung quanh các vùng nghiệp vụ của tổ chức cần xây dựng dự án Cácứng dụng được phát triển với dữ liệu mà các dữ liệu này phù hợp với các nhucầu khác nhau, với cùng một hệ thống dữ liệu nhưng với tên khác nhau, hoặcvới các hệ thống đo lường khác nhau, định nghĩa dữ liệu thậm chí chúng
có những yêu cầu về dữ liệu tương tự như nhau Kết quả cuối cùng là cácnguồn dữ liệu cần được đánh giá
Thu thập và tạo lập dữ liệu: Một phần quan trọng của việc cài đặt kho
dữ liệu là sử dụng những dữ liệu đã được tinh chế từ những hệ thống tác
Trang 23nghiệp và đưa chúng vào một khuôn dạng thích hợp cho các ứng dụng thôngtin Có nhiều công cụ có sẵn thường chỉ có ích cho việc tinh chế những dữliệu đơn giản Do đó việc phát triển những thủ tục tinh chế cho một số lĩnhvực ứng dụng là cần thiết cho việc tinh chế dữ liệu Các công đoạn thực hiệnbao gồm: Bóc tách dữ liệu; lọc, làm sạch dữ liệu; thẩm định dữ liệu; gộp, kếttập dữ liệu; tải dữ liệu vào kho; lưu trữ, phân tán, phân phối dữ liệu.
Quá trình này gồm các bước sau:
Xác thực
Hợp nhất
Tổng
Lưu trữ
Hình 1.6 Quá trình tạo lập dữ liệu của kho dữ liệu
- Duy trì và triển khai kho dữ liệu
Triển khai liên quan đến ngoài kho dữ liệu, siêu dữ liệu còn liên quanđến việc thực hiện, quản lí các nhu cầu về công cụ truy vấn của người sửdụng đầu cuối, lưu trữ các dữ liệu cũ Giai đoạn triển khai đưa những thànhphần phụ và cố định vào kho dữ liệu Giai đoạn triển khai đưa vào các phầntrang trí và những bộ phận bất động vào kho dữ liệu Tại giai đoạn này, công
cụ truy nhập và phân tích đã phải được lựa chọn để cung cấp tập kết quả Việctriển khai kho dữ liệu ảnh hưởng tới 3 vùng chính:
- Công ty
- Toàn bộ thông tin trợ giúp
Trang 24- Những người sử dụng đầu cuối.
1.2 ĐIỆN TOÁN ĐÁM MÂY
1.2.1 Khái niệm về điện toán đám mây
3 Mạng máy tính
(Network Computing) Người sử dụng
` Máy tính cá nhân
Máy chủ
4 Mạng Internet
(Internet Computing) Người sử dụng
` Máy tính cá nhân
5 Tính toán lưới
(Grid Computing)
` Máy tính cá nhân
Người sử dụng
Hình 1.7 Sáu mô hình máy tính [3]
(Adapted from Voas and Zhang (2009))
Trang 25Thuật ngữ điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán
lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS).
Điện toán lưới đặt trọng tâm vào việc di chuyển một tải công
việc (workload) đến địa điểm của các tài nguyên điện toán cần thiết để sử
dụng Một lưới là một nhóm máy chủ mà trên đó nhiệm vụ lớn được chiathành những tác vụ nhỏ để chạy song song, được xem là một máy chủ ảo.Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thểđược định hình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nênsẵn sàng thực hiện nhiệm vụ, hỗ trợ những môi trường không phải là điệntoán lưới như Web ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0
b Khái niệm
Điện toán đám mây (tiếng Anh: cloud computing), còn gọi là điện toánmáy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và pháttriển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉmạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính)
và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Ở
mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đềuđược cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập cácdịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà khôngcần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cầnquan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó [17]
Điện toán đám mây là mô hình diện toán cho phép truy cập qua mạng đểlựa chọn và sử dụng tài nguyên tính toán (ví dụ: mạng, máy chủ, lưu trữ, ứngdụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng, đồng thời
Trang 26cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểucác giao tiếp với nhà cung cấp [10]
Như vậy, hiểu một cách đơn giản mô hình ĐTĐM cung cấp cho người
sử dụng, các tổ chức, doanh nghiệp sử dụng tài nguyên CNTT dưới dạng cácdịch vụ Cho phép người sử dụng lựa chọn các dịch vụ linh hoạt, theo yêucầu, giảm thiểu chi phí đầu tư cơ sở hạ tầng Người sử dụng không cần biếtbằng công nghệ, hình thức nào và phương thức quản lý như thế nào để tạo ra
và duy trì các dịch vụ đó, mà chỉ quan tâm làm thế nào để có thể truy cập sửdụng dịch vụ và mức độ an toàn, tin cậy của dịch vụ được cung cấp có đápứng được như cầu của mình hay không
1.2.2 Kiến trúc điện toán đám mây
Kiến trúc mô hình ĐTĐM gồm bốn tầng như sau:
Tầng ứng dụng(Aplication Layer)Tầng nền tảng(Platform Layer)Tầng tài nguyên hợp nhất(Unified Resource Layer)
Tầng thiết bị(Fabric Layer)
Hình 1.8 Kiến trúc ĐTĐM [5]
Tầng kết cấu thiết bị (Fabric Layer): Tầng này chịu trách nhiệm cung cấpcác tài nguyên khác nhau như là sức mạnh tính toán, các kho lưu trữ, các tàinguyên mạng và kho mã Điều này có nghĩa là không giới hạ các nguồn tài
Trang 27nguyên mà nó cung cấp Các chức năng ở tầng này càng nhiều thì cho phépClouds cung cấp phong phú hơn nhiều dạng tài nguyên.
Tầng tài nguyên hợp nhất (Unified Resource Layer): Tầng này liên kếtvới tầng thiết bị để hợp nhất các tài nguyên bên dưới Tầng này thông quacông nghệ Virtualization để giao tiếp với các tầng trên nó Thông qua tầngnày thì các tài nguyên chia sẻ nằm rải rác sẽ được hợp nhất thành một khốiđồng nhất chia sẻ cho người dùng
Tầng nền tảng (Platform Layer): cung cấp các thông tin tài nguyên, cáccông cụ chuyên môn để xây dựng phát triển hay triển khai một nền tảng ứngdụng của người dùng Các công cụ truy xuất cơ sở dữ liệu, các công cụ lậptrình…
Tầng ứng dụng (Application Layer): Tầng này chứa các ứng dụng có thểchạy trên Clouds Đây là nơi cung cấp các tài nguyên phần mềm ứng dụng khingười dùng có yêu cầu
1.2.3 Mô hình điện toán đám mây
a Mô hình dịch vụ (Service Models)
Mô hình dịch vụ điện toán đám mây chia thành ba nhóm: Dịch vụ phầnmềm (Software as a Service - SaaS), Dịch vụ nền tảng (Platform as a Service
- PaaS) và dịch vụ hạ tầng (Infrastructure as a Service - IaaS) Trong mô hìnhdịch vụ phần mềm, chương trình ứng dụng, các phần mềm cần thiết, hệ điềuhành, phần cứng và mạng được cung cấp Trong PaaS, hệ điều hành, phầncứng, và mạng được cung cấp, các khách hàng cài đặt hoặc phát triển phầnmềm riêng của mình và các ứng dụng Mô hình IaaS cung cấp chỉ là phầncứng và mạng, khách hàng cài đặt hoặc phát triển các hệ thống riêng của mìnhgồm hệ điều hành, phần mềm và các ứng dụng
Trang 28Công nghệ cho phép cung cấp dịch vụ (Phần cứng và phần mềm)
IaaS
PaaS
SaaSNgười sử dụng
Ghi chú:
- Cung cấp cho người sử dụng
- Cung cấp cho khách hàng
- Cho phép cung cấp dịch vụ
Hình 1.9 Mô hình dịch vụ điện toán đám mây [3]
c Mô hình triển khai (Deployment of cloud services)
Triển khai các dịch vụ đám mây thông qua một trong các mô hình cơ bản: Đám mây riêng (private cloud), đám mây cộng đồng (community cloud),đám mây công cộng (public cloud) hoặc đám mây lai (hybrid cloud)
Trang 29Hình 1.10 Mô hình triển khai điện toán đám mây [3]
Nói chung, các dịch vụ được cung cấp bởi một đám mây công cộng đượccung cấp qua Internet và được sở hữu và điều hành bởi một nhà cung cấp điệntoán đám mây Một số ví dụ dịch vụ nhằm vào công chúng, chẳng hạn nhưdịch vụ lưu trữ ảnh trực tuyến, e-mail, dịch vụ hoặc các trang web mạng xãhội Tuy nhiên, dịch vụ cho các doanh nghiệp cũng có thể được được cungcấp trong một đám mây công cộng
Trong một đám mây riêng, cơ sở hạ tầng điện toán đám mây được vậnhành chỉ duy nhất cho một tổ chức cụ thể, và được quản lý bởi các tổ chứchoặc một bên thứ ba
Trang 30Trong một đám mây cộng đồng, các dịch vụ được chia sẻ bởi một số tổchức và thực hiện chỉ có sẵn cho các nhóm Cơ sở hạ tầng có thể được sở hữu
và điều hành bởi tổ chức hoặc bởi một nhà cung cấp dịch vụ điện toán đámmây
Một đám mây lai là một sự kết hợp các phương pháp khác nhau của cácnguồn tài nguyên tổng hợp Ví dụ, kết hợp các đám mây công cộng và cộngđồng
1.2.4 Các nhà cung cấp dịch vụ điện toán đám mây
a Amazon
Amazon là một trong những công ty đầu tiên cung cấp dịch vụ đám mâycho công chúng Amazon cung cấp một số dịch vụ điện toán đám mây, baogồm:
Elastic Compute Cloud (EC2): Cung cấp các máy ảo và chu kỳ CPUthêm cho các tổ chức
Simple Storage Service (S3): Cho phép bạn lưu trữ các mục lên đến 5GB
về kích thước trong dịch vụ lưu trữ ảo của Amazon
Simple Queue Service (SQS): Cho phép máy của bạn để nói chuyện vớinhau bằng cách sử dụng thông điệp qua API này
SimpleDB Một dịch vụ web để chạy các truy vấn trên cấu trúc dữ liệutrong thời gian thực, dịch vụ này hoạt động kết hợp chặt chẽ với AmazonSimple Storage Service (Amazon S3) và Amazon Elastic Compute Cloud(Amazon EC2), chung cung cấp khả năng lưu trữ, xử lý và truy vấn dữ liệuđặt trong các đám mây
Những dịch vụ này có thể khó khăn để sử dụng, bởi vì họ phải được thựchiện thông qua dòng lệnh Điều đó nói rằng, nếu bạn đang sử dụng để làmviệc trong một môi trường dòng lệnh, bạn không nên có nhiều rắc rối bằngcách sử dụng dịch vụ
Trang 31Máy ảo của Amazon là phiên bản phân phối Linux, vì vậy những người
có kinh nghiệm với Linux sẽ được quyền sử dụng phiên bản đó trên máy tính
cá nhân Trong thực tế, các ứng dụng có thể được viết trên của bạn cá nhân vàsau đó tải lên các đám mây Amazon là dịch vụ điện toán đám mây rộng lớnnhất cho đến nay [13]
và cơ sở dữ liệu Google còn nhiều tính năng hơn để thêm các dịch vụ xử lýnền [15]
c Microsoft
Giải pháp điện toán đám mây của Microsoft được gọi là WindowsAzure, một hệ điều hành mà cho phép các tổ chức để chạy các ứng dụngWindows và lưu trữ các tập tin và dữ liệu củatrung tâm dữ liệu Microsoft Nócũng cung cấp các dịch vụ nền tảng Azure, đó là dịch vụ cho phép các nhàphát triển để thiết lập id (identities) người dùng, quản lý quy trình công việc,đồng bộ hóa dữ liệu, và thực hiện các chức năng khác như họ xây dựng cácchương trình phần mềm trên nền tảng điện toán trực tuyến của Microsoft
Trang 32Thành phần chính của Azure Services Platform (dịch vụ nền tảng) baogồm:
Windows Azure Cung cấp dịch vụ lưu trữ và quản lý và ở mức độ: lưutrữ, tính toán, và kết nối mạng
Microsoft SQL Services: Cung cấp các dịch vụ cơ sở dữ liệu và báo cáo.Microsoft NET Services: Cung cấp dịch vụ triển khai dựa trên nền NETLive Services: Sử dụng để chia sẻ, lưu trữ và đồng bộ hóa tài liệu, ảnh,
và các tập tin trên máy tính, điện thoại, các ứng dụng máy tính, và các trangweb
Microsoft SharePoint Services và Microsoft Dynamics CRM: Dịch vụ sửdụng cho nội dung kinh doanh, hợp tác, và giải pháp phát triển trong các đámmây
Microsoft có kế hoạch phiên bản kế tiếp của Office cung cấp một lựachọn dựa trên trình duyệt để người dùng có thể đọc và chỉnh sửa tài liệu trựctuyến cũng như cung cấp khả năng cho người dùng cộng tác sử dụng web,điện thoại di động, và các phiên bản khách hàng của văn phòng [21]
d Salesforce
Salesforce.com là công ty điện toán đám mây doanh nghiệp Danh mụcđầu tư của công ty Salesforce ứng dụng CRM tạiwww.salesforce.com/products, đã giúp các công ty cộng tác và giao tiếp vớikhách hàng của họ trên doanh số bán hàng, tiếp thị và dịch vụ Force.com làcông ty cung cấp dịch vụ nền tảng (www.salesforce.com/platform) giúp kháchhàng, đối tác và các nhà phát triển để nhanh chóng xây dựng ứng dụng kinhdoanh mạnh mẽ để chạy tất cả các phần của doanh nghiệp trên đám mây Dựatrên thời gian thực, kiến trúc multitenant, Salesforce CRM và Force.com cungcấp cho khách hàng một con đường nhanh chóng thành công với điện toánđám mây [24]
Trang 331.2.5 Google App Engine (GAE)
a Giới thiệu
GAE là một nền tảng hosting cho phép lưu trữ nhiều Web Server.CSDL BigTable và kho lưu trữ bởi file GFS GAE cho phép chạy các ứngdụng web trên cơ sở hạ tầng của Google Ứng dụng App Engine rất dễ xâydựng, dễ bảo trì, và dễ dàng để mở rộng quy mô như lưu lượng truy cập vànhu cầu lưu trữ dữ liệu lớn Với App Engine, không có máy chủ để duy trì:Chỉ cần tải ứng dụng, và nó sẵn sàng để phục vụ người dùng
Google App Engine hỗ trợ các ứng dụng viết bằng một số ngôn ngữ lậptrình Java và Python Với môi trường Java của App Engine, có thể xây dựngứng dụng sử dụng công nghệ tiêu chuẩn Java, bao gồm cả các JVM, Javaservlets, và các ngôn ngữ lập trình Java - hoặc bất kỳ ngôn ngữ khác sử dụngmột thông dịch viên JVM dựa trên hoặc trình biên dịch, chẳng hạn nhưJavaScript hoặc Ruby Với môi trường Python, trong đó bao gồm một thôngdịch Python nhanh và thư viện chuẩn của Python App Engine cũng hỗ trợcho Google Cloud SQL, Google Cloud Storage và Go App Engine cung cấpmột môi trường được xây dựng để đảm bảo rằng ứng dụng chạy một cáchnhanh chóng, an toàn, và không có sự can thiệp từ các ứng dụng khác trên hệthống
Với App Engine, chỉ phải trả cho những gì sử dụng Không có chi phíthiết lập và không có lệ phí định kỳ Các tài nguyên ứng dụng sử dụng lưu trữ
và băng thông, được đo bằng gigabyte, và lập hoá đơn tại mức giá cạnh tranh.Kiểm soát số tiền tối đa các nguồn lực ứng dụng có thể tiêu thụ, vì vậy nóluôn luôn chỉ nằm trong ngân sách App Engine không tốn chi phí để bắt đầu.Tất cả các ứng dụng có thể sử dụng lên đến 1 GB dung lượng lưu trữ và đủCPU và băng thông để hỗ trợ một ứng dụng hiệu quả phục vụ khoảng 5 triệu
Trang 34lượt xem một tháng, hoàn toàn miễn phí Khi bạn kích hoạt thanh toán choứng dụng của bạn, giới hạn miễn phí được nâng lên, và chỉ phải trả cho nguồnlực sử dụng trên các cấp độ miễn phí [15]
b Một số tính năng đặc trưng của GAE
Lưu trữ dữ liệu (Data store): Cung cấp kho lưu trữ dữ liệu mạnh mẽ, khảnăng mở rộng lưu trữ các ứng dụng Web, mô hình dữ liệu API và sử dụngngôn ngữ truy vấn SQL Nếu như các tập tin hình ảnh, video quá lớn để lưutrữ dịch vụ kho dữ liệu thì lưu trữ tại Blobstore
Tìm kiếm (Search): Cho phép ứng dụng thực hiện tìm kiếm theo cấutrúc dữ liệu trên Google như: văn bản đơn giản, HTML, phần tử, số, ngày, vịtrí địa lý
Viết code một lần và triển khai cung cấp và cấu hình nhiều máy tínhcho trad web dịch vụ và lưu trữ dữ liệu GAE làm cho nó dễ dàng hơn để triểnkhai các ứng dụng web bằng cách tự động cung cấp tính toán các nguồn lựckhi cần thiết Các nhà phát triển viết code và Google App Engine sẽ chăm sócphần còn lại
Khi ứng dụng Web tăng đột biến lưu lượng truy cập, GAE tự động mởrộng từ một người dùng đến nhiều người dùng và cân bằng tải
Dể dàng tích hợp với các dịch vụ khác của Google
c Google Web Tookit (GWT)
GWT là một bộ công cụ phát triển để xây dựng và tối ưu hóa các ứngdụng Web phức tạp Mục tiêu của nó là cho phép các nhà phát triển các ứngdụng web hiệu suất cao mà không cần phải chuyên sâu về XMLHttpRequest.Cũng như JavaScript, GWT được sử dụng bởi nhiều sản phẩm trong Google,
và các phiên bản mới của AdWords Đó là phần mềm mã nguồn mở, hoàn
Trang 35toàn miễn phí, và được sử dụng bởi hàng ngàn nhà phát triển trên toàn thếgiới.
d Xây dựng ứng dụng Google trên GWT
Google đã xây dựng một số ứng dụng sử dụng GWT Ví dụ, GoogleHealth (https://health.google.com) là một đám mây gần đây đưa ra phát triểnứng dụng dựa trên trên GWT
Google cũng đã công bố sự sẵn có miễn phí của của Google Earth API
và trình duyệt plug-in, cho phép các nhà phát triển web nhanh chóng và dễdàng chuyển các trang web của họ vào các ứng dụng bản đồ 3D Tính năngchính của nó là:
Nhúng Google Earth trong bất kỳ trang web chỉ với một vài dòng mãlệnh
Sử dụng API Javascript để cho phép các ứng dụng web phong phú
Thao tác KML và môi trường 3D: tạo đa giác, dòng, dấu vị trí,
Chuyển đổi trang web Google Maps API sang 3D với vài dòng mã lệnh
e Google Gears R.I.P
Google Gears là một dự án mã nguồn mở có các tính năng ngoại tuyếncủa Google Reader và Google Docs bằng cách cung cấp một cơ sở dữ liệu cục
bộ Nó cung cấp hỗ trợ thêm cho các trình duyệt khác Khả năng chính của nólà:
Ứng dụng cho Web tương tác với máy tính để bàn
Lưu trữ dữ liệu cụ bộ trong một cơ sở dữ liệu
Chạy JavaScript chế độ nền để cải thiện hiệu suất
Trang 36f Google Apps Script (GAS)
GAS là công cụ mạnh mẽ tự động hóa quy trình tác nghiệp kinh doanh,khách hàng có thể tùy chỉnh các chức năng mở rộng các ứng dụng Web củaGoogle GAS hiện cung cấp
Khả năng tương tác dữ liệu thông qua JDBC (Java DatabaseConnectivity): Google Apps Script có thể kết nối với bất kỳ MySQL cơ sở dữliệu, bao gồm cả cơ sở dữ liệu doanh nghiệp hoạt động trên các máy chủ.Tùy chỉnh giao diện người dùng: Google Apps Premier Edition
Tích hợp hơn với các ứng dụng khác của Google: tích hợp mới vớiGoogle Docs và Google Maps thêm khả năng để tạo và sửa đổi các tập tintrong danh sách Google Documents và lấy hướng dẫn từ Google Maps
1.2.6 Lợi ích và thách thức của điện toán đám mây
a Lợi ích
Linh động, khách hàng có thể được cung cấp lại một cách nhanh chóng
mà không tốn kém nguồn lực cơ sở hạ tầng công
Chi phí kiểm soát, Giá dịch vụ điện toán đám mây thường dựa trên sự
chọn lựa các tiện ích sử dụng (dùng bao nhiêu trả bấy nhiêu)
Giảm thiểu kỹ năng CNTT, ít hơn và ít phức tạp kỹ năng CNTT được
yêu cầu thực hiện
b Khó khăn thách thức của Cloud Computing
Cloud Computing mang lại những lợi ích to lớn về sức mạnh tính toán
và lưu trữ, và đặc biệt được xem là công nghệ giá rẻ với nguồn đầu tư khônglớn Tuy nhiên, cũng giống như các công nghệ mới khác, “Cloud Computing”không phải là bức tranh hoàn hảo 100% Nếu dữ liệu quan trọng của các cánhân hoặc doanh nghiệp được lưu giữ trong hệ thống “Cloud Computing” hệthống mà tất cả mọi người đều có khả năng truy cập thì sẽ dẫn đến hiện tượng
Trang 37dữ liệu dễ bị rò rỉ và mang đến nhiều vấn đề xảy ra cần quan tâm khi sử dụngnó.
Vấn đề bảo mật:
Bảo mật của Cloud Computing bao gồm những vấn đề sau:
Sở hữu trí tuệ: Không chỉ vấn đề này là vấn đề khó khăn trong lĩnh vực
công nghệ mà cả trong các lĩnh vực khác của đời sống Đây là vấn đề kháquan trọng, nhạy cảm, làm đau đầu các nhà quản lý công nghệ Điều đặt ra làlàm thế nào để có thể xác định bản quyền trí tuệ của những sản phẩm côngnghệ được lưu hành trên Internet
Tính riêng tư về dữ liệu: Liệu các dữ liệu lưu trữ trên các đám mây có
được giữ bí mật Ý tưởng của Cloud là liên kết tính toán trên các máy tínhnhàn rỗi nhằm tận dụng tài nguyên một cách hợp lý Nhưng vấn đề đặt ra nếu
dữ liệu được xử lý trên các máy tính đó thì có bị chủ nhân đó truy xuất dữ liệu
đó hay không? Đó cũng là một phần quan trọng trong yêu cầu phải bảo mậtcác luồng dữ liệu lưu hành trên Clouds
Độ tin cậy: Liệu các nhà cung cấp Clouds có trung thực trong việc xử lý,
bảo mật dữ liệu…đảm bảo không tham gia truy xuất vào dữ liệu của kháchhàng
Vấn đề kiểm soát dữ liệu:
Các vấn đề kiểm soát mà đôi khi người dùng và doanh nghiệp vẫn cònbăn khoăn khi sử dụng hay triển khai Cloud Computing đó là:
Khả năng kiểm soát dữ liệu: Cloud Computing cung cấp khả năng lưutrữ và xử lý dữ liệu cho người dùng khi có yêu cầu Người dùng không quantâm dữ liệu của họ được cấu hình, hay lưu trữ như thế nào, và lưu trữ ở đâu.Cloud Computing đáp ứng khả năng lưu trữ lớn mà người dùng cần Chính vìthế mà đôi khi người dùng phung phí khả năng lưu trữ lớn đó Vấn đề tính
Trang 38toán quản lý kho dữ liệu ngày càng lớn dần một cách tối ưu cũng là vấn đềđáng lo ngại.
Tính sẵn sàng của dịch vụ và dữ liệu cũng là vấn đề đáng nói Dịch vụ cóđảm bảo sẵn sàng khi bị các cuộc tấn công từ bên ngoài Dữ liệu người dùngđang cần lại không thể truy xuất từ nhà cung cấp vì sự cố Điều gì xảy ra với
dữ liệu người dùng khi nhà cung cấp ngừng cung cấp dịch vụ…
Độ trễ dữ liệu: vì Cloud Computing cung cấp dịch vụ thông qua mạngInternet nên độ trễ dữ liệu cũng là vấn đề quan tâm Tốc độ xử lý và truyền dữliệu có đáp ứng yêu cầu
Các nỗi lo về vấn đề tấn công từ bên ngoài
Đồng thời vấn đề kiểm soát dữ liệu từ các tổ chức bên ngoài tham giavào đám mây cũng rất khó
Đó là những câu hỏi còn băn khoăn từ phía người sử dụng dịch vụ Tuynhiên, dù hiện tại công nghệ Cloud Computing có còn nhiều khó khăn tháchthức, người dùng và doanh nghiệp vẫn còn e ngại khi sử dụng và triển khai
nó, nhưng Cloud Computing vẫn đang dần ngày càng hoàn thiện, khắc phụccác khó khăn của mình để trở thành công nghệ của tương lai CloudComputing sẽ hiện hữu là một công nghệ điện toán giá rẻ dành cho ngườidùng
1.2.7 Xu hướng phát triển điện toán đám mây
Thuật ngữ “Cloud Computing” ra đời từ giữa năm 2007, cho đến nay đãkhông ngừng phát triển mạnh mẽ và được thực hiện bởi nhiều tập đoàn côngnghệ lớn trên thế giới như IBM, Sun, Amazon, Google, Microsoft, Yahoo,SalesForce… Những công ty này đã nhận ra được những lợi ích và xu thếcông nghệ trong tương lai
Với mục tiêu giải quyết các bài toán về dữ liệu, tính toán, dịch vụ,… chokhách hàng, Cloud Computing đã và đang mang lại lợi nhuận lớn, đem đến
Trang 39một sân chơi, một thị trường rộng lớn cho các nhà cung cấp dịch vụ, nênnhững sự thay đổi và phát triển nhanh chóng của nó có thể được tính từngngày.
Khi đánh giá tốc độ phát triển của Cloud Computing với những côngnghệ điện toán trước đây như Grid Computing, Unility Computing thì CloudComputing có sự vượt trội hơn trong vài năm trở lại đây
Hình 1.11 Top 10 lĩnh vực công nghệ chiến lược cho năm 2010
và sự phát triển của họ trong các năm gần đây [3]
(Gartner(Gartner–Gartner Newsroom, 2010) and Google Trends(2010))
Trang 40Theo báo VNUnet (28/04/2009), trong một cuộc khảo sát từ kháchhàng sử dụng các dịch vụ của Cloud Computing thì có tới 27,7% quan tâm vềvấn đề lưu trữ dữ liệu (data storage); 17% người dùng quan tâm về các ứngdụng liên quan đến tài chính; 12,8% quan tâm về dịch vụ e-mail.
Xu thế về công nghệ Cloud Computing sẽ được ngày càng hoàn thiện
và phát triển mạnh về sau Các dịch vụ và mô hình Cloud Computing hướngtới nhằm mang lại những sản phẩm dịch vụ tốt nhất cho người dùng