• OSAM

Xây dựng Kiến trúc Lake House trên AWS

Đã cập nhật: Th07 5

Các tổ chức và doanh nghiệp có thể có được những hiểu biết sâu sắc và phong phú hơn khi họ tập hợp được tất cả dữ liệu có liên quan, từ tất cả các nguồn để phân tích. Để phân tích lượng dữ liệu khổng lồ này, họ đã và đang cố gắng thu thập mọi dữ liệu rời rạc và tổng hợp tất cả dữ liệu đó ở một vị trí, cái mà nhiều người gọi là hồ dữ liệu (data lake), để triển khai việc phân tích hoặc áp dụng máy học (machine learning) trực tiếp trên đó.


Mặt khác, họ lưu trữ dữ liệu có cấu trúc trong một kho dữ liệu tập trung để đưa ra kết quả nhanh chóng cho các truy vấn phức tạp, hoặc để theo dõi tình trạng của hệ thống sản xuất.


Bằng cách di chuyển linh hoạt giữa hồ dữ liệu và kho dữ liệu, các doanh nghiệp có thể đưa ra được những “insights" đắt giá trong mọi khía cạnh của doanh nghiệp. Tuy nhiên, khi dữ liệu trong các hệ thống này tiếp tục phát triển, việc di chuyển tất cả dữ liệu này trở nên khó khăn hơn. Để khắc phục vấn đề này, phương pháp tiếp cận Lake House trên AWS đã được giới thiệu.


Trong bài đăng này, chúng tôi trình bày cách xây dựng phương pháp tiếp cận Lake House trên AWS cho phép bạn có được thông tin chi tiết từ khối lượng dữ liệu đang tăng theo cấp số nhân và giúp bạn đưa ra quyết định một cách nhanh chóng và chính xác. Phương pháp tiếp cận Lake House này cung cấp những thông tin và công cụ mà bạn cần để nắm bắt trọng tâm của dữ liệu, bằng cách sử dụng cả hồ dữ liệu trung tâm, kết hợp với các dịch vụ dữ liệu được xây dựng có mục đích xung quanh hồ dữ liệu đó và khả năng dễ dàng di chuyển dữ liệu bạn cần giữa các kho dữ liệu này.


Cách tiếp cận Lake House


Là một kiến ​​trúc dữ liệu hiện đại, phương pháp Lake House không chỉ là tích hợp hồ dữ liệu và kho dữ liệu của bạn, mà còn là kết nối hồ dữ liệu, kho dữ liệu và tất cả các dịch vụ được xây dựng có mục đích khác của bạn thành một tổng thể thống nhất. Hồ dữ liệu cho phép bạn có một địa điểm tập trung duy nhất cho công việc phân tích dữ liệu, đồng thời vẫn đảm bảo tốc độ nhanh chóng trong các trường hợp sử dụng cụ thể.


Phương pháp tiếp cận Lake House này bao gồm các yếu tố chính sau:


  • Hồ dữ liệu có thể mở rộng

  • Dịch vụ dữ liệu được xây dựng có mục đích

  • Di chuyển dữ liệu liền mạch

  • Quản trị thống nhất

  • Hiệu quả và Hiệu quả về Chi phí


Sơ đồ sau minh họa phương pháp tiếp cận Lake House này về dữ liệu khách hàng trong thời gian thực và sự di chuyển dữ liệu cần thiết giữa tất cả các dịch vụ phân tích dữ liệu và kho dữ liệu, từ trong ra ngoài, từ ngoài vào trong và xung quanh trọng tâm dữ liệu.




Kiến trúc phân tích dữ liệu được phân lớp và thành phần hóa cho phép bạn sử dụng công cụ phù hợp cho đúng công việc và giúp bạn xây dựng kiến ​​trúc một cách nhanh chóng. Bạn có được sự linh hoạt để phát triển Lake House, nhằm đáp ứng nhu cầu hiện tại và tương lai khi bạn có thêm các nguồn dữ liệu mới, hoặc muốn khám phá các trường hợp sử dụng mới và yêu cầu của chúng, đồng thời phát triển các phương pháp phân tích mới hơn.


Đối với Kiến trúc Lake House này, bạn có thể tổ chức nó như một khối gồm 5 lớp hợp lý, trong đó mỗi lớp bao gồm nhiều thành phần được xây dựng có mục đích giải quyết các yêu cầu cụ thể.





Nguồn dữ liệu

Kiến trúc Lake House cho phép bạn nhập và phân tích dữ liệu từ nhiều nguồn khác nhau. Nhiều trong số các nguồn này như ứng dụng dòng doanh nghiệp (LOB), ứng dụng ERP và ứng dụng CRM tạo ra các lô dữ liệu có cấu trúc cao ở những khoảng thời gian cố định. Ngoài các nguồn có cấu trúc nội bộ, bạn có thể nhận dữ liệu từ các nguồn hiện đại như ứng dụng web, thiết bị di động, cảm biến, luồng video và phương tiện truyền thông xã hội. Các nguồn hiện đại này thường tạo ra dữ liệu bán cấu trúc và phi cấu trúc, thường là các luồng liên tục.


Lớp nhập dữ liệu

Lớp nhập trong Kiến trúc Lake House chịu trách nhiệm nhập dữ liệu vào lớp lưu trữ Lake House. Nó cung cấp khả năng kết nối với các nguồn dữ liệu bên trong và bên ngoài qua nhiều giao thức khác nhau. Nó có thể nhập và cung cấp dữ liệu phát trực tuyến hàng loạt cũng như thời gian thực vào kho dữ liệu cũng như các thành phần hồ dữ liệu của lớp lưu trữ Lake House.


Lớp lưu trữ dữ liệu

Lớp lưu trữ dữ liệu của Kiến trúc Lake House chịu trách nhiệm cung cấp các thành phần bền, có thể mở rộng và hiệu quả về chi phí để lưu trữ và quản lý số lượng lớn dữ liệu. Trong Kiến trúc Lake House, kho dữ liệu và hồ dữ liệu được tích hợp nguyên bản để cung cấp lớp lưu trữ tích hợp hiệu quả về chi phí hỗ trợ dữ liệu không có cấu trúc cũng như dữ liệu có cấu trúc và mô hình cao. Lớp lưu trữ có thể lưu trữ dữ liệu ở các trạng thái sẵn sàng tiêu dùng khác nhau, bao gồm cả dữ liệu thô, được tuân thủ đáng tin cậy, được làm giàu và được mô hình hóa.


Lớp danh mục

Lớp danh mục chịu trách nhiệm lưu trữ siêu dữ liệu về kinh doanh và kỹ thuật trong Lake House. Trong Kiến trúc Lake House, danh mục được chia sẻ bởi cả hồ dữ liệu và kho dữ liệu, đồng thời cho phép viết các truy vấn kết hợp dữ liệu được lưu trữ trong hồ dữ liệu cũng như kho dữ liệu trong cùng một SQL. Nó cho phép bạn theo dõi các phiên bản lược đồ khác nhau và thông tin phân vùng chi tiết của các tập dữ liệu. Khi số lượng tập dữ liệu tăng lên, lớp này làm cho các tập dữ liệu trong Lake House có thể phát hiện được bằng cách cung cấp khả năng tìm kiếm.


Lớp xử lý dữ liệu

Các thành phần trong lớp xử lý dữ liệu của Kiến trúc Lake House chịu trách nhiệm chuyển đổi dữ liệu sang trạng thái có thể sử dụng được thông qua xác thực, tinh chỉnh, chuẩn hóa, chuyển đổi và làm giàu dữ liệu. Lớp xử lý cung cấp các thành phần được xây dựng có mục đích để thực hiện nhiều loại chuyển đổi, bao gồm SQL kiểu kho dữ liệu, xử lý dữ liệu lớn và ETL gần thời gian thực.


Lớp xử lý đẩy nhanh thời gian đưa sản phẩm/ứng dụng ra thị trường bằng cách cung cấp các thành phần được xây dựng theo mục đích phù hợp với các đặc điểm của tập dữ liệu (kích thước, định dạng, lược đồ, tốc độ), tác vụ xử lý và các tập kỹ năng có sẵn (SQL, Spark). Lớp xử lý có thể mở rộng quy mô hiệu quả về chi phí để xử lý khối lượng dữ liệu lớn và cung cấp các thành phần để hỗ trợ lược đồ trên ghi, lược đồ khi đọc, bộ dữ liệu được phân vùng và các định dạng dữ liệu đa dạng. Lớp xử lý có thể truy cập các giao diện lưu trữ thống nhất của Lake House và danh mục chung, do đó truy cập tất cả dữ liệu và siêu dữ liệu trong Lake House. Điều này có những lợi ích sau:


  • Tránh dư thừa dữ liệu, di chuyển dữ liệu không cần thiết và trùng lặp mã ETL có thể xảy ra khi xử lý riêng một hồ dữ liệu và kho dữ liệu

  • Giảm thời gian đưa sản phẩm/dịch vụ ra thị trường


Kiến trúc tham khảo Lake House trên AWS

Sơ đồ sau minh họa kiến ​​trúc tham chiếu Lake House của chúng tôi trên môi trường của AWS:



Trong các phần sau, chúng tôi cung cấp thêm thông tin về từng lớp.


Lớp nhập dữ liệu

Lớp nhập trong kiến ​​trúc tham chiếu Lake House bao gồm một tập hợp các dịch vụ AWS được xây dựng theo mục đích để cho phép nhập dữ liệu từ nhiều nguồn khác nhau vào lớp lưu trữ Lake House. Hầu hết các dịch vụ nhập có thể cung cấp dữ liệu trực tiếp đến cả hồ dữ liệu và lưu trữ kho dữ liệu. Các dịch vụ AWS được xây dựng theo mục đích riêng phù hợp với yêu cầu kết nối, định dạng dữ liệu, cấu trúc dữ liệu và tốc độ dữ liệu duy nhất của các nguồn sau:

  • Nguồn cơ sở dữ liệu hoạt động

  • Các ứng dụng phần mềm như một dịch vụ (SaaS)

  • Chia sẻ tệp

  • Truyền nguồn dữ liệu


Nguồn cơ sở dữ liệu hoạt động (OLTP, ERP, CRM)

Thành phần Dịch vụ di chuyển dữ liệu AWS (AWS DMS) trong lớp nhập có thể kết nối với một số cơ sở dữ liệu RDBMS và NoSQL đang hoạt động và nhập dữ liệu của chúng vào nhóm Amazon Simple Storage Service (Amazon S3) trong hồ dữ liệu hoặc trực tiếp vào các bảng dàn trong Amazon Redshift kho dữ liệu. Với AWS DMS, bạn có thể thực hiện nhập dữ liệu nguồn một lần và sau đó sao chép các thay đổi đang diễn ra trong cơ sở dữ liệu nguồn.


Ứng dụng SaaS

Lớp nhập sử dụng Amazon AppFlow để dễ dàng nhập dữ liệu ứng dụng SaaS vào hồ dữ liệu của bạn. Với một vài cú nhấp chuột, bạn có thể thiết lập luồng nhập dữ liệu không cần máy chủ trong Amazon AppFlow. Luồng của bạn có thể kết nối với các ứng dụng SaaS như Salesforce, Marketo và Google Analytics, nhập dữ liệu và phân phối dữ liệu đó đến lớp lưu trữ Lake House, tới nhóm S3 trong hồ dữ liệu hoặc trực tiếp tới các bảng dàn trong kho dữ liệu Amazon Redshift. Bạn có thể lên lịch các luồng nhập dữ liệu Amazon AppFlow hoặc kích hoạt chúng bằng các sự kiện trong ứng dụng SaaS. Dữ liệu đã nhập có thể được xác thực, lọc, lập bản đồ trước khi phân phối đến bộ nhớ Lake House.


Chia sẻ tệp

Nhiều ứng dụng lưu trữ dữ liệu có cấu trúc và không có cấu trúc trong các tệp được lưu trữ trên các mảng lưu trữ gắn liền với mạng (NAS). AWS DataSync có thể nhập hàng trăm terabyte và hàng triệu tệp từ các thiết bị NAS hỗ trợ NFS và SMB vào vùng đích của hồ dữ liệu. DataSync tự động xử lý tập lệnh của các công việc sao chép, lên lịch và giám sát chuyển giao, xác thực tính toàn vẹn của dữ liệu và tối ưu hóa việc sử dụng mạng. DataSync có thể thực hiện chuyển tệp một lần và sau đó theo dõi và đồng bộ hóa các tệp đã thay đổi vào Lake House. DataSync được quản lý đầy đủ và có thể được thiết lập trong vài phút.


Truyền nguồn dữ liệu

Lớp nhập sử dụng Amazon Kinesis Data Firehose để nhận dữ liệu truyền trực tuyến từ các nguồn bên trong hoặc bên ngoài và phân phối đến lớp lưu trữ Lake House. Với một vài cú nhấp chuột, bạn có thể định cấu hình điểm cuối API Kinesis Data Firehose nơi các nguồn có thể gửi dữ liệu truyền trực tuyến như dòng nhấp chuột, nhật ký ứng dụng và cơ sở hạ tầng và số liệu giám sát cũng như dữ liệu IoT như thiết bị đo từ xa và đọc cảm biến. Kinesis Data Firehose thực hiện các hành động sau:


  • Bộ đệm các luồng đến

  • Nhân bản, nén, chuyển đổi, phân vùng và mã hóa dữ liệu

  • Cung cấp dữ liệu dưới dạng các đối tượng S3 vào hồ dữ liệu hoặc dưới dạng các hàng thành các bảng dàn trong kho dữ liệu Amazon Redshift


Kinesis Data Firehose không có máy chủ, không yêu cầu quản trị và có mô hình chi phí mà bạn chỉ phải trả cho khối lượng dữ liệu bạn truyền và xử lý thông qua dịch vụ. Kinesis Data Firehose tự động thay đổi tỷ lệ để điều chỉnh theo khối lượng và thông lượng của dữ liệu đến. Để xây dựng đường ống phân tích phát trực tuyến theo thời gian thực, lớp nhập cung cấp Luồng dữ liệu Amazon Kinesis.


Lớp lưu trữ

Amazon Redshift và Amazon S3 cung cấp lớp lưu trữ thống nhất, được tích hợp nguyên bản của kiến ​​trúc tham chiếu Lake House của chúng tôi. Thông thường, Amazon Redshift lưu trữ dữ liệu đáng tin cậy, phù hợp và được quản lý cao, được cấu trúc thành các lược đồ chiều tiêu chuẩn, trong khi Amazon S3 cung cấp bộ lưu trữ hồ dữ liệu quy mô exabyte cho dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc. Với hỗ trợ dữ liệu bán cấu trúc trong Amazon Redshift, bạn cũng có thể nhập và lưu trữ dữ liệu bán cấu trúc trong kho dữ liệu Amazon Redshift của mình. Amazon S3 cung cấp khả năng mở rộng, khả năng cung cấp dữ liệu, bảo mật và hiệu suất hàng đầu trong ngành. Các tổ chức thường lưu trữ dữ liệu trong Amazon S3 bằng các định dạng tệp mở. Các định dạng tệp mở cho phép phân tích cùng một dữ liệu Amazon S3 bằng cách sử dụng nhiều thành phần lớp xử lý và tiêu thụ. Lớp danh mục chung lưu trữ các lược đồ của tập dữ liệu có cấu trúc hoặc bán cấu trúc trong Amazon S3. Các thành phần sử dụng tập dữ liệu S3 thường áp dụng lược đồ này cho tập dữ liệu khi chúng đọc nó (hay còn gọi là lược đồ khi đọc).


Trong kiến ​​trúc tham chiếu Lake House của chúng tôi, Lake Formation cung cấp danh mục trung tâm để lưu trữ siêu dữ liệu cho tất cả các tập dữ liệu được lưu trữ trong Lake House (cho dù được lưu trữ trong Amazon S3 hay Amazon Redshift). Các tổ chức lưu trữ cả siêu dữ liệu kỹ thuật (chẳng hạn như lược đồ bảng được tạo phiên bản, thông tin phân vùng, vị trí dữ liệu thực và dấu thời gian cập nhật) và các thuộc tính kinh doanh (chẳng hạn như chủ sở hữu dữ liệu, người quản lý dữ liệu, định nghĩa kinh doanh cột và độ nhạy thông tin cột) của tất cả các bộ dữ liệu của họ trong Lake Formation.


Lake Formation cũng cung cấp cho người quản trị hồ dữ liệu một nơi trung tâm để thiết lập quyền cấp bảng và cột chi tiết cho cơ sở dữ liệu và bảng được lưu trữ trong hồ dữ liệu. Sau khi bạn thiết lập quyền của Lake Formation, người dùng và nhóm chỉ có thể truy cập các bảng và cột được ủy quyền bằng cách sử dụng nhiều dịch vụ lớp xử lý và tiêu thụ như AWS Glue, Amazon EMR, Amazon Athena và Redshift Spectrum.


Lớp xử lý dữ liệu

Lớp xử lý của Kiến trúc Lake House của chúng tôi cung cấp nhiều thành phần được xây dựng có mục đích để cho phép nhiều trường hợp sử dụng xử lý dữ liệu khác nhau. Để phù hợp với cấu trúc duy nhất (dạng bảng phẳng, phân cấp hoặc không có cấu trúc) và tốc độ (hàng loạt hoặc phát trực tuyến) của tập dữ liệu trong Lake House, chúng ta có thể chọn một thành phần xử lý được xây dựng theo mục đích phù hợp. Mỗi thành phần có thể đọc và ghi dữ liệu vào cả Amazon S3 và Amazon Redshift (gọi chung là bộ lưu trữ Lake House).


Chúng ta có thể sử dụng các thành phần của lớp xử lý để xây dựng các công việc xử lý dữ liệu có thể đọc và ghi dữ liệu được lưu trữ trong cả kho dữ liệu và lưu trữ hồ dữ liệu bằng cách sử dụng các giao diện sau:

  • Amazon Redshift SQL (với Redshift Spectrum)

  • Khối lượng công việc Apache Spark chạy Amazon EMR

  • Các công việc Apache Spark chạy trên AWS Glue


Bạn có thể thêm siêu dữ liệu từ các tập dữ liệu kết quả vào danh mục Lake Formation trung tâm bằng cách sử dụng trình thu thập dữ liệu AWS Glue hoặc API Lake Formation.


Bạn có thể sử dụng các thành phần được xây dựng theo mục đích để xây dựng các chu trình chuyển đổi dữ liệu thực hiện những điều sau:

  • ELT dựa trên SQL sử dụng Amazon Redshift (với Redshift Spectrum)

  • Xử lý dữ liệu lớn bằng AWS Glue hoặc Amazon EMR

  • Xử lý dữ liệu phát trực tuyến gần thời gian thực bằng Amazon Kinesis.

  • Xử lý dữ liệu phát trực tuyến gần theo thời gian thực cách sử dụng tính năng phát trực tuyến Spark trên AWS Glue.

  • Xử lý dữ liệu phát trực tuyến gần theo thời gian thực bằng cách sử dụng tính năng phát trực tuyến Spark trên Amazon EMR.


ELT dựa trên SQL

Để chuyển đổi dữ liệu có cấu trúc trong lớp lưu trữ Lake House, bạn có thể xây dựng các đường ống ELT mạnh mẽ bằng cách sử dụng ngữ nghĩa SQL quen thuộc. Các chu trình ELT này có thể sử dụng khả năng xử lý song song hàng loạt (MPP) trong Amazon Redshift và khả năng trong Redshift Spectrum để tạo ra hàng nghìn nút tạm thời để mở rộng quy mô xử lý đến petabyte dữ liệu. Các đường ống ELT dựa trên quy trình được lưu trữ tương tự trên Amazon Redshift có thể biến đổi những điều sau:

  • Dữ liệu có cấu trúc phẳng được AWS DMS hoặc Amazon AppFlow phân phối trực tiếp vào các bảng dàn dựng của Amazon Redshift

  • Dữ liệu được lưu trữ trong hồ dữ liệu sử dụng các định dạng tệp nguồn mở như JSON, Avro, Parquet và ORC

Đối với các bước làm giàu dữ liệu, các chu trình này có thể bao gồm các câu lệnh SQL nối các bảng kích thước nội bộ với các bảng dữ liệu lớn được lưu trữ trong hồ dữ liệu S3 (sử dụng lớp Redshift Spectrum). Bước cuối cùng, các chu trình xử lý dữ liệu có thể chèn dữ liệu đã được sắp xếp, làm giàu và được mô hình hóa vào bảng nội bộ của Amazon Redshift hoặc bảng bên ngoài được lưu trữ trong Amazon S3.


Xử lý dữ liệu lớn

Để xử lý tích hợp khối lượng lớn dữ liệu bán cấu trúc, phi cấu trúc hoặc có cấu trúc cao được lưu trữ trên lớp lưu trữ Lake House (Amazon S3 và Amazon Redshift), bạn có thể xây dựng các công việc xử lý dữ liệu lớn bằng Apache Spark và chạy chúng trên AWS Glue hoặc Amazon EMR. Những công việc này có thể sử dụng các trình kết nối nguồn mở cũng như gốc của Spark để truy cập và kết hợp dữ liệu quan hệ được lưu trữ trong Amazon Redshift với dữ liệu có cấu trúc phân cấp hoặc phẳng phức tạp được lưu trữ trong Amazon S3. Những công việc tương tự này có thể lưu trữ các tập dữ liệu đã xử lý trở lại hồ dữ liệu S3, kho dữ liệu Amazon Redshift hoặc cả hai trong lớp lưu trữ Lake House.


Bạn cũng có thể tự động chia tỷ lệ các cụm EMR để đáp ứng các nhu cầu tài nguyên khác nhau của các đường ống xử lý dữ liệu lớn có thể xử lý lên đến petabyte dữ liệu. Các chu trình này có thể sử dụng các nhóm Phiên bản Spot của Amazon Elastic Compute Cloud (Amazon EC2) khác nhau để mở rộng quy mô theo cách tối ưu hóa chi phí cao.

Các chu trình xử lý dữ liệu dựa trên Spark chạy Amazon EMR có thể sử dụng như sau:

  • Trình đọc và người viết tích hợp của Spark để xử lý các tập dữ liệu được lưu trữ trong hồ dữ liệu ở nhiều định dạng nguồn mở khác nhau

  • Đầu nối Spark-Amazon Redshift mã nguồn mở để trực tiếp đọc và ghi dữ liệu trong kho dữ liệu Amazon Redshift

Để đọc lược đồ của các bộ dữ liệu có cấu trúc phức tạp được lưu trữ trên hồ dữ liệu, các công việc Spark ETL trên Amazon EMR có thể kết nối với danh mục Lake Formation. Điều này được thiết lập với khả năng tương thích AWS Glue và các chính sách AWS Identity and Access Management (IAM) được thiết lập để cấp phép riêng biệt quyền truy cập vào các bảng AWS Glue và các đối tượng S3 bên dưới. Các công việc Spark tương tự có thể sử dụng trình kết nối Spark-Amazon Redshift để đọc cả dữ liệu và lược đồ của bộ dữ liệu được lưu trữ trên Amazon Redshift. Bạn có thể sử dụng Spark và Apache Hudi để xây dựng các chu trình xử lý dữ liệu gia tăng hiệu suất cao Amazon EMR.


ETL gần thời gian thực

Để bật một số trường hợp sử dụng phân tích hiện đại, bạn cần thực hiện các hành động sau, tất cả trong thời gian gần thực:

  • Nhập khối lượng lớn dữ liệu truyền trực tuyến hoặc tần số cao

  • Xác thực, làm sạch và làm phong phú thêm dữ liệu

  • Chuẩn bị sẵn sàng để tiêu thụ trong kho lưu trữ của Lake House

Bạn có thể xây dựng các chu trình mà dễ dàng mở rộng quy mô để xử lý khối lượng lớn dữ liệu trong thời gian gần thực bằng cách sử dụng một trong các cách sau:

  • Phân tích dữ liệu Amazon Kinesis cho SQL / Flink

  • Phát trực tuyến Spark trên AWS Glue hoặc Amazon EMR

  • Kinesis Data Firehose được tích hợp với AWS Lambda


Kinesis Data Analytics, AWS Glue và Kinesis Data Firehose cho phép bạn xây dựng các chu trình xử lý dữ liệu gần thời gian thực mà không cần phải tạo hoặc quản lý cơ sở hạ tầng máy tính. Các chu trình Kinesis Data Firehose và Kinesis Data Analytics mở rộng quy mô một cách đàn hồi để phù hợp với thông lượng của nguồn, trong khi các công việc phát trực tuyến Spark dựa trên Amazon EMR và AWS Glue có thể được thu nhỏ trong vài phút bằng cách chỉ định các thông số tỷ lệ.


Với khả năng cung cấp dữ liệu tới Amazon S3 cũng như Amazon Redshift, Kinesis Data Firehose cung cấp giao diện bộ lưu trữ Lake House thống nhất cho các đường ống ETL gần thời gian thực trong lớp xử lý. Trên Amazon S3, Kinesis Data Firehose có thể lưu trữ dữ liệu trong các tệp Parquet hoặc ORC hiệu quả được nén bằng codec mã nguồn mở như ZIP, GZIP và Snappy.


Lớp tiêu thụ dữ liệu

Kiến trúc tham chiếu Lake House phân chia việc tiêu thụ dữ liệu trên các kiểu hình khác nhau bằng cách cung cấp các dịch vụ AWS phù hợp với nhiều trường hợp sử dụng phân tích khác nhau, chẳng hạn như truy vấn SQL tương tác, BI và ML. Các dịch vụ này sử dụng giao diện Lake House thống nhất để truy cập tất cả dữ liệu và siêu dữ liệu được lưu trữ trên Amazon S3, Amazon Redshift và danh mục Lake Formation. Chúng có thể sử dụng dữ liệu quan hệ phẳng được lưu trữ trong bảng Amazon Redshift cũng như dữ liệu có cấu trúc hoặc không có cấu trúc phẳng hoặc phức tạp được lưu trữ trong các đối tượng S3 bằng cách sử dụng các định dạng tệp mở như JSON, Avro, Parquet và ORC.


SQL tương tác

Để khám phá tất cả dữ liệu được lưu trữ trong bộ lưu trữ Lake House bằng cách sử dụng SQL tương tác, các nhà phân tích kinh doanh và nhà khoa học dữ liệu có thể sử dụng Amazon Redshift (với Redshift Spectrum) hoặc Athena. Bạn có thể chạy các truy vấn SQL kết hợp dữ liệu thứ nguyên phẳng, quan hệ, có cấu trúc, được lưu trữ trong một cụm Amazon Redshift, với hàng terabyte dữ liệu dữ liệu lịch sử có cấu trúc phẳng hoặc phức tạp trong Amazon S3, được lưu trữ bằng các định dạng tệp mở như JSON, Avro, Parquet, và ORC. Khi truy vấn tập dữ liệu trong Amazon S3, cả Athena và Redshift Spectrum đều tìm nạp giản đồ được lưu trữ trong danh mục Lake Formation và áp dụng nó khi đọc (schema-on-read). Bạn có thể chạy các truy vấn Athena hoặc Amazon Redshift trên bảng điều khiển tương ứng của chúng hoặc có thể gửi chúng tới các điểm cuối JDBC hoặc ODBC.


Máy học (Machine Learning - ML)

Thông thường, các nhà khoa học dữ liệu cần khám phá, tìm hiểu và xây dựng tính năng cho một loạt các bộ dữ liệu có cấu trúc và phi cấu trúc để chuẩn bị cho việc đào tạo các mô hình ML. Giao diện Lake House (giao diện SQL tương tác sử dụng Amazon Redshift với giao diện Athena và Spark) đơn giản hóa và đẩy nhanh các bước chuẩn bị dữ liệu này bằng cách cung cấp cho các nhà khoa học dữ liệu những điều sau:


  • Danh mục Lake Formation hợp nhất để tìm kiếm và khám phá tất cả dữ liệu được lưu trữ trong bộ nhớ Lake House

  • Khả năng tương tác SQL dựa trên Amazon Redshift SQL và Athena để truy cập, khám phá và chuyển đổi tất cả dữ liệu trong bộ lưu trữ Lake House

  • Quyền truy cập dựa trên Spark hợp nhất để bao quát và chuyển đổi tất cả các tập dữ liệu được lưu trữ trên bộ nhớ lưu trữ của Lake House (có cấu trúc cũng như không có cấu trúc) và biến chúng thành các tập hợp tính năng

Sau đó, các nhà khoa học dữ liệu phát triển, đào tạo và triển khai các mô hình ML bằng cách kết nối Amazon SageMaker với lớp lưu trữ Lake House và truy cập các bộ tính năng đào tạo.


Business Intelligence

Amazon QuickSight cung cấp khả năng không cần máy chủ để dễ dàng tạo và xuất bản các bảng điều khiển BI tương tác phong phú. Các nhà phân tích kinh doanh có thể sử dụng giao diện SQL tương tác Athena hoặc Amazon Redshift để cấp nguồn cho bảng điều khiển QuickSight với dữ liệu trong bộ nhớ Lake House. Ngoài ra, bạn có thể tạo nguồn dữ liệu bằng cách kết nối QuickSight trực tiếp với cơ sở dữ liệu hoạt động như MS SQL, Postgres và các ứng dụng SaaS như Salesforce, Square và ServiceNow. Để đạt được hiệu suất cực nhanh cho trang tổng quan, QuickSight cung cấp một công cụ tính toán và lưu vào bộ nhớ đệm trong bộ nhớ được gọi là SPICE. SPICE tự động sao chép dữ liệu để có tính khả dụng cao và cho phép hàng nghìn người dùng đồng thời thực hiện phân tích nhanh, tương tác trong khi bảo vệ cơ sở hạ tầng dữ liệu cơ bản của bạn.


QuickSight làm phong phú thêm các trang tổng quan và hình ảnh với thông tin chi tiết ML độc đáo, được tạo tự động, chẳng hạn như dự báo, phát hiện bất thường và điểm nổi bật tường thuật. QuickSight tích hợp nguyên bản với SageMaker để cho phép bổ sung thông tin chi tiết dựa trên mô hình ML tùy chỉnh bổ sung vào bảng điều khiển BI của bạn. Bạn có thể truy cập trang tổng quan QuickSight từ bất kỳ thiết bị nào bằng ứng dụng QuickSight hoặc nhúng trang tổng quan vào các ứng dụng web, cổng thông tin và trang web. QuickSight tự động mở rộng quy mô đến hàng chục nghìn người dùng và cung cấp mô hình định giá trả cho mỗi phiên hiệu quả về chi phí.


Phần kết luận

Kiến trúc Lake House, được xây dựng trên danh mục các dịch vụ được xây dựng theo mục đích, sẽ giúp bạn nhanh chóng nhận được thông tin chi tiết từ tất cả dữ liệu của bạn, cho tất cả người dùng của bạn và sẽ cho phép bạn dễ dàng thêm các phương pháp và công nghệ phân tích mới khi chúng khả dụng.


Trong bài đăng này, chúng tôi đã mô tả một số dịch vụ AWS được xây dựng theo mục đích mà bạn có thể sử dụng để tạo năm lớp của Kiến trúc Lake House. Chúng tôi đã giới thiệu nhiều tùy chọn để chứng minh tính linh hoạt và khả năng phong phú được cung cấp bởi dịch vụ AWS phù hợp cho công việc phù hợp. Nếu bạn vẫn còn đang băn khoăn về việc xây dựng riêng cho doanh nghiệp của mình một kiến trúc Lake House, hãy liên hệ OSAM ngay hôm nay để được tư vấn! Các Kiến trúc sư Giải pháp giàu kinh nghiệm của chúng tôi sẽ giúp bạn đánh giá lại hệ thống và cơ sở dữ liệu, đưa cho bạn một giải pháp hợp lý và hiệu quả nhất để xây dựng Lake House cho riêng mình.


Nguồn: Build a Lake House Architecture on AWS [online]. Xem tại: https://aws.amazon.com/blogs/big-data/build-a-lake-house-architecture-on-aws/


108 lượt xem1 bình luận