Tin tức và phân tích của tất cả các thiết bị di động

Giải phóng sức mạnh của công cụ ETL cho AWS

ETL là viết tắt của trích xuất, chuyển đổi và tải. Các công cụ ETL trích xuất dữ liệu từ nhiều nguồn khác nhau và chuyển đổi nó thành định dạng trung gian phù hợp với yêu cầu của hệ thống đích hoặc mô hình dữ liệu. Và cuối cùng, họ tải dữ liệu vào cơ sở dữ liệu đích, kho dữ liệu hoặc thậm chí là hồ dữ liệu.

Tôi nhớ khoảng 15-20 năm trước khi thuật ngữ ETL là thứ mà chỉ một số ít người hiểu được. Khi các công việc hàng loạt tùy chỉnh khác nhau đạt đến đỉnh cao trên phần cứng cục bộ.

Nhiều dự án có một số dạng ETL. Ngay cả khi họ không biết thì họ cũng nên gọi nó là ETL. Vào thời điểm đó, bất cứ khi nào tôi giải thích về bất kỳ dự án nào liên quan đến quy trình ETL, tôi đều gọi chúng và mô tả chúng theo cách đó, nó gần giống như công nghệ thế giới khác, một thứ rất hiếm.

Nhưng hôm nay mọi chuyện đã khác. Ưu tiên là di chuyển lên đám mây. Và các công cụ ETL là một yếu tố rất chiến lược trong kiến ​​trúc của hầu hết các dự án.

Cuối cùng, di chuyển sang đám mây có nghĩa là lấy dữ liệu từ cơ sở làm nguồn và chuyển đổi nó thành cơ sở dữ liệu đám mây ở dạng tương thích với kiến ​​trúc đám mây nhất có thể. Chính xác là công việc của công cụ ETL.

Lịch sử của ETL và cách nó kết nối với hiện tại

Nguồn: aws.amazon.com

Các chức năng chính của ETL luôn giống nhau.

Các công cụ ETL trích xuất dữ liệu từ nhiều nguồn khác nhau (cơ sở dữ liệu, tệp phẳng, dịch vụ web hoặc các ứng dụng dựa trên đám mây gần đây).

Điều này thường có nghĩa là tải xuống các tệp trên hệ thống tệp Unix làm đầu vào và xử lý trước, xử lý và xử lý hậu kỳ.

Bạn có thể thấy mẫu tên thư mục có thể sử dụng lại như:

  • Lối vào
  • Lối ra
  • Sai lầm
  • Lưu trữ

Trong các thư mục này, cũng có cấu trúc thư mục con khác, chủ yếu dựa trên ngày tháng.

Đó chỉ là một cách tiêu chuẩn để xử lý dữ liệu đến và chuẩn bị tải nó vào cơ sở dữ liệu nào đó.

Ngày nay không có hệ thống tệp Unix (không giống như trước đây) – thậm chí có thể không có tệp. Hiện nay đã có API – giao diện lập trình ứng dụng. Bạn có thể có hoặc không có tệp làm định dạng đầu vào của mình.

Tất cả điều này có thể được lưu trữ. Nó vẫn có thể là một tập tin. Dù nó là gì đi nữa, nó phải tuân theo một số định dạng có cấu trúc. Trong hầu hết các trường hợp, điều này có nghĩa là định dạng JSON hoặc XML. Trong một số trường hợp, định dạng CSV cũ tốt (Giá trị được phân tách bằng dấu phẩy) sẽ đủ.

Bạn xác định định dạng đầu vào. Tùy thuộc vào bạn liệu quá trình này có bao gồm việc tạo lịch sử của các tệp đầu vào hay không. Đây không còn là một bước tiêu chuẩn nữa.

Chuyển đổi

Các công cụ ETL chuyển đổi dữ liệu được trích xuất thành định dạng phù hợp để phân tích. Điều này bao gồm làm sạch dữ liệu, xác thực dữ liệu, làm giàu dữ liệu và tổng hợp dữ liệu.

Như thường lệ, dữ liệu đã trải qua logic tùy chỉnh, phức tạp của dàn dữ liệu thủ tục Pro-C hoặc PL/SQL, chuyển đổi dữ liệu và lưu trữ lược đồ dữ liệu đích. Đây là một quy trình tiêu chuẩn bắt buộc tương tự, cũng như việc tách các tệp đến thành các thư mục con dựa trên giai đoạn xử lý tệp.

Tại sao nó lại tự nhiên như vậy khi đồng thời nó cũng sai về cơ bản? Việc chuyển đổi trực tiếp dữ liệu đến mà không được lưu trữ vĩnh viễn dẫn đến mất đi lợi thế lớn nhất của dữ liệu thô – tính bất biến. Các dự án chỉ vứt nó đi mà không có cơ hội xây dựng lại.

Coi như. Ngày nay, bạn thực hiện càng ít chuyển đổi dữ liệu thô thì càng tốt. Đó là, để lưu trữ dữ liệu đầu tiên trong hệ thống. Có lẽ bước tiếp theo sẽ là thay đổi lớn về dữ liệu và chuyển đổi mô hình dữ liệu. Nhưng bạn muốn lưu trữ dữ liệu thô ở cấu trúc nguyên tử và không bị thay đổi nhiều nhất có thể. Thay đổi lớn so với thời gian tại chỗ nếu bạn hỏi tôi.

Trọng tải

Các công cụ ETL tải dữ liệu đã chuyển đổi vào cơ sở dữ liệu đích hoặc kho dữ liệu. Điều này bao gồm việc tạo bảng, xác định mối quan hệ và tải dữ liệu vào các trường thích hợp.

Bước tải có lẽ là bước duy nhất tuân theo cùng một khuôn mẫu trong nhiều thế kỷ. Sự khác biệt duy nhất là cơ sở dữ liệu đích. Trong khi trước đây hầu hết là Oracle thì bây giờ nó có thể là bất cứ thứ gì có sẵn trên đám mây AWS.

ETL trong môi trường đám mây ngày nay

Nếu bạn định di chuyển dữ liệu của mình từ tại chỗ sang đám mây (AWS), bạn cần có công cụ ETL. Bạn không thể làm gì nếu không có nó, đó là lý do tại sao phần kiến ​​trúc đám mây này có lẽ đã trở thành phần quan trọng nhất của câu đố. Nếu bước này sai, mọi thứ khác sẽ theo sau, chia sẻ cùng một mùi hương ở khắp mọi nơi.

Và mặc dù có rất nhiều ngành nghề nhưng tôi sẽ tập trung vào ba ngành nghề mà tôi có kinh nghiệm cá nhân nhiều nhất hiện nay:

  • Dịch vụ di chuyển dữ liệu (DMS) – dịch vụ gốc của AWS.
  • Informatica ETL – có lẽ là công ty thương mại chính trong thế giới ETL, đã chuyển đổi thành công hoạt động kinh doanh của mình từ tại chỗ sang đám mây.
  • Matillion cho AWS – một người chơi tương đối mới trong môi trường đám mây. Không phải bản địa AWS mà là bản địa đám mây. Không có gì giống như một lịch sử có thể so sánh với Informatica.

AWS DMS dưới dạng ETL

Nguồn: aws.amazon.com

Dịch vụ di chuyển dữ liệu AWS (DMS) là dịch vụ được quản lý hoàn toàn cho phép bạn di chuyển dữ liệu từ nhiều nguồn khác nhau sang AWS. Hỗ trợ nhiều kịch bản di chuyển.

  • Di chuyển đồng nhất (ví dụ: Oracle sang Amazon RDS cho Oracle).
  • Di chuyển không đồng nhất (ví dụ: Oracle sang Amazon Rạng Đông).

DMS có thể di chuyển dữ liệu từ nhiều nguồn khác nhau bao gồm cơ sở dữ liệu, kho dữ liệu và ứng dụng SaaS cho nhiều mục đích khác nhau bao gồm Amazon S3, Amazon dịch chuyển đỏ tôi Amazon RDS.

AWS coi DMS là công cụ tối ưu để di chuyển dữ liệu từ bất kỳ nguồn cơ sở dữ liệu nào sang các mục tiêu gốc trên đám mây. Mặc dù mục đích chính của DMS chỉ là sao chép dữ liệu lên đám mây nhưng nó cũng làm rất tốt việc chuyển đổi dữ liệu trong quá trình thực hiện.

Bạn có thể xác định các tác vụ DMS ở định dạng JSON để tự động hóa các tác vụ chuyển đổi khác nhau khi sao chép dữ liệu từ nguồn tới đích:

  • Hợp nhất một số bảng hoặc cột nguồn thành một giá trị.
  • Chia giá trị nguồn thành nhiều trường đích.
  • Thay thế dữ liệu nguồn bằng một giá trị đích khác.
  • Xóa dữ liệu không cần thiết hoặc tạo dữ liệu hoàn toàn mới dựa trên ngữ cảnh đầu vào.

Điều này có nghĩa là – vâng, bạn chắc chắn có thể sử dụng DMS làm công cụ ETL cho dự án của mình. Nó có thể không phức tạp như các tùy chọn khác bên dưới, nhưng nó sẽ hoàn thành công việc nếu bạn xác định rõ ràng mục tiêu của mình ngay từ đầu.

Yếu tố phù hợp

Mặc dù DMS cung cấp một số khả năng ETL nhưng tính năng này chủ yếu dành cho các tình huống di chuyển dữ liệu. Tuy nhiên, có một số trường hợp sử dụng DMS thay vì các công cụ ETL như Informatica hoặc Matillion có thể là giải pháp tốt hơn:

  • DMS có thể xử lý việc di chuyển đồng nhất trong đó cơ sở dữ liệu nguồn và đích giống nhau. Điều này có thể có lợi nếu mục tiêu là di chuyển dữ liệu giữa các cơ sở dữ liệu cùng loại, chẳng hạn như Oracle sang Oracle hoặc MySQL sang MySQL.
  • DMS cung cấp một số khả năng tùy chỉnh và chuyển đổi dữ liệu cơ bản, nhưng có thể chưa hoàn thiện lắm về mặt này. Điều này vẫn có thể có lợi nếu bạn có nhu cầu chuyển đổi dữ liệu hạn chế.
  • Nhu cầu quản lý và chất lượng dữ liệu nhìn chung khá hạn chế đối với DMS. Nhưng đây là những lĩnh vực có thể được cải thiện sau này trong dự án bằng các công cụ khác dành riêng cho mục đích này. Bạn có thể cần làm cho phần ETL đơn giản nhất có thể. Thì DMS là một sự lựa chọn tuyệt vời.
  • DMS có thể là một lựa chọn tiết kiệm chi phí hơn cho các tổ chức có ngân sách hạn chế. DMS có mô hình định giá đơn giản hơn các công cụ ETL như Informatica hoặc Matillion, có thể giúp các tổ chức dự đoán và quản lý chi phí dễ dàng hơn.
  • Matillion ETL

    nguồn: matillion.com

    có nguồn gốc từ đám mây và có thể được sử dụng để tích hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm cơ sở dữ liệu, ứng dụng SaaS và hệ thống tệp. Nó cung cấp giao diện trực quan để xây dựng quy trình ETL và hỗ trợ các dịch vụ AWS khác nhau bao gồm Amazon S3, Amazon dịch chuyển đỏ tôi Amazon RDS.

    Matillion rất dễ sử dụng và có thể là lựa chọn tốt cho các tổ chức mới sử dụng các công cụ ETL hoặc có nhu cầu tích hợp dữ liệu ít phức tạp hơn.

    Mặt khác, Matillion là một loại tabula rasa. Nó có một số chức năng tiềm năng được xác định trước, nhưng bạn phải mã hóa chúng để đưa chúng vào cuộc sống. Bạn không thể mong đợi Matillion thực hiện công việc cho bạn ngay lập tức, ngay cả khi khả năng đó là theo định nghĩa.

    Matillion cũng thường tự gọi mình là ELT hơn là công cụ ETL. Điều này có nghĩa là việc Matillion thực hiện việc sạc trước khi biến hình là điều tự nhiên hơn.

    Yếu tố phù hợp

    Nói cách khác, Matillion chỉ chuyển đổi dữ liệu hiệu quả hơn khi dữ liệu đã được lưu trữ trong cơ sở dữ liệu so với trước đây. Lý do chính cho điều này là nghĩa vụ đã được đề cập trong việc tạo tập lệnh tùy chỉnh. Vì tất cả các chức năng đặc biệt phải được mã hóa trước nên hiệu quả sẽ phụ thuộc rất nhiều vào hiệu quả của mã tùy chỉnh.

    Điều tự nhiên là mong đợi điều này sẽ được xử lý tốt hơn trên hệ thống cơ sở dữ liệu đích và để lại Matillion chỉ với nhiệm vụ tải đơn giản. 1:1 – ít cơ hội hơn để tiêu diệt nó bằng mã tùy chỉnh ở đây.

    Mặc dù Matillion cung cấp một loạt các tính năng tích hợp dữ liệu nhưng nó có thể không cung cấp cùng mức chất lượng dữ liệu và tính năng quản lý như một số công cụ ETL khác.

    Matillion có thể tăng hoặc giảm quy mô tùy thuộc vào nhu cầu của tổ chức bạn, nhưng có thể không hiệu quả khi xử lý lượng dữ liệu rất lớn. Xử lý song song khá hạn chế. Về vấn đề này, Informatica chắc chắn là một lựa chọn tốt hơn vì nó đồng thời tiên tiến hơn và giàu tính năng hơn.

    Tuy nhiên, đối với nhiều tổ chức, Matillion cho AWS có thể cung cấp đủ khả năng mở rộng và tính song song để đáp ứng nhu cầu của họ.

    CNTT CNTT

    nguồn: informatica.com

    Informatica for AWS là công cụ ETL dựa trên đám mây được thiết kế để giúp bạn tích hợp và quản lý dữ liệu từ nhiều nguồn và mục tiêu khác nhau trong AWS. Đây là một dịch vụ được quản lý hoàn toàn, cung cấp nhiều tính năng và khả năng tích hợp dữ liệu, bao gồm lập hồ sơ dữ liệu, chất lượng dữ liệu và quản trị dữ liệu.

    Một số tính năng chính của Informatica cho AWS bao gồm:

  • Informatica được thiết kế để tăng hoặc giảm quy mô tùy theo nhu cầu thực tế. Nó có thể xử lý lượng lớn dữ liệu và có thể được sử dụng để tích hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm cơ sở dữ liệu, kho dữ liệu và ứng dụng SaaS.
  • Informatica cung cấp một loạt các tính năng bảo mật bao gồm mã hóa, kiểm soát truy cập và theo dõi kiểm tra. Nó tuân thủ các tiêu chuẩn ngành khác nhau bao gồm HIPAA, PCI DSS và SOC 2.
  • Informatica cung cấp giao diện trực quan để xây dựng quy trình ETL giúp người dùng dễ dàng tạo và quản lý quy trình tích hợp dữ liệu. Nó cũng cung cấp một số trình kết nối và mẫu được tạo sẵn có thể được sử dụng để kết nối các hệ thống và kích hoạt quá trình tích hợp.
  • Informatica tích hợp với nhiều dịch vụ AWS khác nhau, bao gồm Amazon S3, Amazon dịch chuyển đỏ tôi Amazon RDS. Điều này giúp dễ dàng tích hợp dữ liệu trên các dịch vụ AWS khác nhau.
  • Yếu tố phù hợp

    Rõ ràng, Informatica là công cụ ETL giàu tính năng nhất trong danh sách. Tuy nhiên, việc sử dụng nó có thể đắt hơn và phức tạp hơn một số công cụ ETL khác có sẵn trên AWS.

    CNTT có thể tốn kém, đặc biệt đối với các tổ chức vừa và nhỏ. Mô hình định giá dựa trên mức sử dụng, nghĩa là các tổ chức có thể phải trả nhiều tiền hơn khi mức sử dụng tăng lên.

    Việc thiết lập và cấu hình cũng có thể phức tạp, đặc biệt đối với những người mới sử dụng công cụ ETL. Điều này có thể đòi hỏi một sự đầu tư đáng kể về thời gian và nguồn lực.

    Điều này cũng đưa chúng ta đến cái mà chúng ta có thể gọi là “đường cong học tập phức tạp”. Điều này có thể gây bất lợi cho những người cần tích hợp dữ liệu nhanh chóng hoặc có nguồn lực hạn chế để dành cho việc đào tạo và triển khai.

    Ngoài ra, Informatica có thể không hiệu quả khi tích hợp dữ liệu từ các nguồn không phải AWS. DMS hoặc Matillion có thể là lựa chọn tốt hơn về mặt này.

    Cuối cùng, Informatica là một hệ thống rất khép kín. Chỉ có một khả năng hạn chế để điều chỉnh nó cho phù hợp với nhu cầu cụ thể của dự án. Bạn chỉ cần chấp nhận cấu hình mà nó cung cấp ngay lập tức. Điều này phần nào hạn chế tính linh hoạt của các giải pháp.

    những từ cuối

    Giống như trường hợp của nhiều trường hợp khác, không có giải pháp nào phù hợp cho tất cả, thậm chí không có công cụ ETL trong AWS.

    Bạn có thể chọn giải pháp phức tạp, giàu tính năng và đắt tiền nhất với Informatica. Nhưng nó đáng để tận dụng tối đa nếu:

    • Dự án khá lớn và bạn yên tâm rằng tất cả các giải pháp và nguồn dữ liệu trong tương lai cũng sẽ kết nối với Informatica.
    • Bạn có đủ khả năng để thuê một đội ngũ lập trình viên và bộ cấu hình Informatica đủ trình độ.
    • Bạn có thể đánh giá cao một nhóm hỗ trợ vững chắc và trả tiền tốt cho nó.

    Nếu có gì đó không ổn ở phía trên, bạn có thể thử với Matillion:

    • Nếu nhu cầu của dự án nói chung không quá phức tạp.
    • Nếu bạn phải đưa vào một số bước không chuẩn trong quá trình xử lý của mình thì tính linh hoạt là yêu cầu then chốt.
    • Nếu bạn không ngại xây dựng hầu hết các tính năng từ đầu cùng nhóm.

    Đối với bất kỳ điều gì thậm chí ít phức tạp hơn, sự lựa chọn rõ ràng là DMS dành cho AWS như một dịch vụ gốc có thể sẽ thực hiện tốt công việc của bạn.

    Sau đó, hãy xem các công cụ chuyển đổi dữ liệu để quản lý dữ liệu của bạn tốt hơn.