資料儲存與擷取服務

本頁討論的 Google Cloud 資料服務包括儲存資料並提供資料做為要求回應的服務。這些服務的 SLI 與「要求與回應服務」一文所述的 SLI 類似,主要著重於可用性和延遲時間。請注意,延遲時間 (尤其是在測量資料庫查詢回應時間時) 通常會受到擷取的資料量影響,且可能因應用程式工作負載而異。

您可以使用 TimeSeriesRatio 結構體,針對「良好」要求與要求總數的比率,表達以要求為基礎的可用性 SLI。您可以使用指標的可用標籤,決定如何篩選指標,以便判斷「良好」或「有效」。

您可以使用 DistributionCut 結構體,表示以要求為基礎的延遲 SLI。

Cloud Storage

Cloud Storage 是 Google Cloud在世界各地提供的高度耐用物件儲存空間。Cloud Storage 提供多種儲存空間級別,讓您根據服務或用途決定合適的費用和擷取模式。

如需更多資訊,請參閱下列資源:

可用性服務水準協議

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_table 受控資源類型和下列指標類型,將指標資料寫入 Cloud Monitoring:

您可以使用「不良」要求與總要求的比率 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_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_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 指標類型