I.ĐIỆN TOÁN ĐÁM MÂY.
1.1. Khái niệm.
1.2.Các đặc điểm của điện toán đám mây
1.3 Ưu và nhược của mô hình "Điện toán đám mây"
1.4.Sự cần thiết của điện toán đám mây.
II.HOẠT ĐỘNG CỦA ĐIỆN TOÁN ĐÁM MÂY.
2.1.Kiến trúc của ứng dụng điện toán đám mây.
2.2.Kiến trúc của máy chủ.
2.3.Map Reduce.
2.4.Hadoop.
III. ĐIỆN TOÁN ĐÁM MÂY – XU HƯỚNG CÔNG NGHỆ MỚI TẠI VIỆT NAM.
IV. ĐIỆN TOÁN ĐÁM MÂY CỦA MICROSOFT.
V. TỔNG KẾT.
31 trang |
Chia sẻ: maiphuongdc | Lượt xem: 5131 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tiểu luận Tìm hiểu về điện toán đám mây, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
uá trình này cần có một phần mềm hoặc hệ điều hành xử lý công việc quản lý hệ thống phân tán, giống như kỹ thuật tính toán lưới, giúp quản lý các yêu cầu khác nhau đến máy chủ ảo. Cơ chế này sẽ đảm bảo việc tạo ra nhiều bản sao và cả việc bảo vệ sự thống nhất dữ liệu được lưu trên cơ sở hạ tầng. Đồng thời hệ điều hành đó cũng có thể tự điều chỉnh như là khi gặp quá tải các tiến trình, phân chia xử lý để hoàn thành đáp ứng yêu cầu. Hệ thống quản lý công việc như vậy được che dấu với người dùng, hay nói các khác là ẩn với người dùng. Sự độc lập với người dùng thể hiện ở chỗ nó xử lý và trả về kết quả đạt được, chứ không cần phải quan trọng nó ở đâu và nó thực hiện điều đó bằng cách nào. Người dùng trả tiền trên lưu lượng sử dụng hệ thống, như đã nói dịch vụ được tính bằng chu kỳ của CPU hoặc byte. Thực tế số tiền mà khách hàng phải trả thường được tính dựa vào lưu lượng dùng CPU trên một giờ hoặc số Gb dữ liệu di chuyển trong một giờ.
2.2. Kiến trúc máy chủ:
Điện toán đám mây được tạo thành bằng cách sử dụng tài nguyên vật lý lớn từ nhiều máy chủ trong đám mây của nhà cung cấp dịch vụ. Đây là một ứng dụng của nguyên tắc kết hợp vào trong bài toán cần một hệ thống tính toán lớn mà thiết bị hoặc cơ sở vật chất không cho phép nên chúng ta cần phải ghép những thiết bị, những hệ thống nhỏ lại với nhau để trở thành một hệ thống lớn đáp ứng những nhu cầu lớn hơn cho người sử dụng trong những hệ thống yêu cầu tính toán và lưu trữ lớn. Như đã nói bên trên, dịch vụ và ứng dụng của điện toán đám mây dựa trên máy chủ ảo được thiết kế từ tài nguyên góp lại này. Có hai ứng dụng (hoặc hệ điều hành) sẽ giúp quản lý các thể hiện trên máy trong đám mây, cũng như quản lý tất cả các tài nguyên của các thể hiện máy chủ ảo. Đây là một ứng dụng nguyên lý tách khỏi vào trong hệ thống điện toán đám mây nhằm tách biệt phần cứng phức tạp của hệ thống vói giao diện bên ngoài. Nhằm tạo ra một giao diện người dùng đơn giản, dễ sử dụng hơn so với phần cứng phức tạp bên dưới và cũng là để tách biệt giao diện người dùng với hệ thống phần cứng, khi đó người dùng chỉ cần quan tâm đến những ứng dụng mà học cần chứ không cần quan tâm đến phần cứng bên dưới được thực hiện như thế nào. Ứng dụng thứ nhất là Xen hypervisor cung cấp các lớp trừu tượng giữa phần cứng và hệ điều hành ảo, nhờ vậy sự phân tán của các tài nguyên và tiến trình được quản lý giống như là đang thực hiện trên một máy. Ứng dụng thứ hai cũng được sử dụng rộng rãi là hệ thống quản lý máy chủ ảo Enomalism, nó được sử dụng để quản lý hạ tầng phần cứng nền tảng.
Khi Xen sử dụng cho các lớp ảo của các cơ sở hạ tầng máy chủ, một lớp phần mềm là Xen hypervisor đã được cài đặt giữa máy chủ và hệ điều hành. Nó cung cấp một lớp trừu tượng cho phép mỗi server vật lý có thể được chạy như là một hoặc nhiều máy chủ ảo, tách riêng hệ điều hành và các ứng dụng của nó khỏi lớp phần cứng vật lý bên dưới. Xen hypervisor là một công nghệ mã nguồn mở, được cộng tác phát triển bởi Xen và các kỹ sư của hơn 20 công ty nổi tiếng về trung tâm dữ liệu có tính chất đổi mới bao gồm : AMD, Cisco, Dell, HP, IBM, Intel, Mellanox, Network Appliance, Novell, Red Hat, SGI, Sun, Unisys, Veritas, Voltaire, and Citrix. Xen được đăng ký bởi GNU General Public License (GPL2) và được sử dụng không được thay đổi về mã nguồn và định dạng đối tượng. Xen Hypervisor cũng đặc biệt ngắn - ít hơn 50.000 dòng mã. Vì vậy chi phí dịch mã code rất thấp và hiệu suất gần giống như trên máy nguyên thủy. Xen tái sử dụng các trình điều khiển thiết bị hiện có (đối với cả hai loại là mở và đóng mã nguồn) từ Linux, làm cho thiết bị quản lý dễ dàng. Hơn nữa Xen rất mạnh mẽ để điều khiển lỗi và bảo vệ cả người dùng và hypervisor khỏi các vấn đề với các lỗi từ các driver độc hại.
Hệ thống quản lý máy chủ ảo Enomalism là một nền tảng hạ tầng cơ sở máy chủ ảo hoàn chỉnh. Enomalism quản lý ảnh hưởng giữa các tài nguyên trong hệ thống. Enomalism có thể sử dụng để dẫn các luồng tính toán vào đám mây giống như là luồng từ khách hàng được đi vào thực hiện tính toán trên một máy chủ từ xa. Nó mang tất cả những tính năng như: triển khai kế hoạch tính toán, cân bằng tải, tránh xung đột tài nguyên… Enomalism cũng là một ứng dụng mã nguồn mở, nó có một giao diện người dùng dựa trên nền web rất đơn giản và dễ sử dụng. Nó có kiến trúc từng phần dễ dàng cho phép tạo và thêm vào hệ thống các bổ sung và các tiện ích cần thiết cho việc sử dụng. Nó hỗ triển khai tổ chức phân tán và tạo các ứng dụng dựa trên tổng quang chung. Nó hỗ trợ quản lý các trường ảo khác nhau gồm KVM/Qemu, Amazon EC2 and Xen, OpenVZ, Linux Containers, VirtualBox. Nó có chế độ phân quyền người dùng và đặt quyền truy cập.
2.3. Map Reduce.
Map Reduce là một mô hình lập trình, được Google phát triển vào năm 2003, để hỗ trợ cho quá trình tính toán song song trên số lượng tập các dữ liệu cực lớn (vài tỷ byte) lưu trữ ở các cụm máy tính thành phần trong đám mây điện toán. Trong mô hình này, người dùng định nghĩa một hàm map để tính toán một cặp khóa/giá trị đầu vào và tạo nên một tập các cặp khóa/giá trị tạm thời, sau đó hàm reduce sẽ gom nhóm tất cả những giá trị tạm thời nào có chung khóa lại với nhau cho ra kết quả mong muốn. Rất nhiều các tác vụ trong đời sống thực có thể được thực thi bằng mô hình này,chúng ta sẽ xem xét cụ thể hơn ở phần sau.
Chương trình được viết theo kiểu chức năng này được song song hóa một cách tự động và được thực thi trên một cụm lớn các “máy tính hàng hóa” (các máy tính thành phần cấu tạo nên đám mây điện toán). Hệ thống khi chạy sẽ quan tâm chi tiết phân vùng của dữ liệu đầu vào, lập lịch quá trình thực thi chương trình thông qua một tập các máy tính thành phần, xử lý lỗi và quản lý các kết nối nội giữa các máy tính thành phần. Điều này cho phép các lập trình viên ngay cả chưa có bất kỳ kinh nghiệm nào trong các hệ thống song song và phân tán đều có thể dễ dàng tối ưu hóa các tài nguyên của một hệ thống phân tán lớn
Trong vòng vài năm trước đây, các kỹ sư của Google phải khởi tạo hàng trăm các quá trình tính toán dành cho các mục đích đặc biệt trên số lượng lớn các dữ liệu thô như các dữ liệu móc nối, nhật ký các trang web yêu cầu…Các quá trình tính toán này dùng cho nhiều mục đích khác nhau như tóm tắt số lượng các trang đã được móc nối bởi từng host, tính tần số truy xuất của 1 trang web, tìm ra tập các câu truy vấn được dùng nhiều nhất trong ngày…Hầu hết các tính toán này đều không phức tạp,nhưng dữ liệu đầu vào thường rất lớn và quá trình tính toán cần phải được phân tán cho hàng trăm ngàn máy nhằm có thể thực thi trong khoảng thời gian cho phép. Các vấn đề về việc song song hóa tính toán,phân tán dữ liệu và quản lý lỗi đã làm cho các quá trình tính toán vốn đơn giản này trở nên vô cùng phức tạp.
Để giải quyết vấn đề, các kỹ sư của Google đã thiết kế một mô hình trừu tượng cho phép chúng ta diễn tả quá trình tính toán này một cách đơn giản như vốn dĩ của nó, đồng thời che dấu đi các chi tiết phức tạp trong việc song song hóa, chấp nhận lỗi, cân bằng nạp, phân tán dữ liệu trong một thư viện riêng. Sự trừu tượng hóa này được lấy ý tưởng từ 2 thành phần cơ bản là map và reduce trong Lisp và nhiều loại ngôn ngữ lập trình hàm khác. Chúng ta có thể nhận thấy rằng trong hầu hết các quá trình tính toán của chúng ta đều bao gồm một thao tác map, ánh xạ các đầu vào với các giá trị của “bản ghi” để thực hiện việc tính toán các giá trị đó thành 1 tập các cặp khóa/giá trị tạm thời, sau đó ta lại tạo thêm một thao tác reduce, thu gọn các giá trị mà có cùng key lại với nhau và cho ra kết quả.Việc sử dụng mô hình hàm chức năng map và reduce cho phép chúng ta có thể thực thi song song các tính toán lớn dễ dàng và có thể sử dụng quá trình thực thi lại như một cơ chế chấp nhận lỗi.
Các thế mạnh chính của phương pháp này là cung cấp cho chúng ta một giao diện đơn giản và mạnh mẽ, cho phép song song hóa và phân tán dữ liệu trong các phép toán lớn một cách tự động, giúp cho ta thu được hiệu năng cao nhất trong số lượng lớn các cụm máy tính thành phần của đám mây điện toán. Ở phần sau chúng ta sẽ lần lượt xem xét mô hình lập trình cơ bản của MapReduce và một vài ví dụ đơn giản
Mô hình lập trình
Quá trình tính toán nhận một cặp giá trị đầu vào gồm khóa/giá trị, và tính toán cho ra một tập các cặp khóa/giá trị đầu ra. Người dùng sử dụng thư viện MapReduce để diễn tả quá trình này thông qua hai hàm là Map và Reduce.
Map là hàm được định nghĩa bởi người dùng, nhận một cặp giá trị đầu vào và tạo ra các cặp giá trị trung gian.Thư viện MapReduce nhóm tất cả các giá trị trung gian có liên quan tới key I lại với nhau và chuyển nó cho hàm Reduce.
Hàm Reduce cũng được viết bởi người dùng, chấp nhận key I và các tập giá trị trung gian của key I này. Sau đó tiến hành hợp nhất các giá trị này thành một tập các giá trị nhỏ hơn nếu có thể. Một lần nữa nguyên tắc kết hợp lại được sử dụng trong hệ thống điện toán đám mây nhằm phục vụ cho thuật toán giải quyết yêu cầu bài toán, sau khi chia nhỏ các chương trình lớn thành các phần nhỏ để thực hiện tính toán một cách song song nhằm làm giảm thời gian thực hiện một bài toán thì hệ thống tiến hành kết hợp các kết quả tính toán từ các tiến trình nhỏ song song lại với nhau để đưa ra một kết quả tính toán thống nhất của chương trình tính toán mà người dùng yêu cầu. Thông thường chỉ có một giá trị output được đưa ra từ hàm Reduce hoặc không có giá trị nào cả.
Ví dụ:
Giả sử chúng ta có một bài toán là đếm số lần xuất hiện của một từ trong một bộ tài liệu lớn, người dùng cần phải viết một đoạn code tương tự với mã giả sau đây:
map(String key,String value):
//key: tên của tài liệu
//value:nội dung tài liệu đó
Với mỗi chữ cái w trong value :
EmitIntermediate(w,”1”);
reduce(String key,Iterator values):
//key: chữ cái cần đếm
//values:danh sách các số đếm trong map
int result = 0;
với mỗi giá trị v trong values:
result += ParseInt(v);
Emit(AsString(result)) ;
Hàm map thêm vào mỗi từ một số tương ứng với số lần xuất hiện của nó (trong ví dụ đơn giản trên là ‘1’). Hàm reduce làm nhiệm vụ cộng tất cả các số đếm của từ đó.
Sau đó, người dùng cần phải thực hiện thêm các thủ tục khai báo đặc tả đối tượng mapreduce với tên của các file input, output và các biến tùy chỉnh. Người dùng sau đó gọi hàm MapReduce, chuyển cho nó đối tượng đã đặc tả ở trên, lúc này các đoạn code của người dùng được liên kết lại thông qua thư viện MapReduce.
Tổng quan quá trình thực thi
Quá trình gọi thực thi hàm Map được phân tán trong nhiều các máy thành viên của đám mây điện toán bằng cách tự động phân vùng các giá trị đầu vào thành một bộ gồm M phần. Các phần này có thể được tính toán song song bởi các máy khác nhau. Tương tự hàm Reduce cũng được phân tán bằng cách phân vùng các khóa giá trị trung gian thành R mảnh bằng các hàm phân vùng (ví dụ như hash(key) mod R). Số lượng R và hàm phân vùng có thể được chỉ rõ bởi người dùng.
Hình bên dưới cho chúng ta cái nhìn tổng quát nhất về luồng thực thi một thao tác MapReduce.
Khi người dùng gọi hàm MapReduce thì các tác vụ sau đây sẽ được diễn ra một cách tuần tự:
Thư viện MapReduce trong chương trình người dùng đầu tiên sẽ chia nhỏ các file đầu vào thành M mảnh (thông thường kích thước mỗi mảnh từ 16-64MB,có thể điều chỉnh thông qua các tham số tùy chọn). Ở đây, hệ thống điện toán đám mây đã đưa nguyên tắc chia nhỏ vào để thực hiện quá trình tính toán của mình. Với một chương trình lớn mà tính toán một lần sẽ tốn rất nhiều thời gian và không hiệu quả, để tiếc kiệm thời gian thực thi chương trình, hệ thống tiến hành chia chương trình lớn thành các tiến trình nhỏ để thực hiện tính toán trên các vi xử lý (hệ thống phần cứng song song tạo nên hệ thống điện toán đám mây) để tiến hành tính toán chương trình song song để cuối cùng gộp lại một kết quả. Tiếp theo, nó sẽ tạo nhiều bản sao của chương trình trên cụm máy tính trong đám mây điện toán. Nguyên tắc sao chép cũng được đưa vào ứng dụng trong hệ thống điện toán đám mây, trên mỗi cụm máy tính trong đám mây điện toán thực hiện một tiến trình mà chương trình giao phó, tiến trình này sẽ được tạo ra nhiều bản sao để cho các máy tính trong cụm máy tính thực hiện.
Một trong số các bản sao của chương trình sẽ là chương trình master. Các chương trình còn lại sẽ là worker, là chương trình sẽ thực thi các tác vụ do master giao phó. Có tất cả là M tác vụ Map và R tác vụ Reduce cần được thực thi. Chương trình master chọn các worker rãnh rỗi để gán cho tác vụ Map hoặc Reduce.
Worker được gán thực thi tác vụ Map đọc nội dung của mảnh giá trị đầu vào tương ứng, nó phân tích giá trị đầu vào thành các cặp khóa/giá trị và chuyển chúng đến cho hàm Map người dùng tự định nghĩa. Các cặp giá trị key/value trung gian (kết quả của hàm Map) sẽ được lưu vào bộ nhớ đệm.
Sau đó, các cặp giá trị trong vùng nhớ đệm này sẽ được ghi xuống vùng nhớ địa phương, và được phân thành R vùng. Vị trí của các cặp khóa/giá trị này (trên bộ nhớ địa phương) sẽ được chuyển về cho master. Chương trình master sau đó sẽ chuyển vị trí của chúng cho các worker được gán tác vụ Reduce.
Khi một worker thực thi tác vụ Reduce nhận được các vị trí của các vùng nhớ từ master, nó dùng các lời gọi thủ tục từ xa (RPC- Remote Procedure Call) để đọc các giá trị này. Sau khi worker đọc xong tất cả các cặp giá trị trung gian này, nó sẽ sắp xếp lại chúng theo khóa bằng cách gom nhóm các cặp có cùng khóa lại với nhau. Nếu số lượng các file trung gian này quá lớn so với bộ nhớ thì chúng ta sẽ phải cần có một hàm sắp xếp ngoài
Sau đó các worker thực thi tác vụ Reduce chuyển khóa và tập các dữ liệu tương ứng đến hàm Reduce do người dùng định nghĩa, kết quả output thu được là kết quả cuối cùng.
Sau khi tất cả các tác vụ Map và Reduce đều hoàn tất, chương trình master gọi đến chương trình user program, trả về đoạn code tiếp theo trong chương trình.
Chấp nhận lỗi
Thư viện MapReduce được thiết kế để giúp tính toán trên các lượng dữ liệu vô cùng lớn của hàng trăm hàng ngàn máy, do đó chúng cần phải có cơ chế chấp nhận lỗi.
Đây là sự áp dụng của nguyên tắc tự phục vụ vào hệ thống điện toán đám mây, đám mây điện toán có khả năng tự phục hồi lại hoạt động của hệ thống khi xảy ra một số lỗi nào đó trong các quá trình thực thi của từng phần nhỏ trong hệ thống tính toán.
Lỗi xảy ra ở Worker
Để kiểm tra lỗi ở worker,chương trình master tiến hành ping các máy worker sau mỗi một khoảng thời gian nhất định, nếu một worker nào không trả lời thì Master sẽ xem như nó đang xảy ra lỗi, các tác vụ map hay reduce đang thực thi ở worker lỗi sẽ tiến hành reset lại và gán cho worker khác. Ở đây có áp dụng nguyên tắc linh động để khắc phục lỗi hệ thống, chương trình được chia nhỏ thành các tiểu trình nên các tiểu trình giống nhau có thể linh động thực thi tại các phần cứng vi xử lý khác nhau và khi một tiểu trình bị lỗi thì tiểu trình khác có thể thay thế để thực hiện nhiệm vụ của hệ thống giao phó.
Đối với tác vụ map đã hoàn tất ở worker lỗi cũng phải tiến hành reset lại do kết quả trung gian được lưu trữ ở vùng nhớ địa phương và chúng ta không thể truy cập đến chúng. Đối với tác vụ reduce thì ngược lại, ta không cần phải reset chúng vì kết quả cuối cùng của tác vụ này được lưu trong vùng nhớ toàn cục, ta có thể truy xuất chúng một cách dễ dàng.
Lỗi xảy ra ở Master
Nhằm có thể khôi phục master trong trường hợp xảy ra lỗi, master sẽ tiến hành ghi checkpoint sau khoảng thời gian cố định. Khi lỗi xảy ra thì một bản sao mới có thể bắt đầu từ đoạn checkpoint đã lưu. Nhưng nếu chúng ta chỉ có 1 master thì khi master bị lỗi toàn bộ quá trình tính toán MapReduce sẽ bị hủy, client khi đó phải kiểm tra trường hợp này và tự khởi động lại quá trình nếu muốn.
Tác vụ backup.
Đây là một áp dụng của nguyên tắc dự phòng vào việc giải quyết bài toán trong đám mây điện toán, nó giúp cho hoạt động tính toán không bị mất khi sử ra sự cố. Một trong các nguyên nhân thường xảy ra làm tăng thời gian hoàn tất tác vụ MapReduce là các “straggler”. ”Straggler” là các máy có khoảng thời gian hoàn tất một trong số các tác vụ cuối của Map hoặc Reduce dài một cách bất thường. ”Straggler” có thể là bất cứ máy nào trong số các máy trong hệ thống đám mây đang được sử dụng. Có rất nhiều nguyên nhân tạo nên “straggler”, ví dụ như một máy tính trong hệ thống có ổ đĩa cứng không tốt, khi hoạt động có thể gặp một số trục trặc làm giảm tốc độ truy xuất bình thường của ổ cứng từ 30Mb/s xuống thành 1Mb/s chẳng hạn. Hệ thống lặp lịch cho các cụm máy tính lúc này phải gán tác vụ khác cho máy là nguyên nhân làm chậm tốc độ thực thi MapReduce (dựa trên sự so sánh tốc độ CPU, truy xuất bộ nhớ, hệ thống lưu trữ của máy địa phương, băng thông của mạng). Một vấn đề mới nhất mà Google gặp phải là một lỗi trong đoạn code khởi tạo tác vụ MapReduce, nó làm cho các cache của CPU không thể hoạt động, quá trình tính toán của máy tính bị lỗi do đó mà giảm xuống khoảng 100 lần.
Google đã tạo ra một phương pháp nhằm giảm bớt tác hại do các “straggler” gây ra. Khi các tác vụ MapReduce gần hoàn tất, master sẽ tạo ra các tác vụ back up cho các tác vụ đang thực thi và gán cho các workers rãnh rỗi thực hiện. Quá trình MapReduce sẽ kết thúc khi tác vụ nguyên thủy hoặc tác vụ back up hoàn tất. Đối với các tác vụ MapReduce nhỏ, phương pháp này chỉ giúp cải thiện hiệu năng một vài phần trăm, nhưng đối với các tác vụ MapReduce lớn thì chúng giúp cải thiện hiệu năng rất đáng kể.
Bên trên là biểu đồ so sánh tốc độ thực thi của chương trình sắp xếp viết theo MapReduce của Google. Chương trình thực hiện sắp xếp khoảng 1 tetrabyte dữ liệu. Biểu đồ đầu tiên là tốc độ đọc các giá trị input,biểu đồ bên dưới là tốc độ thực hiện sắp xếp và cuối cùng là tốc độ xuất ra kết quả.Biểu đồ (a) thể hiện tốc độ thực thi của tác vụ MapReduce hoạt động bình thường không có các straggler, biểu đồ (b) là khi thực hiện gặp phải các straggler trong hóa trình kết thúc tác vụ mà không dùng cơ chế backup,biểu đồ (c) là khi dùng cơ chế backup trong quá trình thực thi MapReduce. Chúng ta nhận thấy tốc độ thực thi bình thường vào khoảng 1057s, khi gặp phải các straggler mà không có cơ chế backup ta sẽ phải mất 1283s, và cuối cùng khi áp dụng cơ chế backup và phải bỏ đi 200 tác vụ do các straggler này gây ra chúng ta đạt được tốc độ là 933 giây chỉ hơn 5% so với tốc độ thực thi bình thường nhưng lại tăng 44% nếu so với tốc độ thực thi khi gặp phải các straggler.
2.4 Hadoop.
Hadoop – công nghệ khai thác mỏ vàng trên Internet
(JICT) - Mong muốn của các doanh nghiệp là tận dụng lượng dữ liệu khổng lồ để đưa ra quyết định kinh doanh, Hadoop giúp các công ty xử lý khối lượng cỡ terabyte và thậm chí là petabytes dữ liệu phức tạp tương đối hiệu quả với chi phí thấp hơn.
Các doanh nghiệp đang nỗ lực tìm kiếm thông tin quý giá từ khối lượng lớn dữ liệu phi cấu trúc được tạo ra bởi các web log, công cụ clickstream, các sản phẩm truyền thông xã hội. Chính yếu tố đó dẫn làm tăng sự quan tâm đến công nghệ mã nguồn mở Hadoop.
Hadoop, một dự án phần mềm quản lý dữ liệu Apache với nhân trong khung phần mềm MapReduce của Google, được thiết kế để hỗ trợ các ứng dụng sử dụng được số lượng lớn dữ liệu cấu trúc và phi cấu trúc.
Không giống như các hệ quản trị cơ sở dữ liệu truyền thống, Hadoop được thiết kế để làm việc với nhiều loại dữ liệu và dữ liệu nguồn. Công nghệ HDFS của Hadoop cho phép khối lượng lớn công việc được chia thành các khối dữ liệu nhỏ hơn được nhân rộng và phân phối trên các phần cứng của một cluster để xử lý nhanh hơn. Công nghệ này đã được sử dụng rộng rãi bởi một số trang web lớn nhất thế giới, chẳng hạn như Facebook, eBay, Amazon, Baidu, và Yahoo. Các nhà quan sát nhấn mạnh rằng Yahoo là một trong những nhà đóng góp lớn nhất đối với Hadoop.
Công nghệ Hadoop ngày càng được sử dụng nhiều hơn trong các ngân hàng, công ty quảng cáo, các viện nghiên cứu, các công ty dược phẩm và các công ty CNTT khác.
"Với Hadoop bạn có thể chỉ cần một và hai người là có thể xử lý cùng một khối lượng dữ liệu mà một số công ty lớn nhất thế giới đang xử lý.”
Tynt, người sử dụng Hadoop, một công ty phân tích web, cung cấp dịch vụ phân tích cho hơn 500.000 trang web. Sản phẩm chính của nó là một dịch vụ cho phép các nhà cung cấp dịch vụ có được cái nhìn sâu sắc về việc các dịch vụ của họ được chia sẻ như thế nào. Một ngày trung bình Tynt thu thập và phân tích gần 1 terabyte dữ liệu từ hàng trăm triệu của các tương tác web trên các trang web mà họ quan sát. Công ty chuyển sang Hadoop khoảng 18 tháng trước, khi cơ sở hạ tầng dữ liệu MySQL bắt đầu sụp đổ theo dữ liệu mà Tynt thu thập được.
Cấu trúc tập tin của Hadoop cho phép các công ty về cơ bản nắm bắt và củng cố tốt bất kỳ loại tập tin dữ liệu có cấu trúc và phức tạp nào, chẳng hạn như các nhật ký trên trang web, siêu dữ liệu, tập tin âm thanh và video, dịch vụ e-mail phi cấu trúc, dữ liệu dòng Twitter và dịch vụ truyền thông xã hội.
Do đó, công nghệ này là lý tưởng cho các công ty muốn phân tích khối lượng lớn dữ liệu có cấu trúc và phi cấu trúc.
Lấy dữ liệu thô từ các HDFS, tuy nhiên, chế biến nó không phải là dễ dàng hay thuận tiện như các hệ thống cơ sở dữ liệu điển hình, bởi vì dữ liệu không được tổ chức hoặc cấu trúc, Befus nói. "Về cơ bản những gì Hadoop làm là đưa các dữ liệu bên ngoài vào trong các tập tin lớn. Nó không quan tâm trong các tập tin có gì. Nó chỉ quản lý chúng và đảm bảo rằng trong đó có nhiều bản sao của các tập tin."
Ban đầu, người dùng phải viết công việc trong một ngôn ngữ lập trình như Java để phân tích và sau đó truy vấn dữ liệu thô trong Hadoop. Nhưng các công cụ hiện có thể được sử dụng để viết các truy vấn SQL như dữ liệu được lưu trữ trong Hadoop.
Hadoop được sử dụng nhiều hơn cho các ứng dụng kinh doanh thông minh thời gian thực.
III. ĐIỆN TOÁN ĐÁM MÂY – XU HƯỚNG CÔNG NGHỆ MỚI TẠI VIỆT NAM
Dù được thế giới dự đoán sẽ là "cơn sóng thần công nghệ " song khái niệm “điện toán đám mây vẫn còn khá mới mẻ tại Việt Nam.”
IBM là doanh nghiệp tiên phong khai trương trung tâm điện toán đám mây tại Việt Nam vào tháng 9/2008 với khách hàng đầu tiên là là Công ty cổ phần công nghệ và truyền thông Việt Nam (VNTT). Sau đó, Microsoft là một trong những “đại gia” tiếp bước điện toán đám mây ở thị trường Việt Nam, nhưng hiện vẫn đang trong giai đoạn phát triển thử nghiệm.
Theo Ông Võ Tấn Long, Tổng Giám đốc công ty IBM Việt Nam: “Điện toán đám mây không còn là xu hướng mà là thực tế đang diễn ra. Có thể nói Việt Nam là một trong những nước đầu tiên ở ASEAN đưa vào sử dụng điện toán đám mây. Từ năm 2008 đến nay, ngày càng có nhiều khách hàng tìm đến các dịch vụ điện toán đám mây của IBM”.
Tiếp đến, điện toán đám mây ở Việt Nam bắt đầu có những tín hiệu khả quan khi khi FPT - nhà công nghệ hàng đầu của Việt Nam đã khẳng định vị thế tiên phong của mình trong công nghệ bằng lễ ký kết với Microsoft châu Á-Trend Micro để hợp tác phát triển "đám mây" ở châu Á. Nhận định về hợp tác này, đại diện Trend Micro cho rằng, điện toán đám mây sẽ đem lại cơ hội cho Việt Nam bởi công nghệ hoàn toàn mới sẽ giúp giới trẻ Việt Nam vốn rất năng động sẽ có thêm điều kiện sáng tạo và phát huy tài năng của mình. Đồng thời, với tiềm năng về nhân lực, cơ sở hạ tầng và nhất là "tính sẵn sàng" của FPT hai bên sẽ không chỉ dừng lại ở cung cấp dịch vụ về điện toán đám mây ở Việt Nam mà sẽ vươn ra toàn cầu.
Sau cuộc ký kết đó một tuần, FPT tiếp tục hợp tác cùng "đại gia" Microsoft vào tháng 05/2010. Tâm điểm của hợp tác này là một thỏa thuận nhằm phát triển nền tảng điện toán đám mây dựa trên công nghệ của Microsoft. Hai bên đều cùng hướng đến việc phát triển nền tảng cho các dịch vụ đám mây bao gồm truyền thông, hợp tác, lưu trữ dữ liệu và các dịch vụ hạ tầng, nhằm phục vụ nhu cầu của đông đảo khách hàng.
Gần đây nhất, “Journey to the cloud” (Hành trình tới công nghệ điện toán đám mây) với châm ngôn “New ways to do new things” là chủ đề hội thảo do Microsoft tổ chức hôm 02/03/2001 vừa qua tại Hà Nội, đã thu hút sự tham dự của hơn 300 chuyên gia IT và các nhà lãnh đạo của các doanh nghiệp. Điều này chứng tỏ những vấn đề về điện toán đám mây hiện đang thu hút sự quan tâm của rất nhiều doanh nghiệp trong nước, những người đang kiếm tìm giải pháp nâng cao năng suất cho doanh nghiệp.
Tuy vậy, tiếp theo sau hội thảo ngày 02/03, “Vietnam Cloud computing Day 2011” (Ngày Điện toán đám mây Việt Nam 2011) diễn ra ngày 9/3 tại Hà Nội cũng đưa ra nhận định: mặc dù điện toán đám mây hiện đang được ứng dụng rộng rãi ở nhiều nước phát triển trên thế giới bởi lợi ích đáng kể mà nó đem lại, nhưng ở Việt Nam các doanh nghiệp vẫn chưa thực sự mặn mà với công nghệ này. Tuy nhiên theo các chuyên gia nhận định, đây chính là giải pháp tối ưu để các doanh nghiệp nước ta giảm thiểu chi phí cũng như tăng hiệu suất làm việc ở mức tối đa.
Về thực trạng ứng dụng điện toán đám mây ở các doanh nghiệp Việt Nam, có thể rút ra kết luận như sau: Hiện nay đã có một vài doanh nghiệp lớn tại Việt Nam đưa điện toán đám mây vào ứng dụng và hiệu suất kinh doanh được cải thiện đáng kể. Tuy nhiên số lượng là khá ít. Phần lớn vẫn chỉ dừng ở mức quan tâm và tìm hiểu.
Phát triển điện toán đám mây tại Việt Nam – còn nhiều thách thức
Không nằm ngoài xu thế chung của ngành công nghệ thông tin thế giới, Việt Nam đang dần
Các file đính kèm theo tài liệu này:
- TÌM HIỂU VỀ ĐIỆN TOÁN ĐÁM MÂY.doc