全部产品
Search
文档中心

Database Autonomy Service:GetStorageAnalysisResult

更新时间:Dec 19, 2025

Menanyakan status dan hasil dari suatu task analisis storage.

Deskripsi operasi

Catatan

Ukuran file fisik menunjukkan ukuran sebenarnya dari sebuah file yang diperoleh. Hanya mode penyebaran instans database tertentu yang mendukung penampilan ukuran file fisik. Statistik tabel diperoleh dari information_schema.tables. Statistik di MySQL tidak diperbarui secara real time, sehingga mungkin berbeda dari ukuran file fisik. Untuk memperoleh data terbaru, Anda dapat mengeksekusi pernyataan ANALYZE TABLE pada tabel terkait selama jam sepi.

  • Operasi ini hanya berlaku untuk instans ApsaraDB RDS for MySQL, kluster PolarDB for MySQL, dan instans ApsaraDB for MongoDB.

  • Untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL, operasi ini berfungsi serupa dengan fitur analisis storage versi sebelumnya. Task yang dihasilkan oleh operasi ini tidak dapat dilihat pada halaman Storage Analysis versi baru di konsol Database Autonomy Service (DAS). Untuk melihat task dan hasilnya, panggil operasi API terkait guna memperoleh data tersebut dan simpan ke komputer Anda.

  • Jika Anda menggunakan Alibaba Cloud SDK atau DAS SDK untuk memanggil operasi ini, disarankan untuk menggunakan versi SDK terbaru.

  • Jika Anda menggunakan SDK untuk memanggil operasi DAS, Anda harus mengatur region ID ke cn-shanghai.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

hdm:GetStorageAnalysisResult

none

*All Resource

*

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

ID instans.

rm-bp10xxxxxxxxx

NodeId

string

No

ID node.

Catatan

Parameter ini bersifat reserved.

202****

TaskId

string

Yes

ID task. Anda dapat memperoleh ID task dari respons operasi CreateStorageAnalysisTask.

910f83f4b96df0524ddc5749f615****

Elemen respons

Element

Type

Description

Example

object

Code

integer

Kode status HTTP yang dikembalikan.

200

Message

string

Pesan yang dikembalikan.

Catatan

Jika permintaan berhasil, Successful dikembalikan. Jika tidak, pesan kesalahan seperti kode kesalahan akan dikembalikan.

Successful

Data

object

Data yang dikembalikan.

TaskId

string

ID task.

910f83f4b96df0524ddc5749f615****

TaskFinish

boolean

Menunjukkan apakah task telah selesai.

true

TaskSuccess

boolean

Menunjukkan apakah task berhasil.

true

TaskState

string

Status task analisis storage. Nilai yang valid:

  • INIT: Task sedang diinisialisasi.

  • PENDING: Task sedang dalam antrian untuk dieksekusi.

  • RECEIVED: Task diterima untuk dieksekusi.

  • RUNNING: Task sedang dieksekusi.

  • RETRY: Task sedang dicoba ulang.

  • SUCCESS: Task berhasil.

  • FAILURE: Task gagal.

RUNNING

TaskProgress

integer

Progres task.

Catatan

Nilai yang valid adalah bilangan bulat dari 0 hingga 100.

50

TotalDbCount

integer

Jumlah database yang perlu dianalisis dalam task analisis storage.

32

AnalyzedDbCount

integer

Jumlah database yang telah dianalisis.

2

StorageAnalysisResult

object

Detail analisis storage.

TotalStorageSize

integer

Total ukuran storage instans.

Catatan

Unit: byte.

214748364800

TotalUsedStorageSize

integer

Ukuran storage yang digunakan.

Catatan

Unit: byte.

68345135104

TotalFreeStorageSize

integer

Ukuran storage yang tersisa.

Catatan

Unit: byte.

146403229696

DailyIncrement

integer

Perkiraan rata-rata pertumbuhan harian ruang storage yang digunakan dalam tujuh hari terakhir. Unit: byte.

0

EstimateAvailableDays

integer

Perkiraan jumlah hari ruang storage yang tersisa masih tersedia.

99

AnalysisSuccess

boolean

Menunjukkan apakah analisis pada database dan tabel berhasil.

true

AnalysisErrorType

string

Alasan mengapa analisis pada database dan tabel gagal.

  • DB_OR_TABLE_NOT_EXIST: Database atau tabel yang ditentukan tidak ada.

  • DB_NOT_EXIST: Database yang ditentukan tidak ada.

DB_NOT_EXIST

NeedOptimizeItemList

array<object>

Item yang perlu dioptimalkan, yang dihasilkan berdasarkan aturan default DAS. Anda dapat mengabaikan item-item ini sesuai kebutuhan bisnis Anda, dan membuat aturan kustom untuk menghasilkan item yang perlu dioptimalkan berdasarkan data dasar lain yang dikembalikan.

object

DbName

string

Nama database.

testdb01

TableName

string

Nama tabel.

test_table

OptimizeItemName

string

Item yang perlu dioptimalkan. Nilai yang valid:

  • NEED_ANALYZE_TABLE: tabel yang statistik storagenya yang diperoleh dari information_schema.tables lebih besar atau lebih kecil 50 GB dibandingkan ukuran file fisik. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • NEED_OPTIMIZE_TABLE: tabel yang fragmentasi spasinya lebih besar dari 6 GB dan tingkat fragmentasinya lebih dari 30%. Tingkat fragmentasi tabel umumnya dihitung berdasarkan rumus berikut:

    • ApsaraDB RDS for MySQL dan PolarDB for MySQL: Tingkat fragmentasi = DataFree/(DataSize + IndexSize + DataFree). Dalam topik ini, PhyTotalSize = DataSize + IndexSize + DataFree. Oleh karena itu, tingkat fragmentasi dapat dihitung dengan rumus berikut: Tingkat fragmentasi = DataFree/PhyTotalSize.

    • ApsaraDB for MongoDB: Tingkat fragmentasi = FragmentSize/PhyTotalSize.

  • TABLE_ENGINE: tabel yang mesin penyimpanannya bukan InnoDB atau XEngine. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: tabel yang penggunaan ID auto-increment-nya melebihi 80%. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • DUPLICATE_INDEX: tabel yang indeksnya redundan atau duplikat. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • TABLE_SIZE: tabel tunggal yang ukurannya lebih besar dari 50 GB. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: tabel tunggal yang berisi lebih dari 5 juta baris dan panjang rata-rata barisnya melebihi 10 KB. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • TOTAL_DATA_FREE: instans yang ruang yang dapat dipulihkan lebih besar dari 60 GB dan tingkat fragmentasi totalnya lebih dari 5%.

  • STORAGE_USED_PERCENT: instans yang penggunaan ruangnya lebih dari 90%.

NEED_OPTIMIZE_TABLE

OptimizeAdvice

string

Saran optimasi. Nilai yang valid:

  • NEED_ANALYZE_TABLE: Anda dapat mengeksekusi pernyataan ANALYZE TABLE pada tabel selama jam sepi. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • NEED_OPTIMIZE_TABLE: Anda dapat memulihkan fragmentasi selama jam sepi.

  • CHANGE_TABLE_ENGINE_IF_NECESSARY: Ubah tipe mesin penyimpanan tabel setelah melakukan penilaian risiko. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • AUTO_INCREMENT_ID_BE_TO_RUN_OUT: Perhatikan penggunaan ID auto-increment. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • DUPLICATE_INDEX: Optimalkan indeks tabel. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • TABLE_SIZE: Perhatikan ukuran tabel. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • TABLE_ROWS_AND_AVG_ROW_LENGTH: Perhatikan jumlah baris dalam tabel dan panjang rata-rata baris. Ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

  • STORAGE_USED_PERCENT: Perhatikan penggunaan ruang untuk mencegah instans terkunci jika penuh.

NEED_OPTIMIZE_TABLE

AssociatedData

string

Data yang terkait dengan item yang perlu dioptimalkan, dalam format JSON.

{ "autoIncrementCurrentValue": 2147483647, "autoIncrementRatio": 1, "dbName": "testdb01", "maximumValue": 2147483647, "columnName": "id", "tableName": "test_table" }

TableStats

array<object>

Informasi tentang tabel.

object

DbName

string

Nama database.

testdb01

TableName

string

Nama tabel.

test_table

TableType

string

Tipe tabel.

Catatan

Parameter ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

BASE TABLE

Engine

string

Tipe mesin penyimpanan yang digunakan oleh tabel.

Catatan

Parameter ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL.

InnoDB

PhysicalFileSize

integer

Ukuran file fisik tabel. Unit: byte.

Catatan

Parameter ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL. Data instans database tertentu tidak dapat diperoleh karena mode penyebaran.

3057655808

PhyTotalSize

integer

Ruang penyimpanan tabel. Unit: byte.

Catatan

Untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL, nilai parameter ini adalah jumlah dari DataSize, IndexSize, dan DataFree. Untuk instans ApsaraDB for MongoDB, nilai parameter ini adalah jumlah dari DataSize dan IndexSize.

3012493312

TotalSize

integer

  • Untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL, parameter ini menunjukkan jumlah ruang yang ditempati oleh data dan indeks tabel. Unit: byte. Nilainya adalah jumlah dari DataSize dan IndexSize.

  • Untuk instans ApsaraDB for MongoDB, parameter ini menunjukkan ukuran sebenarnya dari ruang yang dialokasikan oleh Block Manager. Unit: byte. Rasio kompresi instans ApsaraDB for MongoDB dihitung berdasarkan rumus berikut: Rasio kompresi = TotalSize/DataSize.

3005153280

IndexSize

integer

Ruang penyimpanan yang ditempati oleh indeks. Unit: byte.

1022296064

DataSize

integer

  • Untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL, parameter ini menunjukkan jumlah ruang yang ditempati oleh data. Unit: byte.

  • Untuk instans ApsaraDB for MongoDB, parameter ini menunjukkan ukuran data yang tidak terkompresi, yaitu jumlah data. Unit: byte.

1982857216

DataFree

integer

Ukuran fragmentasi ruang. Unit: byte.

Catatan

Parameter ini hanya berlaku untuk instans ApsaraDB RDS for MySQL dan kluster PolarDB for MySQL. Tingkat fragmentasi tabel umumnya dihitung berdasarkan rumus berikut: Tingkat fragmentasi = DataFree/(DataSize + IndexSize + DataFree). Dalam topik ini, Tingkat fragmentasi = DataFree/PhyTotalSize.

7340032

TableRows

integer

Jumlah baris dalam tabel.

12794732

AvgRowLength

integer

Panjang rata-rata baris. Unit: byte.

154

FragmentSize

integer

Ukuran ruang yang dapat dipulihkan. Unit: byte.

Catatan

Parameter ini hanya berlaku untuk instans ApsaraDB for MongoDB. Tingkat fragmentasi = FragmentSize/PhyTotalSize.

362221568

RequestId

string

ID permintaan.

B6D17591-B48B-4D31-9CD6-9B9796B2****

Success

boolean

Menunjukkan apakah permintaan berhasil. Nilai yang valid:

  • true

  • false

true

Contoh

Respons sukses

JSONformat

{
  "Code": 200,
  "Message": "Successful",
  "Data": {
    "TaskId": "910f83f4b96df0524ddc5749f615****",
    "TaskFinish": true,
    "TaskSuccess": true,
    "TaskState": "RUNNING",
    "TaskProgress": 50,
    "TotalDbCount": 32,
    "AnalyzedDbCount": 2,
    "StorageAnalysisResult": {
      "TotalStorageSize": 214748364800,
      "TotalUsedStorageSize": 68345135104,
      "TotalFreeStorageSize": 146403229696,
      "DailyIncrement": 0,
      "EstimateAvailableDays": 99,
      "AnalysisSuccess": true,
      "AnalysisErrorType": "DB_NOT_EXIST",
      "NeedOptimizeItemList": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "OptimizeItemName": "NEED_OPTIMIZE_TABLE",
          "OptimizeAdvice": "NEED_OPTIMIZE_TABLE",
          "AssociatedData": "{\n    \"autoIncrementCurrentValue\": 2147483647,\n    \"autoIncrementRatio\": 1,\n    \"dbName\": \"testdb01\",\n    \"maximumValue\": 2147483647,\n    \"columnName\": \"id\",\n    \"tableName\": \"test_table\"\n}"
        }
      ],
      "TableStats": [
        {
          "DbName": "testdb01",
          "TableName": "test_table",
          "TableType": "BASE TABLE",
          "Engine": "InnoDB",
          "PhysicalFileSize": 3057655808,
          "PhyTotalSize": 3012493312,
          "TotalSize": 3005153280,
          "IndexSize": 1022296064,
          "DataSize": 1982857216,
          "DataFree": 7340032,
          "TableRows": 12794732,
          "AvgRowLength": 154,
          "FragmentSize": 362221568
        }
      ]
    }
  },
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success": true
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.