CHƯƠNG 2. MÔ HÌNH XỬ LÝ DỮ LIỆU MÃ HÓA VÀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY
2.3. Áp dụng mô hình bảo mật dữ liệu trong điện toán đám mây
2.3.1. Thách thức và yêu cầu
Các hệ quản trị cơ sở dữ liệu quan hệ (Relational database management system – DBMS) là một phần không thể thiếu trong hầu hết các môi trường điện toán ngày nay và tầm quan trọng của chúng khó có thể suy giảm. Với sự ra đời của điện toán và lưu trữ đám mây, cơ hội để cung cấp một DBMS như là một dịch vụ bên ngoài đang trên đà đạt đƣợc, bằng chứng là RDS của Amazon và
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
SQL Azure của Microsoft. Một DBaaS nhƣ vậy thu hút vì hai lý do: Đầu tiên, do sự mở rộng của nền kinh tế, chi phí phần cứng và năng lƣợng phát sinh bởi người dùng có thể sẽ thấp hơn rất nhiều khi họ trả tiền cho một dịch vụ chia sẻ so với việc tự mình tiến hành mọi thứ. Thứ hai, chi phí phát sinh trong một DBaaS đƣợc thiết kế tốt sẽ tỷ lệ thuận với việc sử dụng thực tế (“pay-per-use”), điều này áp dụng cho cả chi phí bản quyền và điều hành phần mềm. Lý do thứ hai thường có phí tổn đáng kể vì các yêu cầu chuyên môn hóa để trích xuất hiệu quả cao từ các DBaaS phục vụ người dùng. Bằng cách tập trung và tự động hóa nhiều tác vụ quản lý cơ sở dữ liệu, một DBaaS có thể làm giảm đáng kể chi phí hoạt động và thực hiện tốt hơn.
Từ quan điểm của nhà điều hành một DBaaS, bằng cách tận dụng sự thiếu tương quan giữa khối lượng công việc (workloads) của các ứng dụng khác nhau, dịch vụ có thể chạy sử dụng các máy ít hơn là khi từng khối lƣợng công việc đƣợc cung cấp một cách độc lập.
Dưới đây là những thách thức và yêu cầu của một DBaaS quy mô lớn, đa nút (multi-node), các nguyên tắc thiết kế và tình hình thực hiện của Relational Cloud, một DBaaS đang đƣợc xây dựng tại MIT (http://relationalcloud.com).
Relational Cloud phù hợp với một tổ chức đơn lẻ với nhiều cơ sở dữ liệu cá nhân đƣợc triển khai trên một đám mây riêng, hoặc nhƣ một dịch vụ đƣợc cung cấp thông qua cơ sở hạ tầng đám mây công cộng cho nhiều tổ chức. Trong cả hai trường hợp, người dùng cần phải có quyền truy cập tới tất cả những tính năng của một hệ quản trị cơ sở dữ liệu quan hệ, mà không lo lắng về nguồn tài nguyên phần cứng, cấu hình phần mềm, đạt đƣợc an ninh mong muốn, cung cấp kiểm soát truy cập, bảo mật dữ liệu và điều chỉnh hiệu năng. Tất cả những chức năng này đƣợc khoán ngoài (outsourced) cho DbaaS.
Có ba thách thức trong việc thiết kế Relational Cloud: Đa kênh thuê hiệu quả để tối giản yêu cầu về phần cứng cho một công việc (workload) đã cho, mở
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
rộng đàn hồi để xử lý những khối lƣợng công việc ngày càng tăng và sự riêng tƣ của cơ sở dữ liệu.
Efficient multi tenancy – đa kênh thuê hiệu quả: Với một tập hợp các khối lƣợng công việc và cơ sở dữ liệu đã cho, cách tốt nhất để phục vụ chúng từ một tập các máy đã cho là gì? Mục đích là tối giản số lƣợng máy cần thiết, trong khi vẫn đạt đƣợc mục tiêu hiệu suất truy vấn mức ứng dụng. Để đạt đƣợc điều này, hệ thống của chúng ta phải hiểu các yêu cầu nguồn tài nguyên của từng khối lƣợng công việc, cách chúng kết hợp khi cùng đƣợc bố trí trên một máy và cách tận dụng lợi thế của các biến đổi thời gian của từng workload để tối đa hóa việc sử dụng phần cứng.
Một cách tiếp cận tới vấn đề này sẽ là sử dụng các máy ảo (VMs), một thiết kế điển hình sẽ đóng gói từng DB có nhân vào một VM và nhiều VM trên một máy vật lý. Tuy nhiên, các thử nghiệm cho thấy rằng một cách tiếp cận “DB-in- VM” cần 2x tới 3x máy nữa để củng cố cùng một số lƣợng workload và đối với một mức độ cố định của sự củng cố (consolidation) phân phối 6x tới 12x hiệu suất ít hơn các tiếp cận chúng tôi tán thành.
Lý do là mỗi VM chƣa một bản sao riêng của hệ điều hành, cơ sở dữ liệu và từng cơ sở dữ liệu có vùng đệm của riêng mình, buộc log của riêng nó vào đĩa,... Thay vào đó, cách tiếp cận sử dụng một máy chủ cơ sở dữ liệu duy nhất trên mỗi máy, nơi lưu trữ nhiều cơ sở dữ liệu logic. Relational Cloud xác định định kỳ các cơ sở dữ liệu nào nên đƣợc thay thế trên các máy nào sử dụng một công thức tối ƣu hóa phi tuyến tính mới, đƣợc kết hợp với một mô hình chi phí mà ƣớc tính việc sử dụng nguồn tài nguyên kết hợp của nhiều cơ sở dữ liệu đang chạy trên một máy. Việc thiết kế Relational Cloud cũng bao gồm một cơ chế để thực hiện chuyển đổi trực tiếp của các cơ sở dữ liệu giữa các máy.
Elastic scalability – khả năng mở rộng đàn hồi: Một DBaaS tốt phải hỗ trợ các cơ sở dữ liệu và workload với các kích cỡ khác nhau. Thách thức nảy sinh khi khối lƣợng công việc cơ sở dữ liệu vƣợt quá khả năng của một máy
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
tính. Một DBaaS do đó phải hỗ trợ mở rộng quy mô (scale-out), nơi chịu trách nhiệm cho việc xử lý truy vấn (và các dữ liệu tương ứng) được phân vùng (partitioned) giữa nhiều nút để đạt đƣợc thông lƣợng (throughput) cao hơn.
Nhƣng cách nào là tốt nhất để phân vùng các cơ sở dữ liệu cho mở rộng quy mô? Câu trả lời phụ thuộc vào cách thức mà các giao dịch (transactions) và các mục dữ liệu liên quan đến nhau. Trong Relational Cloud, một thành phần phân vùng khối lƣợng công việc (workload-aware partitioner) phát triển gần đây đƣợc sử dụng, trong đó sử dụng phân vùng biểu đồ để tự động phân tích các workload truy vấn phức tạp và ánh xạ các mục dữ liệu tới các nút để giảm thiểu số lƣợng của các transactions/statements đa nút. Các statement và transaction trên nhiều nút phải chịu chi phí đáng kể và là yếu tố hạn chế chính tới khả năng mở rộng tuyến tính trong thực tế. Cách tiếp cận ở đây tạo ra vài giả định trên dữ liệu hoặc các truy vấn và làm việc tốt kể cả với các workload bị sai lệch hoặc khi dữ liệu thể hiện các mối quan hệ nhiều-tới-nhiều phức tạp.
Privacy – sự riêng tƣ: Một rào cản đáng kể để triển khai các cơ sở dữ liệu trên đám mây là thiếu nhận thức về bảo mật, do đó làm giảm mức độ sẵn sàng tin tưởng của người dùng đặt vào trong hệ thống. Nếu khách hàng đã mã hóa tất cả dữ liệu được lưu trữ trong DBaaS, thì các mối quan tâm về riêng tư sẽ chủ yếu đƣợc loại bỏ. Câu hỏi đặt ra sau đó là, làm cách nào để DBaaS thực thi các truy vấn trên dữ liệu mã hóa? Trong Relational Cloud, đƣợc tích hợp CryptDB, một tập các kỹ thuật được thiết kế để cung cấp sự riêng tư (ví dụ, để ngăn người quản trị xem dữ liệu của người dùng). Những người quản trị cơ sở dữ liệu có thể tiếp tục quản lý và điều chỉnh các cơ sở dữ liệu và người dùng được đảm bảo dữ liệu riêng tƣ. Khái niệm quan trọng là an ninh có thể điều chỉnh được: CryptDB sử dụng các mức mã hóa khác nhau cho các loại dữ liệu khác nhau, dựa trên loại của truy vấn mà người dùng chạy. Các truy vấn được tính toán trên dữ liệu mã hóa và gửi lại cho client để giải mã cuối cùng, không xử lý truy vấn nào chạy trên client.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
Một chủ đề thống nhất trong cách tiếp cận này tới ba thách thức lớn là workload-awareness. Nguyên tắc thiết kế chính là giám sát các mô hình truy vấn, truy cập dữ liệu thực tế và dùng các cơ chế mà sử dụng những quan sát này để thực hiện nhiều chức năng tối ƣu và bảo mật khác nhau.