Nghiên cứu mô hình tổ chức dữ liệu trên đám mây

Một phần của tài liệu nghiên cứu kiến trúc hệ thống tích hợp điện toán đám mây và lbs (Trang 52 - 58)

Đ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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

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í.

Các dịch vụ dựa trên đám mây trong những năm gần đây chủ yếu sử dụng cơ sở dữ liệu phân tán xuất phát từ nhu cầu thực tế, hiệu quả công việc, độ tin cậy và tính sẵn sàng…

Các loại kiến trúc cơ sở dữ liệu (CSDL) phân tán

Kiến trúc cổ điển

Hình 2. 7: 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ữ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

(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 hoặc gỡ ra phụ thuộc vào việc tăng băng thông của hệ thống lƣu trữ để tăng 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.

Kiến trúc phân đoạn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2.8 đã chỉ ra cách làm 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 [4]. 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 vẽ đã 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 vẽ 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. Tuy 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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2. 9: Kiến trúc sao lặp

Hình 2.9 đã 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 trên 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 [5]. 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 trên 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 satellite) server sang máy mới. Với những công việc mà cập nhật nhiều, Master Server có thể sẽ trở thành một nút cổ chai.

Kiến trúc sao lặp có thể đƣợc sử dụng để tăng khả năng mở rộng và độ an toàn cho hệ thống.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2. 10: Kiến trúc phân tán

Hình 2.10 đƣa ra một kiến trúc mà mô hình hệ thống CSDL tƣơng tự nhƣ một hệ thống phân tán. Thoáng nhìn sẽ thấy kiến trúc này gần giống với kiến trúc phân đoạn và kiến trúc sao lặp. Sự khác biệt là khó thấy nhƣng nó có một sự khác nhau rất lớn về sự thi hành, hiệu suất và chi phí cho hệ thống.

Trong kiểu kiến trúc này, hệ thống lƣu trữ đƣợc tách ra khỏi DB Server và DB Server truy cập đến dữ liệu chia sẻ một cách đồng thời và độc lập từ hệ thống lƣu trữ. Để có thể truy cập đọc và ghi đồng bộ trên dữ liệu chia sẻ, một giao thức phân tán mà đảm bảo độ nhất quán ở rất nhiều mức độ đã đƣợc áp dụng. Để giảm chi phí, tầng DB Server đã đƣợc trộn với tầng Web/App Server, do vậy, truy cập CSDL nhƣ truy cập đến một phần thƣ viện của Application server hơn là cung cấp các xử lý đến riêng DB server.

Kiểu kiến trúc này có thể đƣợc xem nhƣ là sự lựa chọn tốt nhất cho điện toán đám mây. Nó cung cấp đầy đủ tính mở rộng và khả năng co giãn ở tất cả các tầng. Mỗi truy vấn HTTP sẽ đƣợc chuyển cho bất kỳ server nào (Web/App/DB) nên khả năng mở rộng có thể thực hiện đầy đủ tại tầng này. Hơn nữa, dữ liệu sẽ đƣợc phân đoạn và sao lặp tại tầng lƣu trữ nên khả năng mở rộng cũng có thể thực hiện đƣợc tại tầng này. Một đặc điểm khác của tầng này là việc có thể sử dụng phần cứng giá rẻ ở tất cả các tầng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2. 11: Kiến trúc caching

Hình 2.11 biểu diễn cách mà caching đƣợc tích hợp với tầng DB Server. Caching có thể kết hợp với các loại kiến trúc khác (phân đoạn, sao lặp, phân tán). Một lần nữa, nguyên lý làm việc của kiến trúc là rất đơn giản: Kết quả của các truy vấn CSDL đƣợc lƣu trữ tại các cache server chuyên dụng. Những máy chủ sẽ lƣu các kết quả truy vấn này trong bộ nhớ chính của nó nên việc truy cập là nhanh nhất có thể. Tập các cache server nhƣ vậy đƣợc gọi là MemCache[6].

Liên quan đến sự sao lặp, có rất nhiều các lƣợc đồ khác nhau để giữ cho dữ liệu trong bộ nhớ cache đƣợc nhất quán với các cập nhật trên CSDL. Hình vẽ trên đã miêu tả một cách tiếp cận mà trình ứng dụng điều khiển tính nhất quán của bộ nhớ cache. Cách tiếp cận này đã đƣợc thực hiện bởi Google AppEngine.

Caching cũng giúp cho điện toán đám mây thực hiện đƣợc 2 mục tiêu là giá cả và khả năng mở rộng. Các máy tính rẻ tiền có thể đƣợc sử dụng và việc thêm vào hoặc bớt đi các máy tính trong MemCache có thể đƣợc thực hiện bất cứ lúc nào.

Một phần của tài liệu nghiên cứu kiến trúc hệ thống tích hợp điện toán đám mây và lbs (Trang 52 - 58)

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

(80 trang)