Logo Zephyrnet

Thông báo về tính năng lọc dữ liệu để tích hợp zero-ETL của Amazon Aurora MySQL với Amazon Redshift | Dịch vụ web của Amazon

Ngày:

Khi tổ chức của bạn sử dụng dữ liệu nhiều hơn và sử dụng dữ liệu làm nguồn lợi thế cạnh tranh, bạn sẽ muốn chạy phân tích trên dữ liệu của mình để hiểu rõ hơn các động lực kinh doanh cốt lõi nhằm tăng doanh thu, giảm chi phí và tối ưu hóa doanh nghiệp của mình. Để chạy phân tích trên dữ liệu vận hành của mình, bạn có thể xây dựng một giải pháp là sự kết hợp giữa cơ sở dữ liệu, kho dữ liệu và quy trình trích xuất, chuyển đổi và tải (ETL). ETL là quy trình mà các kỹ sư dữ liệu sử dụng để kết hợp dữ liệu từ các nguồn khác nhau.

Để giảm bớt nỗ lực liên quan đến việc xây dựng và duy trì quy trình ETL giữa cơ sở dữ liệu giao dịch và kho dữ liệu, AWS đã công bố Tích hợp zero-ETL của Amazon Aurora với Amazon Redshift at AWS lại: Phát minh 2022 và hiện có sẵn rộng rãi (GA) cho Amazon Aurora Phiên bản tương thích với MySQL 3.05.0.

AWS hiện đang công bố tính năng lọc dữ liệu trên các tích hợp không ETL, cho phép bạn đưa dữ liệu có chọn lọc từ phiên bản cơ sở dữ liệu về tích hợp không ETL giữa Amazon Aurora MySQL và Amazon RedShift. Tính năng này cho phép bạn chọn các cơ sở dữ liệu và bảng riêng lẻ để sao chép vào kho dữ liệu Redshift của mình cho các trường hợp sử dụng phân tích.

Trong bài đăng này, chúng tôi cung cấp thông tin tổng quan về các trường hợp sử dụng mà bạn có thể sử dụng tính năng này và cung cấp hướng dẫn từng bước về cách bắt đầu phân tích hoạt động gần thời gian thực bằng tính năng này.

Các trường hợp sử dụng lọc dữ liệu

Lọc dữ liệu cho phép bạn chọn cơ sở dữ liệu và bảng để sao chép từ Amazon Aurora MySQL sang Amazon Redshift. Bạn có thể áp dụng nhiều bộ lọc cho tích hợp zero-ETL, cho phép bạn điều chỉnh sao chép theo nhu cầu cụ thể của mình. Lọc dữ liệu áp dụng hoặc exclude or include quy tắc lọc và có thể sử dụng biểu thức chính quy để khớp với nhiều cơ sở dữ liệu và bảng.

Trong phần này, chúng tôi thảo luận về một số trường hợp sử dụng phổ biến để lọc dữ liệu.

Cải thiện bảo mật dữ liệu bằng cách loại trừ các bảng chứa dữ liệu PII khỏi bản sao

Cơ sở dữ liệu hoạt động thường chứa thông tin nhận dạng cá nhân (PII). Đây là thông tin có tính chất nhạy cảm và có thể bao gồm các thông tin như địa chỉ gửi thư, tài liệu xác minh khách hàng hoặc thông tin thẻ tín dụng.

Do các quy định tuân thủ bảo mật nghiêm ngặt, bạn có thể không muốn sử dụng PII cho các trường hợp sử dụng phân tích của mình. Lọc dữ liệu cho phép bạn lọc ra các cơ sở dữ liệu hoặc bảng chứa dữ liệu PII, loại trừ chúng khỏi việc sao chép sang Amazon Redshift. Điều này cải thiện tính bảo mật dữ liệu và tuân thủ khối lượng công việc phân tích.

Tiết kiệm chi phí lưu trữ và quản lý khối lượng công việc phân tích bằng cách sao chép các bảng cần thiết cho các trường hợp sử dụng cụ thể

Cơ sở dữ liệu hoạt động thường chứa nhiều bộ dữ liệu khác nhau không hữu ích cho việc phân tích. Điều này bao gồm dữ liệu bổ sung, dữ liệu ứng dụng cụ thể và nhiều bản sao của cùng một tập dữ liệu cho các ứng dụng khác nhau.

Hơn nữa, việc xây dựng các trường hợp sử dụng khác nhau trên các kho Redshift khác nhau là điều bình thường. Kiến trúc này yêu cầu các bộ dữ liệu khác nhau phải có sẵn ở các điểm cuối riêng lẻ.

Lọc dữ liệu cho phép bạn chỉ sao chép các tập dữ liệu cần thiết cho trường hợp sử dụng của mình. Điều này có thể tiết kiệm chi phí bằng cách loại bỏ nhu cầu lưu trữ dữ liệu không được sử dụng.

Bạn cũng có thể sửa đổi các tích hợp zero-ETL hiện có để áp dụng sao chép dữ liệu hạn chế hơn nếu muốn. Nếu bạn thêm bộ lọc dữ liệu vào tiện ích tích hợp hiện có, Aurora sẽ đánh giá lại đầy đủ dữ liệu được sao chép bằng bộ lọc mới. Thao tác này sẽ xóa dữ liệu mới được lọc khỏi điểm cuối Redshift mục tiêu.

Để biết thêm thông tin về hạn mức tích hợp Aurora zero-ETL với Amazon Redshift, hãy tham khảo Hạn ngạch.

Bắt đầu với việc sao chép dữ liệu nhỏ và dần dần thêm các bảng theo yêu cầu

Khi nhiều trường hợp sử dụng phân tích được phát triển trên Amazon Redshift, bạn có thể muốn thêm nhiều bảng hơn vào một bản sao không ETL riêng lẻ. Thay vì sao chép tất cả các bảng sang Amazon Redshift để đáp ứng cơ hội sử dụng chúng trong tương lai, tính năng lọc dữ liệu cho phép bạn bắt đầu từ quy mô nhỏ với một tập hợp con các bảng từ cơ sở dữ liệu Aurora của bạn và dần dần thêm nhiều bảng hơn vào bộ lọc khi cần thiết .

Sau khi cập nhật bộ lọc dữ liệu trên tích hợp không ETL, Aurora sẽ đánh giá lại toàn bộ bộ lọc như thể bộ lọc trước đó không tồn tại, do đó khối lượng công việc sử dụng các bảng được sao chép trước đó không bị ảnh hưởng khi thêm bảng mới.

Cải thiện hiệu suất khối lượng công việc cá nhân bằng các quy trình sao chép cân bằng tải

Đối với cơ sở dữ liệu giao dịch lớn, bạn có thể cần cân bằng tải trong quá trình sao chép và mọi hoạt động xử lý xuôi dòng sang nhiều cụm Redshift để cho phép giảm yêu cầu điện toán cho một điểm cuối Redshift riêng lẻ và khả năng phân chia khối lượng công việc thành nhiều điểm cuối. Bằng cách cân bằng tải khối lượng công việc trên nhiều điểm cuối Redshift, bạn có thể tạo kiến ​​trúc lưới dữ liệu một cách hiệu quả, trong đó các điểm cuối có kích thước phù hợp cho từng khối lượng công việc. Điều này có thể cải thiện hiệu suất và giảm chi phí tổng thể.

Lọc dữ liệu cho phép bạn sao chép các cơ sở dữ liệu và bảng khác nhau để phân tách các điểm cuối Redshift.

Hình sau đây cho thấy cách bạn có thể sử dụng các bộ lọc dữ liệu trên các tích hợp không ETL để phân chia các cơ sở dữ liệu khác nhau trong Aurora nhằm phân tách các điểm cuối Redshift.

Trường hợp sử dụng ví dụ

Xem xét cơ sở dữ liệu. Cơ sở dữ liệu mẫu TICKIT chứa dữ liệu từ một công ty hư cấu nơi người dùng có thể mua và bán vé cho nhiều sự kiện khác nhau. Các nhà phân tích kinh doanh của công ty muốn sử dụng dữ liệu được lưu trữ trong cơ sở dữ liệu Aurora MySQL của họ để tạo ra nhiều số liệu khác nhau và muốn thực hiện phân tích này trong thời gian gần như thực. Vì lý do này, công ty đã xác định zero-ETL là một giải pháp tiềm năng.

Trong suốt quá trình điều tra các tập dữ liệu được yêu cầu, các nhà phân tích của công ty lưu ý rằng bảng người dùng chứa thông tin cá nhân về thông tin người dùng khách hàng của họ và thông tin này không hữu ích cho các yêu cầu phân tích của họ. Do đó, họ muốn sao chép tất cả dữ liệu ngoại trừ bảng người dùng và sẽ sử dụng tính năng lọc dữ liệu của zero-ETL để làm điều đó.

Thành lập

Bắt đầu bằng cách làm theo các bước trong Hướng dẫn bắt đầu phân tích hoạt động gần thời gian thực bằng cách sử dụng tích hợp zero-ETL của Amazon Aurora với Amazon Redshift để tạo cơ sở dữ liệu Aurora MySQL mới, Amazon Redshift không có máy chủ điểm cuối và tích hợp zero-ETL. Sau đó, mở trình soạn thảo truy vấn Redshift v2 và chạy truy vấn sau để hiển thị rằng dữ liệu từ bảng người dùng đã được sao chép thành công:

select * from aurora_zeroetl.demodb.users;

Bộ lọc dữ liệu

Bộ lọc dữ liệu được áp dụng trực tiếp vào việc tích hợp zero-ETL trên Dịch vụ cơ sở dữ liệu quan hệ của Amazon (Amazon RDS). Bạn có thể xác định nhiều bộ lọc cho một tích hợp duy nhất và mỗi bộ lọc được xác định là một Include or Exclude tuýt lọc. Bộ lọc dữ liệu áp dụng mẫu cho các bảng cơ sở dữ liệu hiện tại và tương lai để xác định bộ lọc nào sẽ được áp dụng.

Áp dụng bộ lọc dữ liệu

Để áp dụng bộ lọc để loại bỏ users table khỏi quá trình tích hợp zero-ETL, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon RDS, chọn Tích hợp Zero-ETL trong khung điều hướng.
  2. Chọn tích hợp zero-ETL để thêm bộ lọc vào.

Bộ lọc mặc định bao gồm tất cả các cơ sở dữ liệu và bảng biểu diễn bởi một include:*.* lọc.

  1. Chọn Sửa đổi.
  2. Chọn Thêm bộ lọc trong nguồn phần.
  3. Trong Chọn loại bộ lọc, chọn Loại trừ.
  4. Trong Lọc biểu thức, nhập biểu thức demodb.users.

Thứ tự biểu thức lọc quan trọng. Các bộ lọc được đánh giá từ trái sang phải, từ trên xuống dưới và các bộ lọc tiếp theo sẽ ghi đè các bộ lọc trước đó. Trong ví dụ này, Aurora sẽ đánh giá rằng mọi bảng nên được đưa vào (bộ lọc 1) và sau đó đánh giá rằng demodb.users bảng nên được loại trừ (bộ lọc 2). Do đó, bộ lọc loại trừ sẽ ghi đè phần bao gồm vì nó nằm sau bộ lọc bao gồm.

  1. Chọn Tiếp tục.
  2. Xem lại các thay đổi, đảm bảo rằng thứ tự của các bộ lọc là chính xác và chọn Lưu các thay đổi.

Việc tích hợp sẽ được thêm vào và sẽ ở dạng Sửa đổi trạng thái cho đến khi các thay đổi được áp dụng. Việc này có thể mất tới 30 phút. Để kiểm tra xem các thay đổi đã áp dụng xong hay chưa, hãy chọn tích hợp zero-ETL và kiểm tra trạng thái của nó. Khi nó hiển thị như hoạt động, những thay đổi đã được áp dụng.

Xác minh sự thay đổi

Để xác minh việc tích hợp zero-ETL đã được cập nhật, hãy hoàn thành các bước sau:

  1. Trong trình soạn thảo truy vấn Redshift v2, hãy kết nối với cụm Redshift của bạn.
  2. Chọn (click chuột phải) vào aurora-zeroetl cơ sở dữ liệu bạn đã tạo và chọn Refresh.
  3. Mở rộng demodbTables.

Sản phẩm users bảng không còn khả dụng vì nó đã bị xóa khỏi bản sao. Tất cả các bảng khác vẫn có sẵn.

  1. Nếu bạn chạy cùng một câu lệnh SELECT trước đó, bạn sẽ nhận được lỗi cho biết đối tượng không tồn tại trong cơ sở dữ liệu:
    select * from aurora_zeroetl.demodb.users;

Áp dụng bộ lọc dữ liệu bằng AWS CLI

Các nhà phân tích kinh doanh của công ty hiện hiểu rằng ngày càng có nhiều cơ sở dữ liệu được thêm vào cơ sở dữ liệu Aurora MySQL và họ chỉ muốn đảm bảo demodb cơ sở dữ liệu được sao chép vào cụm Redshift của họ. Để đạt được mục đích này, họ muốn cập nhật các bộ lọc về tích hợp zero-ETL với Giao diện dòng lệnh AWS (AWS CLI).

Để thêm bộ lọc dữ liệu vào tích hợp không ETL bằng AWS CLI, bạn có thể gọi sửa đổi-tích hợp yêu cầu. Ngoài mã định danh tích hợp, hãy chỉ định --data-filter tham số với danh sách được phân tách bằng dấu phẩy includeexclude bộ lọc.

Hoàn thành các bước sau để thay đổi bộ lọc khi tích hợp zero-ETL:

  1. Mở một thiết bị đầu cuối đã cài đặt AWS CLI.
  2. Nhập lệnh sau để liệt kê tất cả các tích hợp có sẵn:
    aws rds describe-integrations

  3. Tìm tiện ích tích hợp bạn muốn cập nhật và sao chép mã định danh tích hợp.

Mã định danh tích hợp là một chuỗi chữ và số ở cuối ARN tích hợp.

  1. Chạy lệnh sau, cập nhật với mã định danh được sao chép từ bước trước:
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'

Khi Aurora đánh giá bộ lọc này, theo mặc định, Aurora sẽ loại trừ mọi thứ, sau đó chỉ bao gồm demodb cơ sở dữ liệu, nhưng loại trừ demodb.users bảng.

Bộ lọc dữ liệu có thể triển khai các biểu thức chính quy cho cơ sở dữ liệu và bảng. Ví dụ: nếu bạn muốn lọc bất kỳ bảng nào bắt đầu bằng user, bạn có thể chạy như sau:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

Giống như lần thay đổi bộ lọc trước đó, việc tích hợp sẽ được thêm vào và sẽ ở dạng Sửa đổi trạng thái cho đến khi các thay đổi được áp dụng. Việc này có thể mất tới 30 phút. Khi nó hiển thị như hoạt động, những thay đổi đã được áp dụng.

Làm sạch

Để xóa bộ lọc được thêm vào tích hợp zero-ETL, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon RDS, chọn Tích hợp Zero-ETL trong khung điều hướng.
  2. Chọn tích hợp không ETL của bạn.
  3. Chọn Sửa đổi.
  4. Chọn Hủy bỏ bên cạnh các bộ lọc bạn muốn xóa.
  5. Bạn cũng có thể thay đổi Loại trừ loại bộ lọc để Bao gồm.

Ngoài ra, bạn có thể sử dụng AWS CLI để chạy các tác vụ sau:

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'

  1. Chọn Tiếp tục.
  2. Chọn Lưu các thay đổi.

Bộ lọc dữ liệu sẽ mất tối đa 30 phút để áp dụng các thay đổi. Sau khi bạn xóa bộ lọc dữ liệu, Aurora sẽ đánh giá lại các bộ lọc còn lại như thể bộ lọc đã xóa chưa từng tồn tại. Bất kỳ dữ liệu nào trước đây không khớp với tiêu chí lọc nhưng bây giờ đã được sao chép vào kho dữ liệu Redshift mục tiêu.

Kết luận

Trong bài đăng này, chúng tôi đã hướng dẫn bạn cách thiết lập tính năng lọc dữ liệu trên tích hợp Aurora zero-ETL từ Amazon Aurora MySQL sang Amazon Redshift. Điều này cho phép bạn kích hoạt phân tích gần thời gian thực trên dữ liệu giao dịch và hoạt động trong khi chỉ sao chép dữ liệu cần thiết.

Với tính năng lọc dữ liệu, bạn có thể chia khối lượng công việc thành các điểm cuối Redshift riêng biệt, hạn chế sao chép các tập dữ liệu riêng tư hoặc bí mật, đồng thời tăng hiệu suất của khối lượng công việc bằng cách chỉ sao chép các tập dữ liệu cần thiết.

Để tìm hiểu thêm về tích hợp Aurora zero-ETL với Amazon Redshift, hãy xem Làm việc với tích hợp Aurora zero-ETL với Amazon RedshiftLàm việc với tích hợp zero-ETL.


Giới thiệu về tác giả

Jyoti Aggarwal là Trưởng nhóm quản lý sản phẩm cho AWS zero-ETL. Cô lãnh đạo chiến lược kinh doanh và sản phẩm, bao gồm thúc đẩy các sáng kiến ​​về hiệu suất, trải nghiệm khách hàng và bảo mật. Cô mang theo chuyên môn về điện toán đám mây, đường dẫn dữ liệu, phân tích, trí tuệ nhân tạo (AI) và các dịch vụ dữ liệu bao gồm cơ sở dữ liệu, kho dữ liệu và hồ dữ liệu.


Sean Beath
là Kiến trúc sư giải pháp phân tích tại Amazon Web Services. Anh có kinh nghiệm trong toàn bộ vòng đời phân phối hiện đại hóa nền tảng dữ liệu bằng dịch vụ AWS và làm việc với khách hàng để giúp nâng cao giá trị phân tích trên AWS.

Gokul Soundararajan là kỹ sư chính tại AWS và nhận bằng Tiến sĩ từ Đại học Toronto và đã làm việc trong các lĩnh vực lưu trữ, cơ sở dữ liệu và phân tích.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img