Vị trí Cloud Firestore

Khi cung cấp một Cloud Firestore thực thể, bạn phải chọn một vị trí cho thực thể đó. Để giảm độ trễ và tăng khả năng cung cấp, 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ả tiền theo mức dùng, thì bạn có thể tuỳ ý tạo nhiều cơ sở dữ liệu trong dự án của mình, mỗi cơ sở dữ liệu có chế độ cài đặt vị trí riêng.

Xin lưu ý rằng sau khi cung cấ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 ở vị trí đa vùng hoặc vị trí theo vùng.

Vị trí đa vùng

Chọn vị trí đa vùng để tối đa hoá khả năng cung cấp và độ bền của cơ sở dữ liệu.

Vị trí đa vùng bao gồm một tập hợp các vùng được xác định, nơi lưu trữ nhiều bản sao của cơ sở dữ liệu được lưu trữ. 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 chứng kiến không duy trì một tập hợp đầy đủ dữ liệu nhưng tham gia vào quá trình nhân bản.

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

Cloud Firestore hỗ trợ các vị trí đa vùng sau:

Tên đa vùng Nội dung mô tả về đa vùng Vùng đọc-ghi Vùng chứng kiến
eur3 Châu Âu europe-west1 (Bỉ), europe-west4 (Hà Lan) europe-north1 (Phần Lan)
nam5 Hoa Kỳ (Miền trung) us-central1 (Iowa), us-central2 (Oklahoma – vùng GCP riêng tư) us-east1 (South Carolina)
nam7 Hoa Kỳ (Miền trung và miền đông) us-central1 (Iowa), us-east4 (Bắc Virginia) us-central2 (Oklahoma – vùng Google Cloud riêng tư)

Vị trí theo vùng

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

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

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

Tên vùngNội dung mô tả về vùng
Bắc Mỹ
us-west1Oregon
us-west2Los Angeles
us-west3Thành phố Salt Lake
us-west4Las Vegas

us-central1

Iowa
northamerica-northeast1Montréal

northamerica-northeast2

Toronto

northamerica-south1

Queretaro
us-east1South 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-north2

Stockholm
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 của bạn xác định tỷ lệ phần trăm thời gian hoạt động theo Thỏa thuận mức độ cung cấp dịch vụ (SLA):

Dịch vụ được áp dụng Tỷ lệ phần trăm thời gian hoạt động hằng tháng
Cloud Firestore đa vùng >= 99,999%
Cloud Firestore theo vùng >= 99,99%

Giá theo vị trí

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

Để biết giải thích toàn diện về giá theo vùng và theo loại vùng, hãy xem Tìm hiểu về hoá đơnCloud Firestore.

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

Bạn có thể xem danh sách các thực thể cơ sở dữ liệu và vị trí của chúng trong thẻ Cơ sở dữ liệu và bộ nhớ > Firestore > Dữ liệu trên bảng điều khiển của Firebase.

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

"Vị trí của các 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 được liên kết với Google App Engine, bao gồm cả những tài nguyên sau:

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

"Vị trí của các tài nguyên mặc định Google Cloud" là chế độ cài đặt không thể thay đổi. Ngoài ra, khi bạn đặt vị trí cho một trong các tài nguyên được liên kết, bạn sẽ 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, do hệ sinh thái Firebase và Google Cloud đã có nhiều thay đổi trong những năm qua, nên mối liên kết của các tài nguyên với App Engine cũng đã thay đổi. Đáng chú ý nhất là kể từ ngày 30 tháng 10 năm 2024, tất cả các nhóm mặc định mới được cung cấp cho Firebase đều có định dạng tên là *.firebasestorage.appkhông được liên kết với App Engine.Cloud Storage

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

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

    • Việc cung cấ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 cung cấp trong dự án. Tuy nhiên, việc này không chỉ định vị trí của nhóm mặc định Cloud Storage trong tương lai.

    • Việc cung cấp nhóm Cloud Storage mặc định không còn cung cấp ứng dụng App Engine nữa. Do đó, vị trí của nhóm 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 cung cấp, nhưng nhóm mặc định Cloud Storage cho Firebase _chưa_ được cung cấp:

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

    • Khi nhóm Cloud Storage mặc định (*.appspot.com) được cung cấp, một ứng dụng App Engine cũng được cung cấp. Do đó, vị trí của thực thể Cloud Firestore mặc định trong tương lai đã được đặt vào thời điểm đó. Ngay cả khi bạn xoá nhóm *.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 theo lịch trình thế hệ thứ 1, thì vị trí của các hàm đó sẽ được đặt thành vị trí của các tài nguyên mặc định Google Cloud. Điều này là do Cloud SchedulerApp Engine trước đây có mối liên kết với nhau. Ngoài ra, nếu bạn thiết lập các hàm theo lịch trình thế hệ thứ nhất trước khi cung cấp các tài nguyên khác có chung chế độ cài đặt vị trí này, thì bạn cũng sẽ đặt 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 với vị trí là us-central hoặc europe-west, thì vị trí của các tài nguyên Google Cloud mặc định sẽ được coi là đa vùng.

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 cung cấp và độ bền, hãy tham khảo bài viết Vị trí địa lý và vùng.