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ực | Nội dung mô tả về khu vực | |
---|---|---|
Bắc Mỹ | ||
us-west1 | Oregon | |
us-west2 | Los Angeles | |
us-west3 | Salt Lake City | |
us-west4 | Las Vegas | |
|
Iowa | |
northamerica-northeast1 | Montréal | |
|
Toronto | |
|
Queretaro | |
us-east1 | Nam Carolina | |
us-east4 | Bắc Virginia | |
|
Columbus | |
|
Dallas | |
Nam Mỹ | ||
|
Santiago | |
southamerica-east1 | São Paulo | |
Châu Âu | ||
europe-west2 | London | |
|
Bỉ | |
|
Hà Lan | |
|
Milan | |
|
Madrid | |
|
Paris | |
|
Turin | |
|
Berlin | |
europe-west3 | Frankfurt | |
|
Phần Lan | |
europe-central2 | Warsaw | |
europe-west6 | Zürich | |
Trung Đông | ||
|
Doha | |
|
Dammam | |
|
Tel Aviv | |
Châu Á | ||
asia-south1 | Mumbai | |
|
Delhi | |
asia-southeast1 | Singapore | |
asia-southeast2 | Jakarta | |
asia-east2 | Hong Kong | |
asia-east1 | Đài Loan | |
asia-northeast1 | Tokyo | |
asia-northeast2 | Osaka | |
asia-northeast3 | Seoul | |
Úc | ||
australia-southeast1 | Sydney | |
|
Melbourne | |
Châu Phi | ||
|
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 *.firebasestorage.app
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
- 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 (
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 ), nhưng thực thể Cloud Firestore mặc định chưa được cấp phép:*.appspot.com
- Trước đây, khi bộ chứa Cloud Storage mặc định (
) đượ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.*.appspot.com
- Trước đây, khi bộ chứa Cloud Storage mặc định (
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 Scheduler và App 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
- Để tạo cơ sở dữ liệu Cloud Firestore ở một vị trí cụ thể, hãy truy cập vào bài viết Bắt đầu sử dụng Cloud Firestore.
- Để 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.