Quản lý cơ sở dữ liệu và dịch vụ Kết nối dữ liệu

Dự án Data Connect của bạn bao gồm hai thành phần cơ sở hạ tầng chính:

  • Một hoặc nhiều thực thể dịch vụ Data Connect
  • Một hoặc nhiều phiên bản Cloud SQL cho PostgreSQL

Hướng dẫn này thảo luận về cách thiết lập và quản lý các phiên bản dịch vụ Data Connect, đồng thời giới thiệu cách quản lý các phiên bản Cloud SQL được liên kết.

Định cấu hình khu vực cho Firebase Data Connect

Các dự án sử dụng Data Connect cần có chế độ cài đặt vị trí.

Khi tạo một thực thể dịch vụ Data Connect mới, bạn sẽ được nhắc chọn vị trí của dịch vụ.

Địa điểm cung cấp

Bạn có thể tạo dịch vụ Data Connect ở các khu vực sau.

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1
  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west6
  • europe-west8
  • europe-west9
  • me-west1
  • northamerica-northeast1
  • northamerica-northeast2
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-south1
  • us-west1
  • us-west2
  • us-west3
  • us-west4

Quản lý các thực thể dịch vụ Data Connect

Tạo dịch vụ

Để tạo một dịch vụ mới, hãy sử dụng bảng điều khiển Firebase hoặc chạy quá trình khởi chạy dự án cục bộ bằng cách sử dụng CLI Firebase. Các quy trình công việc này tạo ra một dịch vụ Data Connect mới.

Các quy trình này cũng hướng dẫn bạn:

  • Cấp phép một phiên bản Cloud SQL mới (cấp không tính phí)
  • Liên kết một phiên bản Cloud SQL hiện có với Data Connect (gói Blaze)

Quản lý người dùng

Data Connect cung cấp các công cụ để quản lý quyền truy cập của người dùng theo nguyên tắc đặc quyền tối thiểu (cấp cho mỗi người dùng hoặc tài khoản dịch vụ các quyền tối thiểu cần thiết để hỗ trợ chức năng cần thiết) và khái niệm kiểm soát quyền truy cập dựa trên vai trò (RBAC) (với các vai trò được xác định trước để quản lý quyền truy cập vào cơ sở dữ liệu, đơn giản hoá việc quản lý bảo mật).

Để thêm thành viên dự án làm người dùng có thể sửa đổi các thực thể Data Connect trong dự án, hãy sử dụng bảng điều khiển Firebase để chọn các vai trò người dùng được xác định trước phù hợp.

Các vai trò này cấp quyền bằng cách sử dụng tính năng Quản lý danh tính và quyền truy cập (IAM). Vai trò là một tập hợp các quyền. Khi chỉ định vai trò cho một thành viên dự án, bạn cấp cho thành viên đó tất cả quyền mà vai trò đó có. Xem thêm thông tin trong:

Chọn vai trò để bật quy trình công việc cụ thể

Các vai trò IAM cho phép quy trình công việc CLI Firebase để bạn quản lý các dự án Data Connect.

Lệnh dòng lệnh, quy trình làm việc khác (Các) vai trò bắt buộc
firebase init dataconnect
  • Không có quyền (khi không liên kết phiên bản Cloud SQL)
  • roles/cloudsql.admin (khi tạo phiên bản Cloud SQL)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin trên phiên bản Cloud SQL mục tiêu
firebase dataconnect:sql:grant
  • roles/cloudsql.admin trên phiên bản Cloud SQL mục tiêu

Theo dõi hiệu suất dịch vụ Data Connect

Tìm hiểu về hiệu suất của dịch vụ

Hiệu suất của cả dịch vụ Data Connect và dịch vụ Cloud SQL cho PostgreSQL có thể ảnh hưởng đến trải nghiệm của bạn.

  • Đối với dịch vụ Cloud SQL cho PostgreSQL, hãy tham khảo hướng dẫn chung trong tài liệu về hạn mức và định mức.
  • Đối với dịch vụ Data Connect, có hạn mức cho các yêu cầu GraphQL, ảnh hưởng đến tốc độ bạn có thể gọi và thực thi truy vấn:

    • Hạn mức tổng thể cho mỗi dự án là 6.000 yêu cầu mỗi phút từ các trình kết nối ứng dụng của máy khách.
    • Hạn mức tổng thể cho mỗi dự án là 6.000 yêu cầu mỗi phút từ Firebase Admin SDK và từ API REST.
    • Hạn mức 1.200 yêu cầu mỗi phút cho mỗi người dùng. Ở đây, mỗi người dùng nghĩa là giới hạn áp dụng cho các yêu cầu do một địa chỉ IP khởi tạo, cho dù là từ ứng dụng khách, từ Firebase Admin SDK hay từ API REST.

    Nếu bạn gặp phải các hạn mức hạn mức đó, vui lòng liên hệ với nhóm hỗ trợ Firebase để điều chỉnh hạn mức có liên quan.

Theo dõi hiệu suất, mức sử dụng và thông tin thanh toán của dịch vụ

Bạn có thể theo dõi các yêu cầu, lỗi và tốc độ hoạt động, cả trên toàn cục và theo từng hoạt động trong bảng điều khiển Firebase.

Quản lý các phiên bản Cloud SQL

Giới hạn của gói dùng thử miễn phí

Các tính năng sau đây của Cloud SQL cho PostgreSQL không được hỗ trợ trong gói dùng thử miễn phí 3 tháng:

  • Các phiên bản PostgreSQL khác với 15.x
  • Sử dụng các phiên bản Cloud SQL for PostgreSQL hiện có
  • Cấp máy khác với db-f1-micro
  • Thay đổi tài nguyên của thực thể, chẳng hạn như bộ nhớ, bộ nhớ, CPU
  • Đọc bản sao
  • Địa chỉ IP của thực thể riêng tư
  • Độ sẵn sàng cao (nhiều vùng); chỉ hỗ trợ các phiên bản một vùng
  • Phiên bản Enterprise Plus
  • Sao lưu tự động
  • Tự động tăng bộ nhớ.

Quản trị các phiên bản Cloud SQL

Nhìn chung, bạn có thể quản lý các phiên bản Cloud SQL bằng cách sử dụng bảng điều khiển Google Cloud để thực hiện các quy trình công việc sau.

  • Dừng và khởi động lại các phiên bản Cloud SQL
  • Tạo và xoá cơ sở dữ liệu Cloud SQL (trong các phiên bản)
  • Khởi động các thực thể cơ sở dữ liệu PostgreSQL bằng cờ và sử dụng nhiều tiện ích
  • Theo dõi hiệu suất bằng các tính năng quan sát của Cloud SQL trong bảng điều khiển Google Cloud
  • Quản lý quyền truy cập và bảo mật của Cloud SQL bằng các tính năng như IAM, trình quản lý bí mật, mã hoá dữ liệu và proxy xác thực
  • Thêm, xoá và quản trị người dùng Cloud SQL.

Đối với các quy trình công việc này và các quy trình công việc khác, hãy tham khảo tài liệu về Cloud SQL cho PostgreSQL.

Cấp vai trò cho người dùng PostgreSQL

Data Connect cung cấp các công cụ để quản lý quyền truy cập của người dùng theo nguyên tắc đặc quyền tối thiểu (cấp cho mỗi người dùng hoặc tài khoản dịch vụ các quyền tối thiểu cần thiết để hỗ trợ chức năng cần thiết) và khái niệm kiểm soát quyền truy cập dựa trên vai trò (RBAC) (với các vai trò được xác định trước để quản lý quyền truy cập vào cơ sở dữ liệu, đơn giản hoá việc quản lý bảo mật).

Trong một số trường hợp, bạn có thể muốn kết nối trực tiếp với cơ sở dữ liệu Cloud SQL do Data Connect quản lý thông qua ứng dụng SQL mà bạn chọn, chẳng hạn như Cloud Run, Cloud Functions hoặc GKE.

Để bật các kết nối như vậy, bạn cần cấp quyền SQL bằng cách:

  • Chỉ định vai trò IAM roles/cloudsql.client cho người dùng hoặc tài khoản dịch vụ cần kết nối với thực thể, từ bảng điều khiển Google Cloud hoặc sử dụng gcloud CLI
  • Cấp vai trò PostgreSQL cần thiết bằng cách sử dụng CLI Firebase

Chỉ định vai trò IAM của Cloud SQL

Để biết thông tin về cách làm việc với Cloud SQL cho PostgreSQL nhằm chỉ định vai trò IAM roles/cloudsql.client, hãy xem phần Vai trò và quyền.

Cấp vai trò PostgreSQL

Khi sử dụng CLI Firebase, bạn có thể cấp các vai trò PostgreSQL được xác định trước cho người dùng hoặc tài khoản dịch vụ liên kết với dự án của bạn bằng lệnh firebase dataconnect:sql:grant.

Ví dụ: để cấp vai trò người viết, hãy chạy lệnh sau tại CLI:

firebase dataconnect:sql:grant --role writer

Để biết thông tin chi tiết, hãy tham khảo hướng dẫn tham khảo về CLI.

Tích hợp các cơ sở dữ liệu Cloud SQL cho PostgreSQL hiện có

Quy trình quản lý và cấp phép cơ sở dữ liệu mặc định giả định dự án của bạn sử dụng cơ sở dữ liệu mới (greenfield) và khi bạn gọi firebase deploy, Data Connect sẽ hiển thị các thay đổi về giản đồ cơ sở dữ liệu cần thực hiện và thực hiện mọi hoạt động di chuyển sau khi bạn phê duyệt.

Đối với các cơ sở dữ liệu hiện có (cơ sở dữ liệu cũ), bạn có thể có quy trình làm việc riêng để quản lý giản đồ và không thể sử dụng công cụ Data Connect để di chuyển, nhưng muốn sử dụng cơ sở dữ liệu của bạn trong dự án Data Connect để tận dụng tính năng tạo SDK cho thiết bị di động và web, uỷ quyền dựa trên truy vấn, quản lý kết nối ứng dụng và nhiều tính năng khác.

Phần này đưa ra hướng dẫn về trường hợp sau: tích hợp cơ sở dữ liệu hiện có với Data Connect.

Tích hợp cơ sở dữ liệu hiện có vào dự án Data Connect

Quy trình làm việc để tích hợp cơ sở dữ liệu hiện có thường bao gồm các bước sau:

  1. Trong quá trình thiết lập dự án Data Connect trong bảng điều khiển Firebase, hãy chọn thực thể và cơ sở dữ liệu.
  2. Sử dụng CLI Firebase, hãy chạy lệnh firebase dataconnect:sql:setup và từ chối tuỳ chọn cho phép Data Connect xử lý các hoạt động di chuyển SQL.

    Để ngăn các thay đổi đối với giản đồ cơ sở dữ liệu không do công cụ tuỳ chỉnh của bạn điều khiển, lệnh setup sẽ chỉ định các vai trò trình đọc và trình ghi thích hợp, nhưng không chỉ định vai trò owner. Bạn có thể xem thêm thông tin về lệnh setup và vai trò PostgreSQL trong hướng dẫn tham khảo về CLI.

  3. Viết giản đồ GraphQL Data Connect khớp với giản đồ cơ sở dữ liệu.

    Bạn chỉ có thể triển khai giản đồ, truy vấn và đột biến GraphQL khi giản đồ GraphQL tương thích với giản đồ PostgreSQL.

    Để đơn giản hoá việc điều chỉnh cả hai giản đồ, chúng tôi cung cấp lệnh firebase dataconnect:sql:diff. Lệnh này sẽ cung cấp cho bạn các câu lệnh SQL bắt buộc để di chuyển cơ sở dữ liệu. Bạn có thể sử dụng tính năng này để liên tục tinh chỉnh giản đồ GraphQL cho phù hợp với giản đồ cơ sở dữ liệu hiện có.

  4. Từ giờ trở đi, bạn có thể lặp lại nhanh trên giản đồ, truy vấn và sự thay đổi GraphQL trong môi trường phát triển cục bộ. Sau đó, khi đã hài lòng, bạn có thể sử dụng firebase dataconnect:sql:diff để lấy các câu lệnh di chuyển SQL mà bạn có thể áp dụng cho PostgreSQL bằng cách sử dụng các công cụ và quy trình tuỳ chỉnh.

  5. Ngoài ra, trước tiên, bạn có thể trực tiếp thực hiện các thay đổi đối với cơ sở dữ liệu PostgreSQL, sau đó cố gắng chuyển các thay đổi đó trở lại giản đồ GraphQL. Bạn nên sử dụng phương pháp ưu tiên GraphQL vì có thể có trường hợp các thay đổi về giản đồ không được hỗ trợ. Ngoài ra, nếu bạn triển khai các thay đổi khiến giản đồ PostgreSQL không tương thích với truy vấn hoặc đột biến của trình kết nối đã triển khai, thì các trình kết nối đó có thể ngừng hoạt động hoặc hoạt động không đúng cách.