Kebijakan penyimpanan
Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer
Kebijakan penyimpanan mengontrol mekanisme yang secara otomatis menghapus data dari tabel atau tampilan yang dimaterialisasi. Sangat berguna untuk menghapus data yang terus mengalir ke tabel, dan yang relevansinya berbasis usia. Misalnya, kebijakan dapat digunakan untuk tabel yang menyimpan peristiwa diagnostik yang mungkin menjadi tidak penting setelah dua minggu.
Kebijakan penyimpanan ini dapat dikonfigurasikan untuk tabel tertentu atau tampilan yang dimaterialisasi, atau untuk seluruh database. Kebijakan ini kemudian berlaku untuk semua tabel dalam database yang tidak menggantinya. Ketika kebijakan dikonfigurasi baik di tingkat database dan tabel, kebijakan penyimpanan dalam tabel lebih diutamakan daripada kebijakan database.
Menyiapkan kebijakan penyimpanan penting ketika terus menyerap data, yang akan membatasi biaya.
Data yang berada "di luar" kebijakan penyimpanan memenuhi syarat untuk penghapusan. Tidak ada jaminan khusus ketika penghapusan terjadi. Data mungkin "masih ada" bahkan jika kebijakan penyimpanan dipicu.
Kebijakan penyimpanan paling sering diatur untuk membatasi usia data sejak penyerapan. Untuk informasi selengkapnya, lihat SoftDeletePeriod.
Catatan
- Waktu penghapusan bersifat tidak jelas. Sistem menjamin bahwa data tidak akan dihapus sebelum batas terlampaui, tetapi penghapusan tidak segera mengikuti titik tersebut.
- Periode penghapusan sementara 0 dapat diatur sebagai bagian dari kebijakan penyimpanan tingkat tabel, tetapi bukan sebagai bagian dari kebijakan penyimpanan tingkat database.
- Saat ini dilakukan, data yang terserap tidak akan diterapkan pada tabel sumber, yang menghindari diperlukannya untuk mempertahankan data. Akibatnya,
Recoverability
hanya dapat diatur keDisabled
. - Konfigurasi seperti ini berguna terutama saat data diserap ke dalam tabel. Kebijakan pembaruan transaksional digunakan untuk mengubahnya dan mengarahkan output ke dalam tabel lain.
- Kebijakan penyimpanan pada tampilan materialisasi hanya memengaruhi tampilan, bukan tabel sumber. Data sumber tetap tidak terpengaruh.
Objek kebijakan
Kebijakan penyimpanan mencakup properti berikut:
- SoftDeletePeriod:
- Rentang waktu data dijamin tetap tersedia untuk kueri. Periode diukur mulai dari saat data diserap.
- Default ke
1,000 years
. - Saat mengubah periode penghapusan sementara tabel atau database, nilai baru berlaku untuk data yang sudah ada dan yang baru.
- Pemulihan:
- Pemulihan data (Diaktifkan/Dinonaktifkan) setelah data dihapus.
- Default ke
Enabled
. - Jika diatur ke
Enabled
, data akan dapat dipulihkan selama 14 hari setelah dihapus sementara. - Tidak dimungkinkan untuk mengonfigurasi periode pemulihan.
Perintah manajemen
- Gunakan
.show policy retention
untuk menampilkan kebijakan penyimpanan saat ini untuk database, tabel, atau tampilan yang dimaterialisasi. - Gunakan
.alter policy retention
untuk mengubah kebijakan penyimpanan saat ini pada database, tabel, atau tampilan yang dimaterialisasi.
Default
Secara default, saat database atau tabel dibuat, keduanya tidak memiliki kebijakan penyimpanan yang ditentukan. Biasanya, database dibuat dan kemudian segera memiliki kebijakan penyimpanan yang diatur oleh pembuatnya sesuai dengan persyaratan umum.
Saat Anda menjalankan .show
perintah untuk kebijakan penyimpanan database atau tabel yang belum diatur kebijakannya, Policy
akan muncul sebagai null
.
Kebijakan penyimpanan default, dengan nilai default yang disebutkan di atas, dapat diterapkan menggunakan perintah berikut.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Perintah ini menghasilkan objek kebijakan berikut yang diterapkan ke database atau tabel.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
Menghapus kebijakan penyimpanan database atau tabel dapat dilakukan dengan menggunakan perintah berikut.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Contoh
Untuk lingkungan yang memiliki database bernama MyDatabase
, dengan tabel MyTable1
, , MyTable2
dan MySpecialTable
.
Periode penghapusan sementara tujuh hari dan pemulihan dinonaktifkan
Atur semua tabel dalam database untuk memiliki periode penghapusan sementara tujuh hari dan pemulihan dinonaktifkan.
Opsi 1 (Disarankan): Atur kebijakan penyimpanan tingkat database, dan verifikasi bahwa tidak ada kebijakan tingkat tabel yang ditetapkan.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge materialized-view ViewName policy retention softdelete = 7d
Opsi 2: Untuk setiap tabel, atur kebijakan penyimpanan tingkat tabel, dengan periode penghapusan sementara tujuh hari dan pemulihan dinonaktifkan.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
Periode penghapusan sementara tujuh hari dan pemulihan diaktifkan
Atur tabel ke
MyTable1
danMyTable2
untuk memiliki periode penghapusan sementara tujuh hari dan pemulihan dinonaktifkan.Atur ke
MySpecialTable
untuk memiliki periode penghapusan sementara 14 hari dan pemulihan diaktifkan.Opsi 1 (Disarankan): Atur kebijakan penyimpanan tingkat database, dan atur kebijakan penyimpanan tingkat tabel.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Opsi 2: Untuk setiap tabel, atur kebijakan penyimpanan tingkat tabel, dengan periode penghapusan sementara dan pemulihan yang relevan.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Periode penghapusan sementara tujuh hari, dan MySpecialTable
menyimpan datanya tanpa batas waktu
Atur tabel ke MyTable1
dan MyTable2
untuk memiliki periode penghapusan sementara tujuh hari, dan membuat MySpecialTable
menyimpan datanya tanpa batas waktu.
Opsi 1: Tetapkan kebijakan penyimpanan tingkat database, dan tetapkan kebijakan penyimpanan tingkat tabel, dengan periode penghapusan sementara 1.000 tahun, kebijakan penyimpanan default, untuk
MySpecialTable
..delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
Opsi 2: Untuk tabel
MyTable1
danMyTable2
, atur kebijakan penyimpanan tingkat tabel, dan verifikasi bahwa kebijakan tingkat database dan tingkat tabel untukMySpecialTable
tidak diatur..delete database MyDatabase policy retention // optional, only if the database previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d
Opsi 3: Untuk tabel
MyTable1
danMyTable2
, atur kebijakan penyimpanan tingkat tabel. Untuk tabelMySpecialTable
, tetapkan kebijakan penyimpanan tingkat tabel dengan periode penghapusan sementara 1.000 tahun, kebijakan penyimpanan default..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"