Truy vấn liên kết MySQL

Thiết lập kết nối từ cụm Amazon Redshift của bạn với phiên bản CSDL Amazon RDS hoặc Aurora MySQL

Để làm điều này, hãy đảm bảo rằng phiên bản RDS MySQL hoặc Aurora MySQL DB của bạn có thể chấp nhận các kết nối từ cụm Amazon Redshift của bạn. Chúng tôi khuyên rằng cụm Amazon Redshift và phiên bản Amazon RDS hoặc Aurora MySQL của bạn nên ở trong cùng một nhóm mạng con và đám mây riêng ảo (VPC). Bằng cách này, bạn có thể thêm nhóm bảo mật cho cụm Amazon Redshift vào quy tắc gửi đến của nhóm bảo mật cho phiên bản RDS hoặc Aurora MySQL DB của bạn

Bạn cũng có thể thiết lập tính năng ngang hàng VPC hoặc kết nối mạng khác cho phép Amazon Redshift tạo kết nối với phiên bản RDS hoặc Aurora MySQL của bạn. Để biết thêm thông tin về mạng VPC, hãy xem phần sau

  • VPC ngang hàng là gì?
  • Làm việc với phiên bản DB trong VPC trong Hướng dẫn sử dụng Amazon RDS Lưu ý
    Nếu cụm Amazon Redshift của bạn ở một VPC khác với phiên bản RDS hoặc Aurora MySQL của bạn, thì hãy bật tính năng nâng cao . Nếu không, bạn có thể nhận được lỗi hết thời gian chờ khi chạy truy vấn có liên kết.
  • Thiết lập bí mật trong AWS Secrets Manager cho cơ sở dữ liệu RDS MySQL và Aurora MySQL của bạn. Sau đó tham khảo các bí mật trong vai trò và chính sách truy cập của AWS Identity and Access Management (IAM). Để biết thêm thông tin, hãy xem Tạo bí mật và vai trò IAM để sử dụng truy vấn có liên kết. Lưu ý
    Nếu cụm của bạn sử dụng định tuyến VPC nâng cao, bạn có thể cần định cấu hình điểm cuối VPC giao diện cho AWS Secrets Manager. Điều này là cần thiết khi VPC và mạng con của cụm Amazon Redshift của bạn không có quyền truy cập vào điểm cuối AWS Secrets Manager công khai. Khi bạn sử dụng điểm cuối giao diện VPC, giao tiếp giữa cụm Amazon Redshift trong VPC của bạn và AWS Secrets Manager được định tuyến riêng từ VPC của bạn đến giao diện điểm cuối. Để biết thêm thông tin, xem Tạo điểm cuối giao diện trong Hướng dẫn sử dụng Amazon VPC.

  • Áp dụng vai trò IAM mà bạn đã tạo trước đây cho cụm Amazon Redshift. Để biết thêm thông tin, hãy xem Tạo bí mật và vai trò IAM để sử dụng truy vấn có liên kết

  • Kết nối với cơ sở dữ liệu RDS MySQL và Aurora MySQL của bạn bằng một lược đồ bên ngoài. Để biết thêm thông tin, hãy xem TẠO LƯỢC ĐỒ BÊN NGOÀI. Để biết ví dụ về cách sử dụng truy vấn được liên kết, hãy xem Ví dụ về cách sử dụng truy vấn được liên kết với MySQL

  • Chạy truy vấn SQL của bạn tham chiếu lược đồ bên ngoài tham chiếu cơ sở dữ liệu RDS MySQL và Aurora MySQL của bạn

    Mục đích của hướng dẫn này là chỉ cho bạn cách chạy Redshift của Truy vấn liên kết. Bạn có thể đã biết cách chạy truy vấn trên Amazon Redshift bằng cách tải dữ liệu của mình vào cụm Redshift, nhưng việc truy vấn một số cơ sở dữ liệu mà không di chuyển chúng vào môi trường Redshift trước có thể lạ đối với bạn. Tiếp tục đọc để tìm hiểu cách chạy Redshift của Truy vấn có Liên kết.  

    Truy vấn liên kết Redshift cho phép bạn kết nối dữ liệu từ cơ sở dữ liệu bên ngoài với dữ liệu trong cụm Amazon để bạn có thể thực hiện truy vấn tích hợp cơ sở dữ liệu. Điều này nghe có vẻ đơn giản, nhưng Dịch chuyển đỏ của Truy vấn Liên kết có vẻ phức tạp đối với người dùng mới. Bài viết này sẽ giúp bạn đơn giản hóa quá trình sử dụng.  

    Mục lục

    • điều kiện tiên quyết
    • Giới thiệu về Amazon Redshift
      • Các tính năng chính của Amazon Redshift
    • Giới thiệu về Truy vấn được Liên kết
    • Lợi ích của Dịch chuyển đỏ truy vấn có liên kết
    • Nguyên tắc làm việc của dịch chuyển đỏ truy vấn liên kết
    • Thiết lập Truy vấn liên kết Amazon Redshift
      • Bước 1. Tạo bí mật trong AWS Secrets Manager cho Aurora PostgreSQL và MySQL, RDS PostgreSQL và MySQL
      • Bước 2. Thiết lập chính sách bảo mật
      • Bước 3. Kết nối vai trò IAM của bạn với cụm Amazon Redshift của bạn
      • Bước 4. Liên kết cơ sở dữ liệu Aurora và RDS cụ thể với Amazon Redshift
    • Phần kết luận

    điều kiện tiên quyết

    Bạn chỉ có thể chạy Redshift cho Truy vấn có Liên kết nếu bạn đã thực hiện các thao tác sau

    • Bạn phải cài đặt Amazon Redshift
    • Bạn phải biết cách tạo cụm Amazon Redshift
    • Bạn phải sử dụng các phiên bản Amazon RDS và Amazon Aurora với tên người dùng và mật khẩu đã đăng ký
    • Amazon Redshift, Amazon RDS và Amazon Aurora của bạn phải nằm trong cùng một VPC (Đám mây riêng ảo)
    • Cụm Amazon Redshift của bạn phải hỗ trợ PostgreSQL, MySQL, Aurora và Amazon RDS
    • Bạn phải có quyền truy cập vào danh mục dữ liệu ngoài như Amazon Athena hoặc Amazon Glue

    Giới thiệu về Amazon Redshift

    Amazon Redshift LogoNguồn hình ảnh

    Nếu bạn chưa sử dụng Amazon Redshift trong một thời gian, bạn có thể tóm tắt lại những điều cơ bản. Amazon Redshift là kho dữ liệu của Amazon, nơi người dùng có thể lưu trữ và truy vấn dữ liệu của họ. Kết quả bạn nhận được từ những truy vấn này có thể cung cấp thông tin chi tiết về doanh nghiệp của bạn.  

    Amazon Redshift lưu trữ dữ liệu ở dạng cụm. Vì vậy, trước khi bạn tải dữ liệu vào cơ sở dữ liệu, trước tiên bạn phải tạo một cụm. Thay vì phát triển một giao diện hoàn toàn mới, Amazon Redshift bắt chước giao diện của MySQL. Nó cũng giữ lại các công cụ quan trọng của MySQL như JDBC và PostgreSQL. Điều này làm cho nó rất dễ sử dụng.  

    Một tính năng thiết yếu khác của dịch vụ này là nó có thể kết nối với các công cụ kinh doanh thông minh và tích hợp cơ sở dữ liệu từ các nguồn bên ngoài. Tính năng Amazon Redshift hỗ trợ chức năng này là Truy vấn liên kết

    Các tính năng chính của Amazon Redshift

    Một số tính năng của Amazon Redshift được liệt kê bên dưới

    • ML dịch chuyển đỏ. Amazon Redshift đi kèm với Redshift ML cho phép Nhà khoa học dữ liệu, Nhà phân tích dữ liệu, Nhà phát triển và Chuyên gia kinh doanh tạo, thử nghiệm và triển khai các mô hình bằng ngôn ngữ SQL
    • đồng thời. Amazon Redshift cho phép người dùng chạy hàng nghìn truy vấn đồng thời mà không ảnh hưởng đến hiệu suất. Khả năng tính toán được tăng lên tự động khi khối lượng công việc tăng lên
    • Xử lý song song ồ ạt. Amazon Redshift giúp người dùng dễ dàng chạy nhiều truy vấn trong các cụm khác nhau và phân bổ khối lượng công việc trên các bộ xử lý khác

    Để tìm hiểu thêm về Amazon Redshift, hãy nhấp vào đây

    Giới thiệu về Truy vấn được Liên kết

    Truy vấn liên kết là một tính năng của Amazon Redshift cho phép bạn thực hiện truy vấn trên cơ sở dữ liệu tích hợp. Với Redshift của Truy vấn liên kết, bạn có thể liên kết dữ liệu trực tiếp từ cơ sở dữ liệu bên ngoài trong môi trường Amazon S3 với các cụm Amazon Redshift và thực hiện các truy vấn hợp nhất với chúng

    Redshift truy vấn có liên kết tương thích với Amazon Aurora PostgreSQL và MySQL, cũng như Amazon RDS (Hệ thống cơ sở dữ liệu quan hệ) PostgreSQL và MySQL.  

    Federated Query RedshiftNguồn hình ảnh

    Đơn giản hóa phân tích dữ liệu với Đường ống dữ liệu không mã của Hevo

    Dữ liệu Hevo, Đường ống dữ liệu không mã giúp tải dữ liệu từ bất kỳ nguồn dữ liệu nào, chẳng hạn như Cơ sở dữ liệu, ứng dụng SaaS, Lưu trữ đám mây, SDK, s và Dịch vụ truyền phát, đồng thời đơn giản hóa quy trình ETL. Nó hỗ trợ hơn 100 nguồn dữ liệu và là quy trình gồm 3 bước chỉ bằng cách chọn nguồn dữ liệu, cung cấp thông tin đăng nhập hợp lệ và chọn đích. Hevo không chỉ tải dữ liệu lên Kho dữ liệu/đích mong muốn mà còn làm phong phú dữ liệu và chuyển đổi dữ liệu thành dạng sẵn sàng phân tích mà không cần phải viết một dòng mã nào.  

    Bắt đầu với Hevo miễn phí

    Đường ống hoàn toàn tự động của nó cung cấp dữ liệu được phân phối theo thời gian thực mà không bị mất mát từ nguồn đến đích. Kiến trúc có khả năng mở rộng và chịu lỗi của nó đảm bảo rằng dữ liệu được xử lý một cách an toàn, nhất quán mà không làm mất dữ liệu và hỗ trợ các dạng dữ liệu khác nhau. Các giải pháp được cung cấp nhất quán và cũng hoạt động với các công cụ BI khác nhau

    Kiểm tra lý do tại sao Hevo là tốt nhất

    1. Chắc chắn. Hevo có kiến ​​trúc chịu lỗi đảm bảo rằng dữ liệu được xử lý một cách an toàn, nhất quán và không bị mất dữ liệu
    2. Quản lý lược đồ. Hevo loại bỏ nhiệm vụ quản lý lược đồ tẻ nhạt & tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó tới lược đồ đích
    3. học tập tối thiểu. Hevo, với giao diện người dùng tương tác và đơn giản, cực kỳ đơn giản đối với khách hàng mới để làm việc và thực hiện các thao tác
    4. Hevo được xây dựng để mở rộng quy mô. Khi số lượng nguồn và khối lượng dữ liệu của bạn tăng lên, Hevo sẽ mở rộng quy mô theo chiều ngang, xử lý hàng triệu bản ghi mỗi phút với rất ít độ trễ
    5. Tải dữ liệu gia tăng. Hevo cho phép truyền dữ liệu đã được sửa đổi theo thời gian thực. Điều này đảm bảo sử dụng hiệu quả băng thông ở cả hai đầu
    6. Hỗ trợ trực tuyến. Nhóm Hevo luôn sẵn sàng mở rộng hỗ trợ đặc biệt cho khách hàng của mình thông qua trò chuyện, E-Mail và các cuộc gọi hỗ trợ
    7. Giám sát trực tiếp. Hevo cho phép bạn theo dõi luồng dữ liệu và kiểm tra xem dữ liệu của bạn đang ở đâu tại một thời điểm cụ thể
    Đăng ký tại đây để dùng thử miễn phí 14 ngày

    Lợi ích của Dịch chuyển đỏ truy vấn có liên kết

    • Bạn có thể dễ dàng chạy các truy vấn tích hợp
    • Truy vấn liên kết Redshift cũng cho phép bạn nhập dữ liệu vào các cụm Redshift của mình mà không cần sử dụng chức năng ETL (Trích xuất, Chuyển đổi, Tải)

    Nguyên tắc làm việc của dịch chuyển đỏ truy vấn liên kết

    New for Amazon Redshift – Data Lake Export and Federated Query RedshiftNguồn hình ảnh

    Khi bạn kích hoạt Redshift Truy vấn có liên kết trên tài khoản của mình, trước tiên, hệ thống sẽ kết nối với phiên bản Amazon RDS hoặc Amazon Aurora và thu thập siêu dữ liệu từ các bảng trong phiên bản.  

    Tiếp theo, nó tải siêu dữ liệu vào một nút tính toán. Bằng cách sử dụng một vị từ được đẩy xuống, Amazon Redshift sau đó đưa ra các truy vấn phụ với nút tính toán và tích lũy các hàng kết quả từ các truy vấn đó.  

    Cuối cùng, Redshift phân phối các hàng kết quả trên tất cả các nút tính toán trong nút dẫn đầu đang hoạt động để xử lý nhanh.  

    Sau khi bạn đã kích hoạt Redshift cho Truy vấn có Liên kết, mọi truy vấn được gửi tới các phiên bản Aurora và RDS được liên kết sẽ được ghi vào SVL_Federated _Queries

    Thiết lập Truy vấn liên kết Amazon Redshift

    Trước khi bắt đầu chạy Truy vấn liên kết, bạn cần kết nối tài khoản Amazon Redshift của mình với Amazon Aurora PostgreSQL, Amazon RDS PostgreSQL, Amazon Aurora MySQL và Amazon RDS MySQL.  

    Làm theo các bước bên dưới để liên kết tài khoản Amazon Redshift của bạn với Amazon RDS và Aurora

    Bước 1. Tạo bí mật trong AWS Secrets Manager cho Aurora PostgreSQL và MySQL, RDS PostgreSQL và MySQL

    Làm như sau để thiết lập bí mật trong AWS Secret Manager

    • Đăng nhập vào Bảng điều khiển AWS Secrets Manager bằng tên người dùng trên phiên bản RDS hoặc Aurora của bạn
    • Chọn 'Lưu trữ bí mật mới'
    • Tiếp theo, nhấp vào 'Thông tin xác thực cho cơ sở dữ liệu'. Hệ thống sẽ hỏi tên người dùng, mật khẩu và mã khóa để bảo mật bí mật. Nhập tên người dùng và mật khẩu Aurora của bạn.  
    • Sau đó, chọn một khóa mã hóa. AWS Secrets Manager sẽ cung cấp cho bạn khóa Mã hóa mặc định. Tốt nhất là sử dụng khóa mã hóa mặc định.  
    • Tạo tên cho Secret
    • Để lại bất kỳ trường nào hệ thống hiển thị cho bạn ở chế độ mặc định. Bây giờ, hãy nhấp vào 'Lưu trữ' ở cuối trang
    • Kiểm tra bí mật mới của bạn và nghiên cứu giá trị ARN Bí mật (Tên tài nguyên Amazon) được gán cho Bí mật của bạn. Bạn có thể sử dụng ARN để có quyền truy cập vào Bí mật mới

    Bước 2. Thiết lập chính sách bảo mật

    Đăng nhập vào Bảng điều khiển quản lý AWS và chọn Bảng điều khiển quản lý và nhận dạng IAM). Ngoài ra, bạn có thể di chuyển trực tiếp đến vùng IAM bằng liên kết này. https. // bảng điều khiển. aws. amazon. com/iam/

    • Tạo chính sách JSON với cú pháp sau
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AccessSecret",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetResourcePolicy",
                    "secretsmanager:GetSecretValue",
                    "secretsmanager:DescribeSecret",
                    "secretsmanager:ListSecretVersionIds"
                ],
                "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy"
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetRandomPassword",
                    "secretsmanager:ListSecrets"
                ],
                "Resource": "*"
            }
        ]
    }
    • Đặt tên cho chính sách mới
    • Duyệt qua Bảng điều khiển IAM để tìm Vai trò IAM
    • Thiết lập vai trò IAM mới cho tài khoản Amazon Redshift của bạn và liên kết vai trò đó với chính sách IAM
    • Để hoàn tất quy trình thiết lập, hãy chuyển đến tab Tin cậy trên Vai trò IAM mới và kiểm tra xem nó có chứa thực thể tin cậy hay không. dịch chuyển đỏ. amazonaws. com
    • Giống như Bí mật của Amazon đã gán cho bạn một ARN Bí mật, bảng điều khiển IAM cũng sẽ cung cấp cho bạn một Vai trò ARN
    • Vai trò ARN cung cấp quyền truy cập vào cả Vai trò bí mật và Vai trò IAM được kết nối.  

    Bước 3. Kết nối vai trò IAM của bạn với cụm Amazon Redshift của bạn

    • Đăng nhập vào Bảng điều khiển Amazon Redshift thông qua liên kết. https. // bảng điều khiển. aws. amazon. com/dịch chuyển đỏ/
    • Chuyển đến menu điều hướng và chọn 'Cụm'. Bạn sẽ tìm thấy tất cả các cụm mà bạn đã từng tạo trong tài khoản AWS của mình
    • Chọn cụm bạn muốn làm việc
    • Sau đó, nhấp vào tab 'Hành động' và chọn 'Quản lý vai trò IAM'. Hệ thống sẽ chuyển bạn đến trang Quản lý vai trò IAM.  
    • Thêm Vai trò IAM mới mà bạn vừa tạo vào cụm

    Bước 4. Liên kết cơ sở dữ liệu Aurora và RDS cụ thể với Amazon Redshift

    Bạn đã liên kết thành công tài khoản Amazon Aurora và RDS với Amazon Redshift của mình. Bây giờ, đã đến lúc kết nối cơ sở dữ liệu thực tế trong các phiên bản với tài khoản Amazon Redshift của bạn. Bạn có thể liên kết các cơ sở dữ liệu bên ngoài này với cụm Redshift của mình bằng một lược đồ bên ngoài

    Để tạo lược đồ bên ngoài cho Truy vấn được liên kết của bạn, bạn phải nhập lệnh 'TẠO LƯỢC ĐỒ BÊN NGOÀI' trong danh mục dữ liệu ngoài của bạn.  

    Điều đó nói rằng, cú pháp để thực hiện Redshift Truy vấn liên kết với cơ sở dữ liệu MySQL hơi khác so với cú pháp sử dụng truy vấn liên kết với cơ sở dữ liệu PostgreSQL.  

    Cú pháp tạo Redshift cho truy vấn có liên kết với Amazon Aurora MySQL và Amazon RDS MySQL

    CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
    FROM MYSQL
    DATABASE 'federated_database_name' 
    URI 'hostname' [ PORT port_number ]
    IAM_ROLE { default | ‘arn:aws:iam:::role/’
    SECRET_ARN 'ssm-secret-arn' 

    Cú pháp tạo truy vấn có liên kết với Amazon RDS PostgreSQL và Amazon Aurora PostgreSQL

    CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
    FROM POSTGRES
    DATABASE 'federated_database_name' [SCHEMA 'schema_name']
    URI 'hostname' [ PORT port_number ] 
    IAM_ROLE { default | ‘arn:aws:iam:::role/’
    SECRET_ARN 'ssm-secret-arn'

    Bây giờ, bạn có thể bắt đầu chạy Redshift cho Truy vấn được Liên kết của mình

    Phần kết luận

    Trong bài viết này, bạn đã tìm hiểu về Redshift trong Truy vấn có Liên kết và đã tiến hành Truy vấn có Liên kết trên Amazon Redshift, MySQL và PostgreSQL. Bây giờ, bạn có thể bắt đầu chạy Redshift cho Truy vấn Liên kết của mình một cách dễ dàng. Liên hệ với bảng điều khiển AWS Redshift để biết thêm thông tin và liên hệ với nhóm hỗ trợ của chúng tôi nếu bạn gặp bất kỳ sự cố nào trong quá trình này.  

    Ghé thăm trang web của chúng tôi để khám phá Hevo

    Amazon Redshift lưu trữ dữ liệu từ nhiều nguồn và mỗi nguồn tuân theo một lược đồ khác nhau. Thay vì viết thủ công các tập lệnh cho mọi nguồn để thực hiện quy trình ETL (Trích xuất tải chuyển đổi), người ta có thể tự động hóa toàn bộ quy trình. Hevo Data là một giải pháp đường dẫn Dữ liệu không cần mã có thể giúp bạn chuyển dữ liệu từ hơn 100 nguồn sang Amazon Redshift hoặc Kho dữ liệu khác mà bạn chọn. Kiến trúc thân thiện với người dùng và chịu lỗi của nó hoàn toàn tự động hóa quá trình tải và chuyển đổi dữ liệu đến đích mà không cần viết một dòng mã nào.   

    Bạn muốn thử Hevo?

    Truy vấn SQL LIÊN KẾT là gì?

    Do đó, liên kết truy vấn là tính năng cho phép khách hàng truy cập dữ liệu không đồng nhất từ ​​xa được lưu trữ ở các vị trí khác nhau thông qua một truy vấn đơn giản . Cụ thể hơn, nó là một công nghệ cung cấp cho các lập trình viên quyền truy cập ảo vào dữ liệu từ các nguồn khác nhau.

    Bảng LIÊN KẾT trong MySQL là gì?

    Bảng LIÊN KẾT bao gồm hai phần tử. Máy chủ từ xa có bảng cơ sở dữ liệu, bảng này bao gồm định nghĩa bảng (được lưu trữ trong từ điển dữ liệu MySQL) và bảng được liên kết . Loại bảng của bảng từ xa có thể là bất kỳ loại nào được máy chủ mysqld từ xa hỗ trợ, bao gồm MyISAM hoặc InnoDB.

    Làm cách nào để sử dụng công cụ LIÊN KẾT trong MySQL?

    Bật 'công cụ LIÊN KẾT'. Thêm 'liên kết' trên một dòng mới trong tệp cấu hình mysql của bạn (Tôi đã tìm thấy tệp cấu hình mysql của mình ở đây — '/etc/my. cnf'). Khi điều này được thực hiện, hãy khởi động lại mysql. Sau khi khởi động lại, công cụ liên kết sẽ được bật.

    Tại sao nên sử dụng truy vấn LIÊN KẾT?

    Bạn có thể sử dụng truy vấn có liên kết để kết hợp dữ liệu trực tiếp như một phần của ứng dụng báo cáo và thông tin kinh doanh (BI) . Ví dụ: để giúp quá trình nhập dữ liệu vào Amazon Redshift dễ dàng hơn, bạn có thể sử dụng các truy vấn có liên kết để thực hiện các thao tác sau. Truy vấn cơ sở dữ liệu hoạt động trực tiếp. Áp dụng phép biến đổi nhanh chóng.