Vị trí Cloud Firestore

Khi cấp phép một thực thể Cloud Firestore, bạn phải chọn một vị trí cho thực thể đó. Để giảm độ trễ và tăng khả năng sử dụng, hãy lưu trữ dữ liệu gần với người dùng và dịch vụ cần dữ liệu đó.

Nếu dự án của bạn đang sử dụng gói giá Blaze trả theo mức sử dụng, thì bạn có thể tuỳ ý tạo nhiều cơ sở dữ liệu trong dự án, mỗi cơ sở dữ liệu có chế độ cài đặt vị trí riêng.

Xin lưu ý rằng sau khi cấp phép một thực thể cơ sở dữ liệu, bạn không thể thay đổi chế độ cài đặt vị trí của thực thể đó.

Các loại vị trí

Bạn có thể lưu trữ dữ liệu Cloud Firestore ở một vị trí đa khu vực hoặc một vị trí theo khu vực.

Vị trí nhiều khu vực

Chọn một vị trí nhiều khu vực để tối đa hoá khả năng hoạt động và độ bền của cơ sở dữ liệu.

Vị trí đa khu vực bao gồm một tập hợp khu vực được xác định, nơi lưu trữ nhiều bản sao của cơ sở dữ liệu. Mỗi bản sao là một bản sao đọc-ghi chứa tất cả dữ liệu trong cơ sở dữ liệu hoặc một bản sao nhân chứng không duy trì một tập dữ liệu đầy đủ nhưng tham gia vào quá trình sao chép.

Bằng cách nhân bản dữ liệu giữa nhiều khu vực, dữ liệu có thể tiếp tục được phân phát ngay cả khi mất toàn bộ một khu vực. Trong một khu vực, dữ liệu được nhân bản trên các vùng để có thể tiếp tục phân phát dữ liệu trong khu vực đó ngay cả khi mất một vùng.

Cloud Firestore hỗ trợ các vị trí đa khu vực sau:

Tên nhiều khu vực Nội dung mô tả nhiều khu vực Khu vực Đọc-Ghi Khu vực chứng kiến
eur3 Châu Âu europe-west1 (Bỉ), europe-west4 (Hà Lan) europe-north1 (Phần Lan)
nam5 Hoa Kỳ us-central1 (Iowa), us-central2 (Oklahoma – khu vực GCP riêng tư) us-east1 (Nam Carolina)

Xin lưu ý rằng nếu dự án của bạn đã có một ứng dụng App Engine có vị trí là us-central hoặc europe-west, thì cơ sở dữ liệu Cloud Firestore mặc định sẽ được coi là đa khu vực.

Vị trí theo khu vực

Vị trí theo khu vực là một địa điểm địa lý cụ thể, chẳng hạn như Nam Carolina. Dữ liệu ở một vị trí theo khu vực được nhân bản ở nhiều vùng trong một khu vực. Tất cả vị trí theo khu vực cách nhau ít nhất 100 dặm với các vị trí theo khu vực khác.

Chọn một vị trí theo khu vực để giảm chi phí, giảm độ trễ ghi nếu ứng dụng của bạn nhạy cảm với độ trễ hoặc để đặt cùng vị trí với các tài nguyên Google Cloud khác.

Cloud Firestore hỗ trợ các vị trí tài nguyên theo khu vực sau:

Tên khu vựcNội dung mô tả về khu vực
Bắc Mỹ
us-west1Oregon
us-west2Los Angeles
us-west3Salt Lake City
us-west4Las Vegas

us-central1

Iowa
northamerica-northeast1Montréal

northamerica-northeast2

Toronto

northamerica-south1

Queretaro
us-east1Nam Carolina
us-east4Bắc Virginia

us-east5

Columbus

us-south1

Dallas
Nam Mỹ

southamerica-west1

Santiago
southamerica-east1São Paulo
Châu Âu
europe-west2London

europe-west1

Bỉ

europe-west4

Hà Lan

europe-west8

Milan

europe-southwest1

Madrid

europe-west9

Paris

europe-west12

Turin

europe-west10

Berlin
europe-west3Frankfurt

europe-north1

Phần Lan
europe-central2Warsaw
europe-west6Zürich
Trung Đông

me-central1

Doha

me-central2

Dammam

me-west1

Tel Aviv
Châu Á
asia-south1Mumbai

asia-south2

Delhi
asia-southeast1Singapore
asia-southeast2Jakarta
asia-east2Hong Kong
asia-east1Đài Loan
asia-northeast1Tokyo
asia-northeast2Osaka
asia-northeast3Seoul
Úc
australia-southeast1Sydney

australia-southeast2

Melbourne
Châu Phi

africa-south1

Johannesburg

SLA về vị trí

Loại vị trí Cloud Firestore xác định tỷ lệ thời gian hoạt động của Thoả thuận mức độ cung cấp dịch vụ (SLA):

Dịch vụ được bảo hiểm Tỷ lệ phần trăm thời gian hoạt động hằng tháng
Cloud Firestore Nhiều khu vực >= 99,999%
Cloud Firestore Khu vực >= 99,99%

Định giá theo vị trí

Vị trí Cloud Firestore xác định chi phí của các thao tác cơ sở dữ liệu.

Để biết nội dung giải thích toàn diện về giá theo khu vực và theo loại khu vực, hãy xem bài viết Tìm hiểu về hệ thống thanh toán Cloud Firestore.

Xem vị trí của cơ sở dữ liệu

Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Cloud Firestore Dữ liệu để xem danh sách các thực thể cơ sở dữ liệu và vị trí của các thực thể đó.

Các phần phụ thuộc vị trí có thể xảy ra do "vị trí cho tài nguyên Google Cloud mặc định"

"Vị trí cho tài nguyên Google Cloud mặc định" là chế độ cài đặt vị trí cho mọi tài nguyên dự án liên kết với Google App Engine, bao gồm cả:

  • thực thể cơ sở dữ liệu Cloud Firestore mặc định
  • Cloud Storage mặc định cho bộ chứa Firebase có định dạng tên là *.appspot.com
  • Google Cloud Scheduler được dùng riêng cho các hàm được lên lịch thế hệ 1

"Vị trí cho tài nguyên Google Cloud mặc định" này là một chế độ cài đặt không thể thay đổi. Ngoài ra, khi đặt vị trí cho một trong các tài nguyên được liên kết, bạn gián tiếp đặt vị trí cho tất cả các tài nguyên đó do mối liên kết chung của chúng với App Engine.

Tuy nhiên, với nhiều thay đổi đối với hệ sinh thái Firebase và Google Cloud trong nhiều năm qua, các mối liên kết của tài nguyên với App Engine đã thay đổi. Đáng chú ý nhất là kể từ ngày 30 tháng 10 năm 2024, tất cả Cloud Storage mặc định mới được cấp cho các bộ chứa Firebase đều có định dạng tên là *.firebasestorage.appkhông được liên kết với App Engine.

Sau đây là thông tin chi tiết về những thay đổi trong các phần phụ thuộc vị trí có thể có:

  • Kể từ ngày 30 tháng 10 năm 2024, nếu bản sao Cloud Firestore mặc định và Cloud Storage mặc định cho bộ chứa Firebase chưa được cấp phép:

    • Việc cấp phép thực thể Cloud Firestore mặc định sẽ đặt vị trí cho mọi ứng dụng App Engine trong tương lai được cấp phép trong dự án. Tuy nhiên, thuộc tính này không chỉ định vị trí của bộ chứa Cloud Storage mặc định trong tương lai.

    • Việc cấp vùng chứa Cloud Storage mặc định không còn cấp ứng dụng App Engine nữa. Do đó, vị trí của vùng chứa Cloud Storage mặc định không chỉ định vị trí của thực thể Cloud Firestore mặc định trong tương lai.

  • Kể từ ngày 30 tháng 10 năm 2024, nếu thực thể Cloud Firestore mặc định đã được cấp phép, nhưng Cloud Storage mặc định cho bộ chứa Firebase chưa được cấp phép:

    • Phiên bản Cloud Firestore mặc định hiện có không chỉ định vị trí của bộ chứa Cloud Storage mặc định trong tương lai (*.firebasestorage.app).
  • Kể từ ngày 30 tháng 10 năm 2024, nếu Cloud Storage mặc định cho bộ chứa Firebase đã được cấp phép (cụ thể là bộ chứa *.appspot.com), nhưng thực thể Cloud Firestore mặc định chưa được cấp phép:

    • Trước đây, khi bộ chứa Cloud Storage mặc định (*.appspot.com) được cấp phép, ứng dụng App Engine cũng được cấp phép, do đó, vị trí của thực thể Cloud Firestore mặc định trong tương lai đã được đặt tại thời điểm đó. Ngay cả khi xoá bộ chứa *.appspot.com, bạn cũng không thể xoá ứng dụng App Engine, vì vậy, chế độ cài đặt vị trí của thực thể Cloud Firestore mặc định trong tương lai đã được đặt.

Nếu bạn đã sử dụng các hàm được lên lịch thế hệ 1, thì vị trí của các hàm này sẽ được đặt thành vị trí cho tài nguyên Google Cloud mặc định. Điều này là do trước đó, Cloud SchedulerApp Engine có liên kết với nhau. Ngoài ra, nếu thiết lập các hàm được lên lịch thế hệ 1 trước khi cấp các tài nguyên khác có chia sẻ chế độ cài đặt vị trí này, thì bạn cũng sẽ thiết lập vị trí của các tài nguyên đó.

Xin lưu ý rằng nếu bạn có một ứng dụng App Engine có vị trí là us-central hoặc europe-west, thì vị trí của tài nguyên Google Cloud mặc định sẽ được coi là đa khu vực.

Các bước tiếp theo

  • Để biết thêm thông tin về cách xây dựng ứng dụng nhằm đáp ứng các yêu cầu về độ trễ, khả năng sử dụng và độ bền, hãy tham khảo phần Vị trí địa lý và khu vực.