1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng data platform dựa trên kiến trúc mã nguồn mở

60 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Data Platform Dựa Trên Kiến Trúc Mã Nguồn Mở
Tác giả Huỳnh Thị Hương Ly, Trần Gia Nguyên
Người hướng dẫn TS. Huỳnh Xuân Phụng
Trường học Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Dữ Liệu
Thể loại Khóa Luận Tốt Nghiệp Kỹ Sư
Năm xuất bản 2022
Thành phố Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 5,2 MB

Cấu trúc

  • PHẦN 1: MỞ ĐẦU (14)
    • 1. Tính cấp thiết của đề tài (15)
    • 2. Mục tiêu của đề tài (16)
    • 3. Cách tiếp cận và phương pháp nghiên cứu (16)
    • 4. Bố cục của báo cáo (16)
  • PHẦN 2: NỘI DUNG (18)
    • 1. Chương 1: KHO DỮ LIỆU (19)
      • 1.1. TỔNG QUAN KHO DỮ LIỆU (19)
      • 1.2. LĨNH VỰC ỨNG DỤNG KHO DỮ LIỆU (24)
      • 1.3. NỀN TẢNG XÂY DỰNG KHO DỮ LIỆU (25)
    • 2. Chương 2: MÔ HÌNH DATA PLATFORM CHO KHO DỮ LIỆU (30)
      • 2.1. TỔNG QUAN NỀN TẢNG DỮ LIỆU – DATA PLATFORM (30)
      • 2.2. KHẢO SÁT CÁC NỀN TẢNG DỮ LIỆU HIỆN NAY (30)
      • 2.3. CÁC BƯỚC XÂY DỰNG MÔ HÌNH NỀN TẢNG DỮ LIỆU (34)
    • 3. Chương 3: PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT (39)
      • 3.1. GIỚI THIỆU (39)
      • 3.2. THIẾT KẾ (42)
      • 3.3. ĐẶC TẢ CHỨC NĂNG (45)
      • 3.4. CÀI ĐẶT TRÊN MÔI TRƯỜNG PHÁT TRIỂN (51)
      • 3.5. KIỂM THỬ (53)
  • PHẦN 3: KẾT LUẬN (56)
    • 1. KẾT QUẢ ĐẠT ĐƯỢC (57)
    • 2. HẠN CHẾ (57)
    • 3. HƯỚNG PHÁT TRIỂN (57)
  • TÀI LIỆU THAM KHẢO (58)

Nội dung

Kết quả là nhiều công ty trong thế giới kinh doanh đã lưu trữ, tổ chức và cập nhật các bảng kiểm kê hàng hoá, lịch sử bán hàng, thông tin khách hàng,… trong một tập hợp các cơ sở dữ liệu

NỘI DUNG

Chương 1: KHO DỮ LIỆU

1.1.1 Các khái niệm cơ bản về kho dữ liệu

Data warehouse được biết đến là công nghệ được ra đời vào nửa đầu những năm 90 bởi 2 nhà nghiên cứu của IBM là Barry Devlin và Paul Murphy để giải quyết những vấn đề dữ liệu đã được đón nhận và được áp dụng vào thực tiễn Hiện nay khái niệm kho dữ liệu đã không còn quá xa lạ với mọi người, nó mô tả tập hợp các công nghệ, phương pháp, kỹ thuật có thể kết hợp với nhau thực hiện các chức năng tích hợp, lưu trữ, xử lý và phân tích dữ liệu để cung cấp thông tin cho người sử dụng Với sự phát triển kinh tế xã hội, công nghệ 4.0 ngày càng thịnh vượng, môi trường ngày càng trở nên sôi động, mức độ cạnh tranh cao và vì thế mà một kho dữ liệu thường có dung lượng lên đến hàng trăm GB thậm chí tính bằng đơn vị TB Và cũng nhờ có sự phát triển của công nghệ mà có thể giúp các nhà kinh doanh đưa ra những định hướng, tổng hợp các khía cạnh, những mặt chiến lược trên dữ liệu khổng lồ từ đó đưa tra cái nhìn về những xu thế đã và đang tồn tại ở mọi mặt hoạt động kinh doanh sau cùng là có những quyết định, xử lý đúng đắn, chuẩn xác

Về cơ bản có thể hiểu kho dữ liệu là nơi tập hợp các dữ liệu, thông tin có chung một chủ đề, được tổng hợp từ nhiều nguồn khác nhau trong nhiều mốc thời gian và không chỉnh sửa Data warehouse là một sự pha trộn có cấu trúc của nhiều công nghệ bao gồm các cơ sở dữ liệu đa chiều và mối quan hệ giữa chúng Được dùng cho việc hỗ trợ ra quyết định, phân tích dữ liệu và lập báo cáo trong công tác quản lý Và theo W.H.Inmon, một nhà kiến trúc hàng đầu trong việc xây dựng ngân hàng dữ liệu, thì kho dữ liệu được định nghĩa như một “tập hợp dữ liệu hướng đối tượng, tích hợp, có tính ổn định, thay đổi theo thời gian hỗ trợ cho xử lý, thực hiện quyết định quản trị”.’

Hai hình thức lưu trữ dữ liệu phổ biến nhất trong quản lý dữ liệu doanh nghiệp là kho dữ liệu và cơ sở dữ liệu Vậy sự khác biệt giữa cơ sở dữ liệu và kho dữ liệu là gì và cái nào là tốt nhất cho tình huống của bạn? Nhóm sẽ phân tích sự khác biệt giữa cơ sở dữ liệu và kho dữ liệu để có thể tìm ra cái nào tốt nhất cho tình huống cấu trúc dữ liệu của mình

Bảng 1: So sánh sự khác biệt giữa Cơ sở dữ liệu và Kho dữ liệu

Yếu tố Cơ sở dữ liệu Kho dữ liệu Định nghĩa Là tập hợp những dữ liệu có liên quan đến nhau được thiết kế với mục đích là lưu trữ, khả năng truy cập và truy xuất

Là một loại cơ sở dữ liệu tích hợp các bản sao dữ liệu giao dịch từ các hệ thống nguồn khác nhau và được thiết kế để sử dụng phân tích

Hiệu suât truy vấn Thấp Tốt

Tóm tắt dữ liệu Dữ liệu chi tiết được lưu trữ trong cơ sở dữ liệu Lưu trữ dữ liệu tóm tắt

Các truy vấn đơn giản Được tối ưu hóa để thực hiện nhanh chóng một số lượng các truy vấn phức tạp trên các tập dữ liệu đa chiều lớn

Lưu trữ dữ liệu,giới hạn lưu trữ

Lưu trữ dữ liệu sử dụng phương pháp tiếp cận quan hệ phẳng

Bị giới hạn trong một phạm vi hoạt động

Sử dụng các phương pháp tiếp cận chiều và chuẩn hoá cấu trúc dữ liệu được biết đến như lược đồ bông tuyết, sao Không giới hạn Định hướng Theo hướng ứng dụng Theo hướng chủ đề

Kỹ thuật xử lý Cơ sở dữ liệu sử dụng Xử lý giao dịch trực tuyến (OLTP) để xóa, chèn, thay thế và cập nhật số lượng lớn các giao dịch ngắn trực tuyến một cách nhanh chóng

Sử dụng Xử lý Phân tích Trực tuyến (OLAP) để phân tích khối lượng lớn dữ liệu một cách nhanh chóng

Cấu trúc dữ liệu Các bảng và phép nối của cơ sở dữ liệu rất phức tạp khi chúng được chuẩn hóa

Vì dữ liệu không được chuẩn hóa nên các phép nối bảng rất đơn giản

Hướng sử dụng Cơ sở dữ liệu hữu ích nhất cho dữ liệu giao dịch nhỏ

Sử dụng cho các giao dịch lớn đòi hỏi mức độ phân tích cao

1.1.2 Kiến trúc cơ bản của kho dữ liệu

1.1.2.1 Tầng đáy - nạp dữ liệu

Vai trò của tầng đáy là cung cấp dịch vụ thu thập, tích hợp dữ liệu từ nhiều nguồn khác nhau sau đó chuẩn hoá, làm sạch dữ liệu và lưu trữ dữ liệu đã được tổng hợp

1.1.2.2 Tầng giữa - OLAP (OLAP server) - Xử lý phân tích trực tuyến

OLAP là kỹ thuật sử dụng các cube (khối – dữ liệu đa chiều) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu Tạo cube cho dữ liệu trong các bảng chiều (dimension table) và bảng sự kiện (fact table) qua đó cung cấp khả năng thực hiện các truy vấn và phân tích cho các ứng dụng client Nó cho phép các nhà quản lý và nhà phân tích có được cái nhìn sâu sắc về thông tin thông qua khả năng truy cập thông tin nhanh chóng, nhất quán và tương tác

OLAP là nền tảng mang lại thành công bời vì nó đem lại nhiều lợi ích cho người phân tích như sau:

 Đưa ra các mô hình dữ liệu đa chiều trực quan giúp người dùng dễ dàng định hướng, lựa chọn và khám phá dữ liệu

 Dữ liệu được tính toán trước đối với các truy vấn thường xuyên nhằm làm cho thời gian trả kết quả của các truy vấn đặc biệt trở nên nhanh chóng hơn

 Cung cấp các công cụ hữu ích giúp tạo các khung nhìn mới của dữ liệu cho người dùng dựa trên các tập hàm tính toán đặc biệt

 Toàn bộ thông tin dữ kiện được tổng hợp để phục vụ cho quản trị phân tích ở mức chuyên sâu

Vai trò của tầng trên cùng là chứa các câu truy vấn, báo cáo, phân tích dữ liệu cuối cùng

1.1.3 Phân tích và thiết kế kho dữ liệu

1.1.3.1 Phân tích và thiết kế kho dữ liệu theo hướng mô hình hóa nhiều chiều (Dimensional Modeling)

Cơ sở dữ liệu đa chiều là một loại hình cụ thể được cấu trúc theo một trật tự tối ưu hóa cho OLAP (xử lý phân tích trực tuyến) và kho dữ liệu Được xây dựng cấu trúc bởi sự

21 tích hợp dữ liệu từ các nguồn khác nhau mà công việc giữa các cơ sở dữ liệu đồng thời và rằng các mạng cung cấp, phân cấp, mảng và các dữ liệu khác định dạng phương pháp Các dữ liệu được trình bày thông qua các mảng đa chiều trong một cơ sở dữ liệu đa chiều và mỗi giá trị riêng biệt của dữ liệu được chứa trong một phần tử có thể được truy cập bởi nhiều chỉ số Đây là tổ chức chi tiết về dữ liệu cho các truy vấn cao cấp và phức tạp trong khi đó cung cấp hiệu năng vượt trội trong những trường hợp nhất định khi so sánh với các cấu trúc quan hệ truyền thống và cơ sở dữ liệu

Hình 1: Kiến trúc khối của kho dữ liệu

Minh họa cơ sở dữ liệu dưới đây gồm 3 chiều, mỗi chiều có các mức sau:

 Chiều hàng hoá (Product), có các mức: sản phẩm (Product), loại sản phẩm (Category), công nghiệp (Industry)

 Chiều thị trường có các mức: khu vực (Region), quốc gia (Country), thành phố (City), địa điểm (Office)

 Chiều thời gian, có các mức: năm (Year), quý (Quarter), tháng (Month), tuần (Week), ngày (Day)

Trong kho dữ liệu, dữ liệu được thể hiện dưới dạng đa chiều gọi là khối (cube) Data cube là trung tâm phân tích, bao gồm nhiều dữ kiện (fact) và dữ kiện tạo ra nhiều chiều dữ kiện khác nhau (dimention)

1.1.3.2 Các dạng (phương pháp) tích hợp dữ liệu

 Hướng chủ đề (Subject Oriented)

Cung cấp thông tin theo một chủ thể nhất định thay vì các hoạt động liên tục của cả tổ chức Minh hoạ rõ hơn về hướng chủ đề ta có ví dụ chủ đề là bán hàng, hàng hoá tồn kho,… nếu bạn muốn phân tích dữ liệu thông tín bán hàng của công ty doanh nghiệp thì bạn sẽ xây dựng kho dữ liệu thiên về bán hàng nó sẽ cung cấp những thông tin, số liệu có giá trị như “mặc hàng nào bán chạy nhất trong các mùa” hoặc “những nhóm khách hàng tiềm năng nào mang lại doanh thu tốt cho công ty” Tóm tại mục tiêu mà kho dữ liệu hướng đến là phục vụ các yêu cầu phân tích hoặc khai phá dữ liệu cụ thể gọi là chủ đề

 Hướng tích hợp (Integrated Oriented)

Chương 2: MÔ HÌNH DATA PLATFORM CHO KHO DỮ LIỆU

2.1 TỔNG QUAN NỀN TẢNG DỮ LIỆU – DATA PLATFORM

Mô hình data platform hay còn được gọi là mô hình nền tảng dữ liệu thường có các chức năng như thu thập dữ liệu từ các nguồn khác nhau, lưu trữ lượng lớn dữ liệu, xử lý và chia sẻ chúng

Thu thập dữ liệu: Với chức năng thu thập dữ liệu, mô hình nền tảng dữ liệu lớn có khả năng thu thập nhiều loại dữ liệu, từ các nguồn khác nhau Về dữ liệu thời gian thực, nó có thể được truyền và xử lý theo luồng (chuỗi dữ liệu không bị ràng buộc) Trong khi dữ liệu không theo thời gian thực có thể được thu thập bằng các tệp định dạng

Lưu trữ dữ liệu: Dữ liệu có thể được chia thành hai loại là dữ liệu theo thời gian thực và không theo thời gian thực (dữ liệu lịch sử) Tại bước lưu trữ này chúng cũng được tách ra lưu trữ riêng Dữ liệu theo thời gian thực được lưu trữ trong cụm ES Loại còn lại được lưu trong hệ thống tệp phân tán HDFS

Xử lý dữ liệu: Đầu tiên, nguồn dữ liệu sẽ được kiểm tra tính toàn vẹn của tệp, định dạng tệp, đặc tả tên tệp,… Kế tiếp là làm sạch dữ liệu, loại bỏ dữ liệu không đáp ứng yêu cầu, giải mã và lưu trữ dữ liệu Vì tính chất của dữ liệu mà dữ liệu thời gian thực thường được xử lý bằng Spark và dữ liệu lịch sử được được xử lý bằng Hadoop

Chia sẻ dữ liệu: Chức năng này thường được người dùng thực hiện trên một trang web- giao diện của nền tảng dữ liệu lớn Dữ liệu có thể được truy xuất thông qua JAVA API hoặc RESTful API [1]

2.2 KHẢO SÁT CÁC NỀN TẢNG DỮ LIỆU HIỆN NAY

Databricks là một nền tảng dữ liệu chuyên về phân tích được tối ưu hóa cho nền tảng dịch vụ đám mây Microsoft Azure Azure Databricks cung cấp ba môi trường để phát triển các ứng dụng chuyên sâu về dữ liệu: Databricks SQL, Databricks Data Science & Engineering, và Databricks Machine Learning Trong đó:

 Databricks SQL cung cấp dịch vụ truy vấn dữ liệu trên hồ dữ liệu, trực quan hóa dữ liệu Ngoài hai dịch vụ này, Databricks cho phép xây dựng và chia sẻ trang tổng quan dữ liệu

 Databricks Data Science & Engineering: là môi trường làm việc hướng tới các đối tượng như các kỹ sư dữ liệu, nhà khoa học dữ liệu và kỹ sư máy học Nó cung cấp không gian làm việc khoa học cho họ Đối với đường ống dữ liệu lớn, dữ liệu (thô hoặc có cấu trúc) được nhập vào Azure thông qua Azure Data Factory theo lô hoặc được truyền trực tuyến gần thời gian thực bằng Apache Kafka, Event Hub hoặc IoT Hub Dữ liệu này được đưa vào một hồ dữ liệu để lưu trữ lâu dài liên tục, trong Azure Blob Storage hoặc Azure Data Lake Storage Trong một quy trình phân tích, Azure DataBricks đọc dữ liệu từ nhiều nguồn dữ liệu và Spark sẽ biến nó thành thông tin chi tiết và hữu ích

 Databricks Machine Learning: là một môi trường học máy tích hợp từ đầu đến cuối kết hợp các dịch vụ được quản lý để theo dõi thử nghiệm, đào tạo mô hình, phát triển và quản lý tính năng cũng như cung cấp tính năng và mô hình

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) Nó hỗ trợ rất nhiều công việc trong môi trường CNTT doanh nghiệp SQL Server được xây dựng dựa trên SQL - ngôn ngữ lập trình tiêu chuẩn hóa mà các quản trị viên cơ sở dữ liệu (DBA) và các chuyên gia CNTT khác sử dụng để quản lý cơ sở dữ liệu và truy vấn dữ liệu chứa trong đó

SQL Server cung cấp dịch vụ quản lý dữ liệu, BI, phân tích dữ liệu, trực quan hóa dữ liệu, tạo báo cáo, thậm chí là học máy (SQL Server 2016) Ngoài cung cấp dịch vụ, SQL Server còn quan tâm tới tính năng bảo mật, gồm ba công nghệ bảo mật:

 Luôn được mã hóa, cho phép người dùng cập nhật dữ liệu đã mã hóa mà không cần phải giải mã bảo mật cấp hàng đầu tiên

 Cho phép có quyền truy truy cập dữ liệu ở cấp độ hàng của bảng trong cơ sở dữ liệu

 Tự động ẩn các phần dữ liệu nhạy cảm như khỏi người dùng không có đặc quyền truy cập đầy đủ

Amazon Web Services - AWS là một nền tảng trực tuyến cung cấp các giải pháp điện toán đám mây có thể mở rộng và tiết kiệm chi phí AWS là một nền tảng đám mây được chấp nhận rộng rãi, cung cấp một số hoạt động theo yêu cầu như năng lượng tính toán, lưu trữ cơ sở dữ liệu, phân phối nội dung, v.v., để giúp các doanh nghiệp mở rộng quy mô và phát triển Amazon có một danh sách các dịch vụ:

 Kết nối mạng và phân phối

 Những công cụ phát triển

AWS phổ biến bởi tính đa dạng, phù hợp với mọi nhu cầu phân tích dữ liệu được sử dụng với quy mô lớn Những tính năng mang lại sự hữu dụng của aws như:

 Datalake có quy mô, tốc độ và linh hoạ các trên toàn phương diện phân tích và lưu trữ dữ liệu

 Các dịch vụ của aws đem lại sự tối ưu hoá các hoạt đọng từ đó đem lại hiệu suất, quy mô sử dụng tốt nhất với mức chi phí phù hợp

 Truy cập, bảo mật, quản lý dữ liệu hợp nhất

 Tích hợp Machine Learning cho các phân tích chuyên sâu

 Phi máy chủ và dễ dàng sử dụng

Hiện nay có rất nhiều công ty sử dụng AWS vì tính ứng dụng và dịch vụ của nó, chẳng hạn: Netflix, Intuit, Coinbase, Finra, Adobe

2.2.4 Hiện trạng nền tảng dữ liệu nhóm đang xây dựng

Mục tiêu đề ra khi nhóm xây dựng nền tảng dữ liệu này là cung cấp một môi trường làm việc đã dạng, nhanh, bảo mật cho người dùng khi làm việc với dữ liệu lớn Điểm khác biệt so với các nền tảng khác là nó được xây dựng hoàn toàn trên các ứng dụng mã nguồn mở, truy vấn sử dụng MapReduce nên sẽ tiết kiệm thời gian khi làm việc liên quan đến truy vấn dữ liệu lớn

Chương 3: PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT

3.1.1 Mục đích của phân tích thiết kế và cài đặt

 Tài liệu mô tả và phác thảo yêu cầu của người dùng cuối Giúp đơn vị yêu cầu và các thành viên dự án xác định đúng và đủ yêu cầu

 Tài liệu này là cơ sở và đầu vào cho các quá trình:

- Tập hợp, phân tích yêu cầu, đưa ra đặc tả yêu cầu phần mềm

- Phân tích thiết kế, lập trình

STT HẠNG MỤC MÔ TẢ

Lượng dữ liệu sinh ra ngày một tăng theo độ lớn và sự phức tạp Nhu cầu lưu trữ, quản lý, phân tích dữ liệu vì thế được sinh ra Nếu không có 1 công cụ để hỗ trợ thì người nắm dữ nguồn dữ liệu lớn sẽ tốn thời gian, tiền bạc và công sức khi sử dụng nguồn dữ liệu lớn đó

2 Mục đích chung/Giới thiệu tổng quan

Xây dựng data platform, có trang web để người dùng giao tiếp với data platform

3 Mục tiêu/Hiệu quả kỳ vọng của dự án

- Dễ dàng lưu trữ dữ liệu vào kho dữ liệu của data platform

- Dữ liệu được xử lý, làm sạch và phân tích

- Truy xuất dữ liệu qua API

- Có giao diện thân thiện cho người sử dụng

Sử dụng data platform sẽ giúp người dùng tiết kiệm nguồn lực, thời gian và chi phí trong quá trình làm việc với nguồn dữ liệu lớn của họ

Chủ thể nắm giữ nguồn dữ liệu lớn, những người có nhu cầu khai thác tiềm năng, tài nguyên trong dữ liệu

- Ngân sách (AWS Academy Learner Lab): 100$

- Tính năng: Trích xuất, biến đổi, tải, truy xuất

3.1.3 Thuật ngữ, từ ngữ viết tắt

Bảng 3: Danh sách thuật ngữ, các từ viết tắt

STT THUẬT NGỮ MÔ TẢ

1 Data Platform Nền tảng dữ liệu

2 API Application Programming Interface – Phương thức trung gian kết nối

3 Web Website – Trang web, nơi chứa các nội dung văn bản, hình ảnh,

… được lưu trữ trên máy chủ

7 DWH Data Warehouse (kho dữ liệu)

3.2.1 Tổng quan quy trình nghiệp vụ của nền tảng dữ liệu

Hình 4: Quy trình làm việc của một nền tảng dữ liệu

 Bước 1 - Tích hợp dữ liệu: Thu thập dữ liệu từ người dùng

 Bước 2 - Xây dựng kho dữ liệu: Lưu trữ dữ liệu trên hệ thống tệp phân tán của

 Bước 3 - Chuyển đổi dữ liệu: Sử dụng các công cụ để chuyển đổi dữ liệu về cùng cấu trúc để dễ dàng quản lý

 Bước 4: Lưu trữ dữ liệu đã qua xử lý về một kho dữ liệu

 Bước 5: Phân tích dữ liệu theo mục đích của người sử dụng, khai thác tài nguyên tiềm ẩn bên trong dữ liệu

 Metadata management: Quản lý siêu dữ liệu

Hình 5: Sơ đồ chức năng của trang web data platform

Người dùng sẽ thực hiện nhập, đăng tải dữ liệu Dữ liệu sẽ được lưu trữ trong HDFS Dữ liệu thô sau đó sẽ được chuyển đổi Nhằm phục vụ nhu cầu của người sử dụng, nền tảng dữ liệu này cho phép người dùng truy vấn, tính toán, phân tích… Và để có cái nhìn khách quan hơn, nền tảng dữ liệu này còn hỗ trợ trực quan hóa dữ liệu

3.2.4 Danh sách các chức năng

Bảng 4: Danh sách các chức năng

1 Tạo cơ sở dữ liệu Tạo cơ sở dữ liệu mới trong hệ quản trị cơ sở dữ liệu mysql,hive

2 Tạo bảng, nhập dữ liệu

Dữ liệu sẽ được lấy từ tệp dữ liệu trong HDFS hoặc từ tệp vừa mới đăng tải lên, và chuyển vào bảng mới tạo trong cơ sở dữ liệu

3 Truy vấn Thực hiện các câu lệnh truy vấn theo nhu cầu người sử dụng

4 Nhập dữ liệu Người dùng đăng tải tệp dữ liệu Dữ liệu này được lưu trữ trên hệ thống tệp phân tán HDFS

Người dùng thực hiện truy vấn dữ liệu theo nhu cầu, sau đó tải dữ liệu đã truy vấn đó theo các định dạng như csv, …

Người dùng truy vấn dữ liệu, dữ liệu được truy vấn sẽ được trực quan thành các biểu đồ dạng biểu đồ cột, biểu đồ đường

Bảng 5: Các cột mốc dự kiến trong đồ án

1 Pilot 30/6/2022 Dự kiến hoàn thành, kiểm thử sản phẩm

2 Go-live 15/7/2022 Hoàn thành sản phẩm, triển khai

3.3.1 Tạo mới cơ sở dữ liệu, nhập dữ liệu

Bảng 6: Đặc tả chức năng Tạo mới cơ sở dữ liệu Description - Người dùng tạo cơ sở dữ liệu mới cho mysql, hive

Actor - Người dùng cơ sở dữ liệu

Trigger - Chọn New Databases hoặc sử dụng câu lệnh truy vấn

- Người dùng tạo cơ sở dữ liệu, tạo bảng thành công

- Nhập dữ liệu thành công

Post-condition - Dữ liệu được lưu vào HDFS

Hình 7: Activity Diagram - Creating Database

Hình 8: Activity Diagram – Creating table and import data

Bảng 7: Đặc tả chức năng Truy vấn Description - Màn hình cho phép người dùng làm việc với hive

Actor - Người dùng cơ sở dữ liệu

Trigger - Truy cập vào “Nhập” trên thanh công cụ

- Tạo bảng và nhập dữ liệu thành công

- Tạo bảng và nhập dữ liệu thành công, ngược lại sẽ thông báo lỗi và

47 lý do khiến cho quá trình này thất bại

Hình 9: Activity Diagram - Data query

Bảng 8: Đặc tả chức năng Nhập dữ liệu

Description - Màn hình cho phép người dùng nhập dữ liệu từ tệp từ xa, cơ sở dữ liệu ngoài và nhập thủ công

Trigger - Truy cập vào File Browser trên thanh công cụ

- Tải dữ liệu và được lưu vào hdfs

Post-condition - Nếu nhập dữ liệu thành công thì tên tệp sẽ hiển thị trên hộp thoại

Hình 10: Activity Diagram – Import data

Bảng 9: Đặc tả chức năng Trích xuất dữ liệu

Description - Xuất dữ liệu đã được người dùng truy vấn theo các định dạng tùy chọn, hoặc xuất vào cơ sở dữ liệu khác

Trigger - Truy cập vào “exporter” trên thanh công cụ

- Người dùng tải dữ liệu thành công, hoặc thêm dữ liệu này vào bảng mới trong cơ sở dữ liệu khác thành công

Post-condition - Nếu xuất dữ liệu thành công thì báo quá trình hoàn thành Ngược lại thì báo lỗi

Bảng 10: Đặc tả chức năng Trực quan hóa dữ liệu Description - Hiển thị đồ thị trực quang dữ liệu

Trigger - Truy cập vào trang web superset

- Thành công thì xuất hiện đồ thị trực quan dữ liệu Không thành công thì khung này trống

Hình 11: Activity Diagram - Data visualization

3.4 CÀI ĐẶT TRÊN MÔI TRƯỜNG PHÁT TRIỂN

Mục đích hướng tới của đề tài là làm việc với Big Data và xây dựng một nền tảng dữ liệu dựa trên kiến trúc mã nguồn mở, hỗ trợ tối đa tác vụ cho người dùng cuối Hadoop và các ứng dụng phân tán của nó là 1 sự lựa chọn chọn tốt Ứng dụng phân tán chính là mấu chốt để làm việc với dữ liệu lớn

Hình 12: Kiến trúc nền tảng dữ liệu

“Một EC2 Instance chính là một máy chủ ảo trong thuật ngữ dịch vụ Web của Amazon EC2 là viết tắt của Elastic Compute Cloud Đây là một dịch vụ web nơi người đăng ký AWS có thể yêu cầu và cung cấp máy chủ tính toán trong đám mây AWS.”

Bảng 11: Cấu hình máy chủ ảo EC2 Instance Ubuntu trên Amazon AWS

Phiên bản vCPU Tín dụng CPU/giờ Bộ nhớ (GiB) Lưu trữ m6i.large 2 24 8 Chỉ EBS

 Bộ xử lý có thể mở rộng Intel Xeon với tần số lên đến 3,1 GHz

 Intel AVX, Intel AVX2, Intel Turbo

 Kết nối mạng nâng cao

 Putty Đối với người quản trị, cài đặt phần mềm kết nối, quản lí các máy ảo EC2 Ubuntu Instance Download tại https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.77- installer.msi

Cài đặt ứng dụng khách, quản lý tệp từ xa trên máy chủ EC2 Ubuntu Instance Download bản mới nhất tại: https://winscp.net/eng/download.php

Bảng 12: Kiểm thử STT Mô tả testcase Các bước test Kết quả Trạng thái

1 Kiểm tra chức năng nhập dữ liệu

Thực hiện nhập nhiều dạng tệp dữ liệu, đa dạng kích cỡ Kiểm tra dữ liệu đã được đăng tải thành công không

Dữ liệu được lưu vào HDFS Đạt

2 Kiểm tra chức năng xuất dữ liệu về dạng tệp

Thực hiện xuất tệp về theo tất cả các định dạng cho phép

Kiểm tra tệp đã được tải về đúng dữ liệu đã chọn hay không Kiểm tra

Dữ liệu được tải về máy thành công Đạt

53 kích cỡ, định dạng tệp tải về đúng không

Kiểm tra chức năng xuất dữ liệu về một cơ sở dữ liệu khác

Thực hiện xuất tệp vào cơ sở dữ liệu/bảng bất kì

Kiểm tra dữ liệu có đầy đủ, chính xác không

Dữ liệu được lưu trong cơ sở dữ liệu/bảng khác Đạt

4 Kiểm tra chức năng tạo cơ sở dữ liệu

Chọn loại cơ sở dữ liệu bất kỳ Tạo cơ sở dữ liệu mới

Kiểm tra cơ sở dữ liệu mới có được tạo không

Tạo cơ sở dữ liệu mới Đạt

5 Kiểm tra chức năng tạo bảng

Chọn cơ sở dữ liệu bất kỳ Tạo bảng mới Kiểm tra bảng mới có được tạo không Dữ liệu nhập vào bảng có đầy đủ và chính xác không

Tạo bảng mới, dữ liệu được nhập đầy đủ vào bảng

Hive: Đạt Mysql: Chưa đạt Lỗi khi nhập dữ liệu

6 Kiểm tra chức năng trực quang hoá dữ liệu

Thực hiện truy vấn bất kì nhóm dữ liệu

Trực quan dữ liệu đó Kiểm tra biểu đồ trực quan chính xác được điều mà dữ liệu muốn thể hiện

Dữ liệu được trực quang được thể hiện thông qua các đồ thị trực quang dữ liệu Đạt

Ngày đăng: 25/02/2024, 14:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] D. F. He Yin, "Design and Implementation of Meteorological Big Data Platform Based on Hadoop," 2019 Sách, tạp chí
Tiêu đề: Design and Implementation of Meteorological Big Data Platform Based on Hadoop
[2] I. Cloudera, "The open source SQL Assistant for Data Warehouses," [Online]. Available: https://docs.gethue.com/quickstart/ Sách, tạp chí
Tiêu đề: The open source SQL Assistant for Data Warehouses
[3] T. A. S. Foundation, "Superset," [Online]. Available: https://superset.apache.org/docs/intro/ Sách, tạp chí
Tiêu đề: Superset
[4] T. A. S. Foundation, "Hadoop," [Online]. Available: https://hadoop.apache.org/docs/stable/ Sách, tạp chí
Tiêu đề: Hadoop
[5] M. Karabiben, "Building an End-to-End Open-Source Modern Data Platform," 28 12 2021. [Online]. Available: https://towardsdatascience.com/building-an-end-to-end-open-source-modern-data-platform-c906be2f31bd. [Accessed 2022] Sách, tạp chí
Tiêu đề: Building an End-to-End Open-Source Modern Data Platform

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w