Layanan data Google Cloud yang dibahas dalam halaman ini mencakup layanan yang menyimpan dan menyediakan data sebagai respons terhadap permintaan. SLI untuk layanan ini mirip dengan SLI untuk layanan respons permintaan, yang dijelaskan dalam Layanan respons permintaan, dengan fokus utama pada ketersediaan dan latensi. Perlu diperhatikan bahwa latensi, terutama saat mengukur waktu respons kueri database, sering kali menjadi faktor jumlah data yang diambil, dan dapat bervariasi sesuai beban kerja aplikasi.
Anda mengekspresikan SLI ketersediaan berbasis permintaan menggunakan
struktur TimeSeriesRatio
untuk menyiapkan
rasio permintaan "baik" terhadap total
permintaan. Anda memutuskan cara memfilter metrik menggunakan label yang tersedia untuk mendapatkan penentuan "baik" atau "valid" yang Anda inginkan.
Anda mengekspresikan SLI latensi berbasis permintaan menggunakan
struktur DistributionCut
.
Cloud Storage
Cloud Storage adalah penyimpanan objek yang sangat tahan lama dari Google Cloud di seluruh dunia. Cloud Storage tersedia dalam beberapa kelas penyimpanan, yang dapat Anda gunakan untuk menentukan biaya dan model pengambilan yang sesuai untuk layanan atau kasus penggunaan Anda.
Untuk informasi tambahan, lihat referensi berikut:
- Dokumentasi untuk Cloud Storage.
- Daftar jenis metrik
storage.googleapis.com
.
SLI Ketersediaan
Cloud Storage menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dimonitor dan gcs_bucket
dan jenis metrik api/request_count
. Anda dapat memfilter data menggunakan label metrik response_code
untuk menghitung permintaan "baik". Anda juga dapat menggunakan label metrik method
untuk mengukur ketersediaan metode API tertentu, seperti ReadObject
.
Anda mengekspresikan SLI ketersediaan berbasis permintaan untuk membaca objek dari bucket Cloud Storage menggunakan rasio TimeSeriesRatio
dari permintaan yang baik terhadap total permintaan, seperti yang ditunjukkan dalam contoh berikut:
"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 berdasarkan Latensi
Cloud Storage tidak menyediakan metrik latensi. Jika latensi menjadi masalah, pertimbangkan untuk melengkapi layanan Anda guna mengumpulkannya di klien.
Bigtable
Bigtable adalah layanan database NoSQL yang skalabel dan terkelola sepenuhnya untuk workload analisis dan operasional yang besar. Bigtable cocok untuk menyimpan data dalam jumlah yang sangat besar di penyimpanan nilai kunci. Bigtable juga mendukung throughput baca dan tulis yang tinggi pada latensi rendah, sehingga menawarkan akses cepat ke data dalam jumlah besar.
Untuk informasi tambahan, lihat referensi berikut:
- Dokumentasi untuk Bigtable.
- Daftar jenis metrik
bigtable.googleapis.com
.
SLI Ketersediaan
Bigtable menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dimonitor bigtable_table
dan jenis metrik berikut:
-
server/request_count
, yang menghitung jumlah total permintaan. -
server/error_count
, yang menghitung jumlah total permintaan yang gagal.
Anda mengekspresikan SLI ketersediaan berbasis permintaan untuk membaca objek dari bucket Cloud Storage menggunakan rasio TimeSeriesRatio
dari permintaan "buruk" terhadap total permintaan, seperti yang ditunjukkan dalam contoh berikut:
Anda dapat menggunakan kedua metrik ini untuk mengekspresikan SLI ketersediaan berbasis permintaan
dengan membuat
struktur TimeSeriesRatio
untuk permintaan yang gagal
terhadap total permintaan, seperti yang ditunjukkan dalam contoh berikut:
"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 berdasarkan Latensi
Untuk mengukur latensi, Bigtable menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dimonitor bigtable_table
dan jenis metrik server/latencies
. Anda dapat memfilter data menggunakan label metrik method
untuk mengukur latensi metode tertentu.
Anda mengekspresikan SLI latensi berbasis permintaan menggunakan
struktur DistributionCut
.
Contoh SLO berikut memperkirakan 99% dari semua permintaan ke tabel my_table
di cluster my_cluster
akan mencapai total latensi antara 0 dan 100 milidetik selama periode satu jam yang bergulir:
{
"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 adalah layanan database relasional yang terkelola sepenuhnya dan menawarkan konsistensi transaksional pada skala global, skema, SQL (ANSI 2011 dengan ekstensi), dan replikasi sinkron otomatis untuk ketersediaan yang tinggi.
Untuk informasi tambahan, lihat referensi berikut:
- Dokumentasi untuk Spanner.
- Daftar jenis metrik
spanner.googleapis.com
.
SLI Ketersediaan
Spanner menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dipantau spanner_instance
dan jenis metrik query_count
. Anda dapat memfilter data menggunakan label metrik status
untuk menghitung kueri database yang berhasil dan gagal.
Anda mengekspresikan SLI ketersediaan berbasis permintaan dengan membuat
struktur TimeSeriesRatio
untuk
permintaan "baik" ke total permintaan, seperti yang ditunjukkan dalam contoh berikut:
"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 berdasarkan Latensi
Untuk mengukur latensi, Spanner menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dimonitor spanner_instance
dan jenis metrik api/request_latencies
. Anda dapat memfilter data menggunakan label metrik method
untuk mengukur latensi metode tertentu. Data
ini mencakup latensi tidak hanya untuk kueri, tetapi untuk panggilan
API Spanner lainnya.
Anda mengekspresikan SLI latensi berbasis permintaan menggunakan
struktur DistributionCut
.
Contoh SLO berikut memperkirakan bahwa 99% dari semua permintaan API ke database my_database
akan memiliki total latensi antara 0 dan 100 milidetik selama periode satu jam yang bergulir:
{
"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 adalah database NoSQL yang sangat skalabel untuk aplikasi Anda. Datastore secara otomatis menangani sharding dan replikasi, sehingga Anda memiliki database yang sangat tersedia dan andal yang diskalakan secara otomatis untuk menangani beban aplikasi Anda.
Untuk informasi tambahan, lihat referensi berikut:
- Dokumentasi untuk Datastore.
- Daftar jenis metrik
datastore.googleapis.com
.
SLI Ketersediaan
Datastore menulis data metrik ke Cloud Monitoring menggunakan jenis resource yang dimonitor dan datastore_request
dan jenis metrik api/request_count
. Anda dapat memfilter data menggunakan label metrik response_code
untuk menghitung panggilan API yang berhasil dan gagal atau dengan menggunakan label metrik api_method
untuk, misalnya, hanya mengukur pembacaan dokumen.
Anda mengekspresikan SLI ketersediaan berbasis permintaan dengan membuat
struktur TimeSeriesRatio
untuk
permintaan yang berhasil ke total permintaan, seperti yang ditunjukkan dalam contoh berikut:
"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 berdasarkan Latensi
Datastore saat ini tidak menyediakan metrik latensi.
Untuk metrik yang tersedia, lihat jenis metrik datastore.googleapis.com
.