本頁討論的 Google Cloud 資料服務包括儲存資料並提供資料做為要求回應的服務。這些服務的 SLI 與「要求與回應服務」一文所述的 SLI 類似,主要著重於可用性和延遲時間。請注意,延遲時間 (尤其是在測量資料庫查詢回應時間時) 通常會受到擷取的資料量影響,且可能因應用程式工作負載而異。
您可以使用 TimeSeriesRatio
結構體,針對「良好」要求與要求總數的比率,表達以要求為基礎的可用性 SLI。您可以使用指標的可用標籤,決定如何篩選指標,以便判斷「良好」或「有效」。
您可以使用 DistributionCut
結構體,表示以要求為基礎的延遲 SLI。
Cloud Storage
Cloud Storage 是 Google Cloud在世界各地提供的高度耐用物件儲存空間。Cloud Storage 提供多種儲存空間級別,讓您根據服務或用途決定合適的費用和擷取模式。
如需更多資訊,請參閱下列資源:
- Cloud Storage 說明文件。
storage.googleapis.com
指標類型清單。
可用性服務水準協議
Cloud Storage 會使用 gcs_bucket
受控資源類型和 api/request_count
指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 response_code
指標標籤來計算「良好」要求,藉此篩選資料。您也可以使用 method
指標標籤,評估特定 API 方法 (例如 ReadObject
) 的可用性。
您可以使用成功要求與總要求的比率 TimeSeriesRatio
,表達從 Cloud Storage 值區讀取物件的依要求可用性 SLI,如以下範例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"",
"goodServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"
metric.label.\"response_code\"=\"OK\"",
}
}
}
延遲時間 SLI
Cloud Storage 不會提供延遲指標;如果您擔心延遲問題,建議您在用戶端上收集服務的相關資料。
Bigtable
Bigtable 是可擴充的全代管 NoSQL 資料庫服務,適合用來執行規模龐大的分析任務和作業工作負載。如要在鍵/值儲存庫中存放大量資料,Bigtable 會是您的絕佳選擇。Bigtable 也支援低延遲的高總處理量讀寫作業,可讓您快速存取大量資料。
如需更多資訊,請參閱下列資源:
- Bigtable 說明文件。
bigtable.googleapis.com
指標類型清單。
可用性服務水準協議
Bigtable 會使用 bigtable_table
受控資源類型和下列指標類型,將指標資料寫入 Cloud Monitoring:
-
server/request_count
,用於計算要求總數。 -
server/error_count
,用於計算失敗要求的總數。
您可以使用「不良」要求與總要求的比率 TimeSeriesRatio
,表達從 Cloud Storage 值區讀取物件的依要求為基礎的可用性 SLI,如以下範例所示:
您可以使用這兩項指標,針對失敗的要求和總要求數量建立 TimeSeriesRatio
結構,藉此表達以要求為準的可用性 SLI,如以下範例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/request_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"badServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/error_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
}
}
}
延遲時間 SLI
為了評估延遲時間,Bigtable 會使用 bigtable_table
受控資源類型和 server/latencies
指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 method
指標標籤來篩選資料,以便評估特定方法的延遲時間。
您可以使用 DistributionCut
結構體,表示以要求為基礎的延遲 SLI。
以下範例 SLO 預期,在 my_cluster
叢集中,對 my_table
資料表的所有要求,在滾動式一小時期間內,總延遲時間落在 0 到 100 毫秒之間的比例為 99%:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"bigtable.googleapis.com/server/latencies\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Spanner
Spanner 是全代管關聯資料庫服務,可提供全球規模的交易一致性、結構定義、SQL (ANSI 2011 延伸),以及自動同步的複寫功能,以提高可用性。
如需更多資訊,請參閱下列資源:
- Spanner 說明文件。
spanner.googleapis.com
指標類型清單。
可用性服務水準協議
Spanner 會使用 spanner_instance
受控資源類型和 query_count
指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 status
指標標籤計算成功和失敗的資料庫查詢,藉此篩選資料。
您可以建立 TimeSeriesRatio
結構體,針對「良好」要求與要求總數的比率來表示依要求為基礎的可用性 SLI,如以下範例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"goodServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"
metric.label.\"status\"=\"ok\"",
}
}
}
延遲時間 SLI
為了評估延遲時間,Spanner 會使用 spanner_instance
受控資源類型和 api/request_latencies
指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 method
指標標籤來篩選資料,以便評估特定方法的延遲時間。這項資料包含的延遲時間不僅是查詢,也包括其他 Spanner API 呼叫。
您可以使用 DistributionCut
結構體,表示以要求為基礎的延遲 SLI。下列 SLO 範例預期,在 1 小時滾動期間,99% 的 my_database
資料庫 API 要求總延遲時間介於 0 和 100 毫秒之間:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"spanner.googleapis.com/api/request_latencies\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Datastore
Datastore 是具備高度擴充性的 NoSQL 資料庫,適用於應用程式。Datastore 會自動處理資料分割和複製作業,可隨著應用程式的負載自動調度資源,因此可用性和耐用性都相當高。
如需更多資訊,請參閱下列資源:
- Datastore 說明文件。
datastore.googleapis.com
指標類型清單。
可用性服務水準協議
Datastore 會使用 datastore_request
受控資源類型和 api/request_count
指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 response_code
指標標籤來計算成功和失敗的 API 呼叫,或是使用 api_method
指標標籤,例如只評估文件讀取次數,來篩選資料。
您可以建立 TimeSeriesRatio
結構,針對成功的請求與總請求數量來表示依要求為基礎的可用性 SLI,如以下範例所示:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"",
"goodServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"
metric.label.\"response_code\"=\"success\"",
}
}
}
延遲時間 SLI
Datastore 目前不提供延遲指標。如需可用指標的相關資訊,請參閱 datastore.googleapis.com
指標類型。