CHƯƠNG 1. TỔNG QUAN VỀ KHO LƯU TRỮ DỮ LIỆU 1. Sự cần thiết của kho lưu trữ dữ liệu Cùng với sự phát triển không ngừng và nhanh chóng của khoa học công nghệ, đặc biệt là công nghệ thông tin, tri thức của con người ngày càng được nâng cao, vai trò và ý nghĩa của lưu trữ tài liệu ngày càng được coi trọng và khẳng định. Với Internet không chỉ diễn ra sự giao tiếp, phổ cập thông tin mà còn hình thành nên một thị trường thông tin hàng hóa rộng lớn, nhiều tiềm năng.
Bên cạnh đó, do yêu cầu của quá trình hội nhập đang diễn ra mạnh mẽ, việc công khai minh bạch các văn bản, chính sách của nhà nước đến mọi đối tượng trở thành vấn đề bắt buộc. Đặc biệt việc nâng chất lượng thông tin phục vụ nhu cầu nghiên cứu, quyết định đầu tư, sản xuất, kinh tế, văn hóa, xã hội, lịch sử, truyền thống … đang rất được chú trọng. Một trong những nguồn thông tin đặc biệt là thông tin từ tài liệu lưu trữ. Mặt khác dưới góc độ quản lý nhà nước, việc bào quàn và sử dụng có hiệu quả tài liệu lưu trữ có ý nghĩa cực kỳ quan trọng đối với kinh tế, xã hội, lịch sừ của mồi quốc gia và địa phương.
Với các doanh nghiệp hoạt động kinh doanh, các dữ liệu của doanh nghiệp phát sinh ngày càng nhiều, ngoài những thông tin sản phẩm, dịch vụ thì các thông tin liên quan đến sự tương tác với khách hàng như việc tham gia trò chuyện, yêu cầu tư vấn và thực hiện các so sánh về giá cả, chất lượng… Người ta muốn tận dụng nguồn dữ liệu này để sử dụng cho những mục đích hỗ trợ cho công việc kinh doanh ví dụ như cho mục đích thống kê hay phân tích. Vì vậy, song song với chương trình cung cấp thông tin qua Internet và hệ thống thông tin viễn thông khác thì việc ứng dụng các công nghệ, kỹ thuật hiện đại vào bảo quản lâu dài các tài liệu điện tử có giá trị (dần thay cho phương pháp bảo quản truyền thống) trở thành nhiệm vụ cấp bách của công tác lưu trữ. Kho lưu trữ Theo định nghĩa của wiki: Kho dữ liệu (tiếng Anh: data warehouse) 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áo cáo.
15 TIEU LUAN MOI download : skknchat@gmail.com Định nghĩa cổ điển này về kho dữ liệu tập trung vào việc lưu trữ dữ liệu. Tuy nhiên, các phương tiện cho việc lấy và phân tích, trích rút, biến đổi, nạp dữ liệu, và quản lý dữ liệu từ điển cũng được coi là các thành phần cốt yếu của một hệ thống kho dữ liệu. Khái niệm Kho dữ liệu là một tập các dữ liệu có những đặc điểm sau: tập trung vào một chủ đề, tổng hợp từ nhiều nguồn dữ liệu khác nhau, từ nhiều thời gian, và không sửa đổi. Được dùng trong việc hỗ trợ ra quyết định trong công tác quản lý.
Cấu trúc của một hệ thống kho dữ liệu Hình CI.2 - 1 Cấu trúc của hệ thống kho lưu trữ Bao gồm ba tầng: Tầng đáy: Là nơi cung cấp dịch vụ lấy dữ liệu từ nhiều nguồn khác sau đó chuẩn hóa, làm sạch và lưu trữ dữ liệu đã tập tung Tầng giữa: cung cấp các dịch vụ để thực hiện các thao tác với kho dữ liệu gọi là dịch vụ OLAP (OLAP server). Có thể cài đặt bằng Relational OLAP, Multidimensional OLAP hay kết hợp cả hai mô hình trên Hybrid OLAP Tầng trên cùng: nơi chứa các câu truy vấn, báo cáo, phân tích. 16 TIEU LUAN MOI download : skknchat@gmail. Lưu trữ đám mây Những năm gần đây, lưu trữ đám mây đã trở thành một trong các dịch vụ “đám mây” phổ biến nhất.
Với công nghệ lưu trữ đám mây người dùng không phải phụ thuộc vào các thiết bị lưu trữ vật lý như ổ cứng, USB, DVD, CD… và có thể truy cập, tải lên, tải về, đồng bộ hoá dữ liệu ở bất kỳ nơi đâu và trên nhiều loại thiết bị khác nhau như desktop, laptop, các thiết bị di động … Với việc nghiên cứu công nghệ lưu trữ đám mây, luận văn này tập trung tìm hiểu và xây dựng thử nghiệm một ứng dụng lưu dữ liệu trên HDFS vận hành trên môi trường Linux – CentOS và nền tảng JAVA để xây dựng một kho lưu trữ dữ liệu theo mô hình đám mây lưu trữ. Công nghệ lưu trữ đám mây Hệ thống lưu trữ đám mây có dạng kết nối mạng theo mô hình kết nối mạng tới trung tâm dữ liệu, với các tiêu chuẩn và giao thức kết nối yêu cầu về bảo mật, để người dùng có thể khai thác được dịch vụ này. Người dùng gửi dữ liệu tới trung tâm dữ liệu thông qua các kết nối mạng, trung tâm dữ liệu sẽ lưu dữ liệu và ghi lại những thông tin cần thiết khác. Khi người dùng muốn lấy thông tin, họ phải truy cập vào trung tâm dữ liệu thông qua các giao diện người dùng (giao diện phần mềm, giao diện web…).
Sau khi được chứng thực người dùng, trung tâm dữ liệu sẽ thực hiện xác định người dùng được phép truy cập vào khu vực đám mây lưu trữ nào với những quyền gì. Để đáp ứng cho một đám mấy lưu trữ cần các thành phần phần cứng, phần mềm đáp ứng được nhu cầu tính toán của một mô hình đám mây lưu trữ. Một hệ thống đám mây lưu trữ được xây dựng từ một hay nhiều máy chủ dữ liệu, số lượng máy chủ phụ thuộc vào mô hình đám mây được sử dụng. Một hệ thống máy tính thường yêu cầu cần được bảo trì và sửa chữa, vì thế phải có cơ chế lưu trữ cùng một dữ liệu trên nhiều máy tính khác nhau.
Các loại hình đám mây lưu trữ Một số mô hình đám mây lưu trữ thông dụng hiện nay: 17 TIEU LUAN MOI download : skknchat@gmail.com Đám mây lưu trữ tài liệu: lưu trữ tài liệu dùng để đọc và thao tác trên các tài liệu này, ví dụ: Google Docs. Đám mây lưu trữ hình ảnh: lưu trữ hình ảnh dùng để xem và thao tác trên đó, ví dụ: Flickr, Picasa. Đám mây lưu trữ e-mail: Là loại lưu trữ dữ liệu thư. Đám mây lưu trữ phim: Là loại cho phép người dùng tải các đoạn phim của mình và chia sẻ với người khác, ví dụ: Youtube 1.
Mô hình kiến trúc Kiến trúc của đám mây bao gồm: - Nền tảng đám mây (Cloud Platform) - Các dịch vụ đám mây (Cloud Service) - Cơ sở hạ tầng đám mây (Cloud Infrastructure) - Lưu trữ đám mây (Cloud Storage). Điện toán đám mây có thể coi như một tập hợp dịch vụ, tập hợp này có thể được trình bày như một kiến trúc phân tầng theo.3 – 1 Mô hình kiến trúc lưu trữ đám mây - SaaS (Software as a Service – phần mềm như là dịch vụ): là tầng đỉnh của kiến trúc. SaaS cho phép người dùng chạy các ứng dụng từ xa của đám mây. 18 TIEU LUAN MOI download : skknchat@gmail.com - IaaS (Infrastructure as a Service – hạ tầng cơ sở như là dịchvụ): là tài nguyên điện toán được cung cấp như là một dịch vụ.
Đó là các máy tính được ảo hóa với năng lực xử lý được đảm bảo và băng thông dự trữ đủ để lưu trữ và truy nhập Internet. - PaaS (Platform as a Service – nền tảng như là dịch vụ) tương tự IaaS, ngoài ra còn có các hệ điều hành và dịch vụ cần thiết cho một ứng dụng cụ thể. Nói cách khác, PaaS là IaaS cộng thêm một số phần mềm riêng dành cho một ứng dụng cho trước. - dSaaS (data Storage as a Service – lưu trữ dữ liệu như là dịch vụ) cung cấp không gian lưu trữ mà khách hàng có thể sử dụng, bao gồm cả băng thông lưu trữ.
SaaS Các ứng dụng nghiệp vụ được tổ chức bởi các nhà cung cấp và chuyển giao như một dịch vụ. SaaS có nguồn gốc từ nhà cung cấp dịch vụ (ASP – Application Service Providers). Ban đầu, phần mềm như một dịch vụ (SaaS) không chỉ đơn giản thực hiện trên Internet, vì lợi ích an ninh và độ tin cậy, các dịch vụ này sẻ sử dụng mạng riêng ảo (VPN – Virtual Private Networks). Một VPN có thể tạo một mạng công cộng từ mạng cục bộ (bằng cách sử dụng một số hình thức mã hóa) thay vì phải mua kết nối chuyên dụng, việc này cho phép truyền dữ liệu an toàn qua mạng công cộng như Internet.
Ví dụ về phần mềm dịch vụ như: Yahoo Mai, Facebook, Skype, GoogleApps… Một số công ty sử dụng trang xã hội Facebook như là một mạng nội bộ miễn phí cho nhân viên của mình. Skype được sử dụng bởi các doanh nghiệp nhỏ trên toàn thế giới, GoogleApps có tới hơn một triệu doanh nghiệp sử dụng. IaaS Cơ sở hạ tầng như một dịch vụ (IaaS) là việc phân phối phần cứng máy tính (máy chủ, công nghệ mạng, lưu trữ và không gian dữ liệu) như một dịch vụ, nó cũng có thể bao gồm việc cung cấp các hệ thống điều hành và các công nghệ ảo hóa quản lý tài nguyên. Với IaaS, khách hàng thuê tài nguyên thay vì việc mua và cài đặt dữ liệu vào trung tâm dữ liệu của họ.
Dịch vụ thường được trả tiền theo lượng tài nguyên sử dụng. Dịch vụ có thể mở rộng nếu khách hàng có nhu cầu sử dụng nhiều tài nguyên hơn so với ban đầu, họ có thể nhận được ngay lập tức khi có yêu cầu. Khả năng mở rộng linh hoạt của cơ sở 19 TIEU LUAN MOI download : skknchat@gmail.com hạ tầng cho phép nó mở rộng hoặc thu hẹp tùy theo yêu cầu của ứng dụng. Ngoài ra, tham số cung cấp liên quan đến cấp độ dịch vụ được thỏa thuận.
PaaS Trong nền tảng như một dịch vụ (PaaS – Platform as a Service), nhà cung cấp sẽ cung cấp nhiều hơn cơ sở hạ tầng, nó có thể coi như một ngăn xếp các giải pháp – một tập hợp các tài nguyên yêu cầu để nhà phát triển có thể xây dựng ứng dụng gồm cả phần mềm và thời gian chạy. PaaS có thể coi là phát triển của dịch vụ Web hosting. Trong các năm gần đây các công ty dịch vụ Web hosting cũng cung cấp các gói phần mềm khá hoàn chỉnh để xây dựng các trang Web. PaaS có ý tưởng xa hơn, đó là cung cấp một nền tảng bao gồm toàn bộ các tiến trình trong vòng đời phát triển của phần mềm: phân tích, thiết kế, xây dựng, kiểm thử, triển khai và bảo trì.