資料儲存與擷取服務

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

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

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

Cloud Storage

Cloud Storage 是 Google Cloud's 全球通用的高耐用物件儲存空間。Cloud Storage 提供多種儲存空間級別,可讓您根據服務或用途,決定合適的費用和擷取模式。

詳情請參閱下列說明:

可用性 SLI

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 也支援低延遲的高總處理量讀寫作業,可讓您快速存取大量資料。

詳情請參閱下列說明:

可用性 SLI

Bigtable 會使用 bigtable_table 受監控資源類型和下列指標類型,將指標資料寫入 Cloud Monitoring:

如要表示從 Cloud Storage 值區讀取物件的以要求為準可用性 SLI,請使用「不良」要求與要求總數的比率 TimeSeriesRatio,如下列範例所示:

您可以建立要求失敗次數與要求總數的 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。

以下服務等級目標預期在 my_cluster 叢集中,my_table 資料表所有要求的總延遲時間,在過去一小時內有 99% 介於 0 到 100 毫秒之間:

{
  "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 延伸),以及自動同步的複寫功能,以提高可用性。

詳情請參閱下列說明:

可用性 SLI

Spanner 會使用 spanner_instance 受監控資源類型和 query_count 指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 status 指標標籤篩選資料,計算資料庫查詢成功和失敗的次數。

如要表示以要求為基礎的可用性 SLI,請為「良好」要求與要求總數建立 TimeSeriesRatio 結構,如下列範例所示:

"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 範例預期在過去一小時內,所有對 my_database 資料庫的 API 要求中,有 99% 的總延遲時間介於 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 會自動處理資料分割和複製作業,並能配合應用程式的負載自動調度資源,因此可用性和耐用性都相當高。

詳情請參閱下列說明:

可用性 SLI

Datastore 會使用 datastore_request 受監控資源類型和 api/request_count 指標類型,將指標資料寫入 Cloud Monitoring。您可以使用 response_code 指標標籤篩選資料,計算 API 呼叫成功和失敗的次數,也可以使用 api_method 指標標籤,例如只評估文件讀取次數。

如要表示以要求為基礎的可用性 SLI,請為成功要求與要求總數建立 TimeSeriesRatio 結構,如下列範例所示:

"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 指標類型