Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Bất kỳ hoạt động dữ liệu lớn nào cũng đòi hỏi rất nhiều sức mạnh tính toán. Một quá trình di chuyển dữ liệu thông thường từ cơ sở dữ liệu sang Hadoop có thể mất vài tuần hoặc tốn kém như một cánh máy bay. Bạn không muốn chờ đợi và tiêu tiền? Cân bằng tải trên các nền tảng khác nhau. Một cách là tối ưu hóa đẩy xuống.

Tôi đã nhờ huấn luyện viên hàng đầu của Nga về phát triển và quản lý các sản phẩm Informatica, Alexey Ananyev, nói về chức năng tối ưu hóa đẩy xuống trong Quản lý dữ liệu lớn Informatica (BDM). Bạn đã bao giờ học cách làm việc với các sản phẩm Informatica chưa? Rất có thể, chính Alexey là người đã kể cho bạn những kiến ​​thức cơ bản về PowerCenter và giải thích cách xây dựng bản đồ.

Alexey Ananyev, trưởng phòng đào tạo tại DIS Group

Đẩy xuống là gì?

Nhiều bạn đã quen thuộc với Quản lý dữ liệu lớn Informatica (BDM). Sản phẩm có thể tích hợp dữ liệu lớn từ nhiều nguồn khác nhau, di chuyển nó giữa các hệ thống khác nhau, cung cấp quyền truy cập dễ dàng vào dữ liệu đó, cho phép bạn lập hồ sơ dữ liệu đó và hơn thế nữa.
Với người phù hợp, BDM có thể làm nên điều kỳ diệu: các nhiệm vụ sẽ được hoàn thành nhanh chóng và sử dụng ít tài nguyên máy tính.

Bạn có muốn điều đó không? Tìm hiểu cách sử dụng tính năng đẩy xuống trong BDM để phân phối tải tính toán trên các nền tảng khác nhau. Công nghệ đẩy xuống cho phép bạn biến ánh xạ thành tập lệnh và chọn môi trường mà tập lệnh này sẽ chạy. Lựa chọn này cho phép bạn kết hợp điểm mạnh của các nền tảng khác nhau và đạt được hiệu suất tối đa của chúng.

Để định cấu hình môi trường thực thi tập lệnh, bạn cần chọn loại đẩy xuống. Tập lệnh có thể được chạy hoàn toàn trên Hadoop hoặc được phân phối một phần giữa nguồn và phần chìm. Có 4 loại đẩy xuống có thể. Ánh xạ không cần phải được chuyển thành tập lệnh (gốc). Việc ánh xạ có thể được thực hiện nhiều nhất có thể trên nguồn (nguồn) hoặc hoàn toàn trên nguồn (đầy đủ). Ánh xạ cũng có thể được chuyển thành tập lệnh Hadoop (không có).

Tối ưu hóa đẩy xuống

4 loại được liệt kê có thể được kết hợp theo nhiều cách khác nhau - tính năng đẩy xuống có thể được tối ưu hóa cho các nhu cầu cụ thể của hệ thống. Ví dụ, việc trích xuất dữ liệu từ cơ sở dữ liệu bằng khả năng của chính cơ sở dữ liệu đó thường thích hợp hơn. Và dữ liệu sẽ được chuyển đổi bằng Hadoop để không làm cơ sở dữ liệu bị quá tải.

Hãy xem xét trường hợp cả nguồn và đích đều nằm trong cơ sở dữ liệu và có thể chọn nền tảng thực thi chuyển đổi: tùy thuộc vào cài đặt, đó sẽ là Informatica, máy chủ cơ sở dữ liệu hoặc Hadoop. Một ví dụ như vậy sẽ cho phép bạn hiểu chính xác nhất khía cạnh kỹ thuật hoạt động của cơ chế này. Đương nhiên, trong cuộc sống thực, tình huống này không xảy ra nhưng nó phù hợp nhất để thể hiện chức năng.

Hãy ánh xạ để đọc hai bảng trong một cơ sở dữ liệu Oracle. Và để kết quả đọc được ghi vào một bảng trong cùng cơ sở dữ liệu. Sơ đồ lập bản đồ sẽ như thế này:

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Ở dạng ánh xạ trên Informatica BDM 10.2.1 nó trông như thế này:

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Loại đẩy xuống - gốc

Nếu chúng ta chọn kiểu gốc đẩy xuống thì việc ánh xạ sẽ được thực hiện trên máy chủ Informatica. Dữ liệu sẽ được đọc từ máy chủ Oracle, được chuyển đến máy chủ Informatica, được chuyển đổi ở đó và chuyển sang Hadoop. Nói cách khác, chúng ta sẽ có được một quy trình ETL bình thường.

Loại đẩy xuống - nguồn

Khi chọn loại nguồn, chúng tôi có cơ hội phân phối quy trình của mình giữa máy chủ cơ sở dữ liệu (DB) và Hadoop. Khi một quy trình được thực thi với cài đặt này, các yêu cầu truy xuất dữ liệu từ các bảng sẽ được gửi đến cơ sở dữ liệu. Và phần còn lại sẽ được thực hiện dưới dạng các bước trên Hadoop.
Sơ đồ thực hiện sẽ trông như thế này:

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Dưới đây là một ví dụ về thiết lập môi trường thời gian chạy.

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Trong trường hợp này, việc ánh xạ sẽ được thực hiện theo hai bước. Trong cài đặt của nó, chúng ta sẽ thấy rằng nó đã biến thành một tập lệnh sẽ được gửi đến nguồn. Hơn nữa, việc kết hợp các bảng và chuyển đổi dữ liệu sẽ được thực hiện dưới dạng truy vấn ghi đè trên nguồn.
Trong hình bên dưới, chúng ta thấy ánh xạ được tối ưu hóa trên BDM và truy vấn được xác định lại trên nguồn.

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Vai trò của Hadoop trong cấu hình này sẽ giảm xuống còn việc quản lý luồng dữ liệu - điều phối nó. Kết quả truy vấn sẽ được gửi tới Hadoop. Sau khi quá trình đọc hoàn tất, tệp từ Hadoop sẽ được ghi vào bồn chứa.

Loại đẩy xuống - đầy đủ

Khi bạn chọn loại đầy đủ, ánh xạ sẽ hoàn toàn chuyển thành truy vấn cơ sở dữ liệu. Và kết quả của yêu cầu sẽ được gửi tới Hadoop. Một sơ đồ của một quá trình như vậy được trình bày dưới đây.

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Một thiết lập ví dụ được hiển thị dưới đây.

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Kết quả là chúng ta sẽ có được ánh xạ được tối ưu hóa tương tự như ánh xạ trước đó. Sự khác biệt duy nhất là tất cả logic được truyền đến bộ thu dưới dạng ghi đè phần chèn của nó. Một ví dụ về ánh xạ được tối ưu hóa được trình bày dưới đây.

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Ở đây, như trong trường hợp trước, Hadoop đóng vai trò là người chỉ huy. Nhưng ở đây, nguồn được đọc toàn bộ và sau đó logic xử lý dữ liệu được thực hiện ở cấp độ máy thu.

Loại đẩy xuống là null

Chà, tùy chọn cuối cùng là loại đẩy xuống, trong đó ánh xạ của chúng ta sẽ biến thành tập lệnh Hadoop.

Ánh xạ được tối ưu hóa bây giờ sẽ trông như thế này:

Làm thế nào để di chuyển, tải lên và tích hợp dữ liệu rất lớn với giá rẻ và nhanh chóng? Tối ưu hóa đẩy xuống là gì?

Ở đây, dữ liệu từ các tệp nguồn trước tiên sẽ được đọc trên Hadoop. Sau đó, bằng cách riêng của mình, hai tập tin này sẽ được kết hợp lại. Sau đó, dữ liệu sẽ được chuyển đổi và tải lên cơ sở dữ liệu.

Bằng cách hiểu các nguyên tắc tối ưu hóa kéo xuống, bạn có thể tổ chức rất hiệu quả nhiều quy trình làm việc với dữ liệu lớn. Do đó, gần đây, chỉ trong vài tuần, một công ty lớn đã tải dữ liệu lớn từ bộ lưu trữ xuống Hadoop mà trước đó họ đã thu thập được trong vài năm.

Nguồn: www.habr.com

Thêm một lời nhận xét