Các dự án Data Connect bao gồm 2 thành phần cơ sở hạ tầng chính:
- Một hoặc nhiều Data Connect phiên bản dịch vụ
- 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 yêu cầu chế độ cài đặt vị trí.
Khi tạo một phiên bản dịch vụ Data Connect mới, bạn sẽ được nhắc chọn vị trí của dịch vụ.
Phạm vi cung cấp
Bạn có thể tạo các 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 (không dùng được cho bản dùng thử gói Spark)
- asia-southeast2 (không dùng được cho bản dùng thử gói Spark)
- 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 phiên bản 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 Firebase CLI. Các quy trình làm việc này sẽ tạo một dịch vụ mới Data Connect.
Các quy trình này cũng hướng dẫn bạn:
- Cung cấp một phiên bản Cloud SQL mới (bậc miễn 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 cần thiết tối thiểu để hỗ trợ chức năng cần thiết) và khái niệm về kiểm soát 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 đối với 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 Data Connect phiên bản 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 giải pháp 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 bạn chỉ định một vai trò cho thành viên dự án, bạn sẽ cấp cho thành viên dự án đó tất cả các quyền mà vai trò đó chứa. Xem thêm thông tin trong:
- Tổng quan về các vai trò IAM của Firebase
- Danh sách chi tiết về các vai trò Data Connect
Chọn vai trò để bật các quy trình làm việc cụ thể
Các vai trò IAM cho phép các quy trình làm việc của Firebase CLI giúp bạn quản lý các dự án Data Connect.
| Lệnh CLI, quy trình làm việc khác | Vai trò bắt buộc |
|---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
Theo dõi hiệu suất dịch vụ Data Connect
Tìm hiểu về hiệu suất dịch vụ
Hiệu suất của cả dịch định vụ Data Connect và dịch vụ Cloud SQL cho PostgreSQL đều 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 Hạn mức và giới hạn.
Đố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 độ mà bạn có thể gọi và thực thi các truy vấn:
- Hạn mức 24.000 yêu cầu GraphQL mỗi phút cho mỗi dự án trên mỗi khu vực
Nếu bạn gặp phải những giới hạn 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 liên quan.
Theo dõi hiệu suất, mức sử dụng và thông tin thanh toán dịch vụ
Bạn có thể theo dõi các yêu cầu, lỗi và tỷ lệ hoạt động, cả trên toàn cầu và theo từng hoạt động trong Firebase bảng điều khiển.
Quản lý các phiên bản Cloud SQL
Các giới hạn của bản 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 bản dùng thử miễn phí gói Spark hoặc Blaze:
- Cấp máy khác với db-f1-micro
- Thay đổi tài nguyên của phiên bản, chẳng hạn như khu vực, bộ nhớ, bộ nhớ, CPU
- Các phiên bản PostgreSQL khác 15.x
- Bản sao chỉ đọc
- Địa chỉ IP phiên bản riêng tư
- Khả năng có độ tin cậy cao (nhiều khu vực); chỉ hỗ trợ các phiên bản một khu vực
- Phiên bản Enterprise Plus
- Sao lưu tự động
- Tự động tăng dung lượng lưu trữ.
Các giới hạn của cơ sở dữ liệu tạm thời để chuyển đổi
Khi thêm Data Connect vào dự án Firebase, bạn có thể bắt đầu tạo nguyên mẫu mô hình dữ liệu và tải dữ liệu ngay lập tức, vì dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu tạm thời. Xin lưu ý rằng phiên bản Cloud SQL cho PostgreSQL vĩnh viễn sẽ mất từ 5 đến 20 phút để cung cấp. Mọi dữ liệu ban đầu mà bạn tải sẽ tự động di chuyển sang cơ sở dữ liệu PostgreSQL vĩnh viễn sau khi được cung cấp.
Cơ sở dữ liệu tạm thời này rất phù hợp để khám phá giản đồ và các thao tác CRUD.
Nếu không muốn sử dụng cơ sở dữ liệu tạm thời, hãy đợi phiên bản Cloud SQL được cung cấp.
Cơ sở dữ liệu tạm thời không phải là cơ sở dữ liệu PostgreSQL và không cung cấp tất cả các tính năng của PostgreSQL.
Các giới hạn đáng kể là:
- Kích thước cơ sở dữ liệu phải nhỏ hơn 1 MB
- Số hàng trên mỗi bảng phải nhỏ hơn 1000
- Ít hơn 1 truy vấn mỗi giây
- Không hỗ trợ phương thức tìm kiếm toàn bộ văn bản
- Không hỗ trợ tạo vectơ nhúng
- Không hỗ trợ các tính năng SQL như
@view,@col(dataType)hoặc SQL gốc.
Quản trị các phiên bản Cloud SQL
Nói chung, bạn có thể quản lý các phiên bản Cloud SQL bằng Google Cloud bảng điều khiển để thực hiện các quy trình làm việc sau.
Data Connect- 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 phiên bản cơ sở dữ liệu PostgreSQL bằng các 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 Cloud SQL trong bảng điều khiển Google Cloud
- Quản lý quyền truy cập và bảo mật 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 uỷ quyền
- Thêm, xoá và quản trị người dùng Cloud SQL.
Đối với các quy trình làm việc này và các quy trình làm việc khác, hãy tham khảo tài liệu về Cloud SQL cho PostgreSQL.
Cấp vai trò 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 cần thiết tối thiểu để hỗ trợ chức năng cần thiết) và khái niệm về kiểm soát 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 đối với 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-managed quản lý thông qua một ứng dụng SQL mà bạn chọn, ví dụ: 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.clientcho người dùng hoặc tài khoản dịch vụ cần kết nối với phiên bản, 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 Firebase CLI
Chỉ định vai trò IAM Cloud SQL
Để biết thông tin về cách làm việc với Cloud SQL cho PostgreSQL để chỉ định vai trò IAM
role roles/cloudsql.client, hãy xem Vai trò và quyền.
Cấp vai trò PostgreSQL
Bằng Firebase CLI, 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ụ được liên kết với dự án bằng firebase dataconnect:sql:grant lệnh.
Ví dụ: để cấp vai trò người ghi, 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 CLI.
Tích hợp các cơ sở dữ liệu Cloud SQL cho PostgreSQL hiện có
Quy trình cung cấp và quản lý cơ sở dữ liệu mặc định giả định rằng 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 quá trình di chuyển sau khi bạn phê duyệt.
Đối với các cơ sở dữ liệu hiện có (brownfield), 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 Data Connect công cụ để di chuyển, nhưng vẫn muốn sử dụng cơ sở dữ liệu của mình 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 cung cấp hướng dẫn về trường hợp sau: tích hợp các 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:
- Trong quá trình thiết lập dự án Data Connect trong bảng điều khiển Firebase, hãy chọn phiên bản và cơ sở dữ liệu.
Sử dụng Firebase CLI, chạy lệnh
firebase dataconnect:sql:setupcommand và từ chối lựa chọn cho phép Data Connect xử lý quá trình 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 thực hiện, lệnh
setupsẽ chỉ định các vai trò người đọc và người ghi phù hợp, nhưng không phải vai tròowner. Bạn có thể xem thêm thông tin về lệnhsetupvà các vai trò PostgreSQL trong hướng dẫn tham khảo CLI.Viết giản đồ Data Connect GraphQL khớp với giản đồ cơ sở dữ liệu của bạn.
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 căn 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 cần thiết để di chuyển cơ sở dữ liệu. Bạn có thể sử dụng lệnh này để tinh chỉnh lặp lại giản đồ GraphQL cho phù hợp với giản đồ cơ sở dữ liệu hiện có.Trong tương lai, bạn có thể nhanh chóng lặp lại giản đồ, truy vấn và đột biến 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ác quy trình và công cụ tuỳ chỉnh.Ngoài ra, trước tiên, bạn có thể trực tiếp thay đổi cơ sở dữ liệu PostgreSQL, sau đó thử chuyển các thay đổi đó trở lại giản đồ GraphQL. Bạn nên sử dụng phương pháp tiếp cận GraphQL trước tiên, vì có thể có những trường hợp không hỗ trợ các thay đổi về giản đồ. 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 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.