Gesaan dan skop
Soalan ini menguji reka bentuk kitaran hayat dan pembuktian, bukan sekadar satu DELETE. Jejaki pengecam subjek melalui objek mentah, fail jadual, hasil terbitan, cache, ciri, eksport, log, syot kilat dan sandaran. Tentukan bila sistem boleh mendakwa penyiapan secara jujur.
Gesaan ini tidak menentukan kewajiban undang-undang. Nyatakan bahawa pemilik privasi dan undang-undang menentukan kewajiban pengekalan, pengecualian dan tarikh akhir; kejuruteraan mengubahnya menjadi skop, status dan bukti yang boleh dilaksanakan.
Perkara yang dinilai oleh penemu duga
- Inventori data dan salasilah (lineage) yang meliputi salinan, nilai terbitan, log, syot kilat, cache dan sandaran.
- Permintaan idempoten, boleh dicuba semula dan boleh dijeda yang tidak boleh diperkenalkan semula melalui pengingesan atau main semula.
- Sempadan yang jelas antara ketidakkelihatan logikal, pemadaman fizikal, luputan syot kilat dan luputan sandaran.
- Pengasingan pertanyaan dan latihan semasa pemadaman, dengan perlindungan penyewa (tenant) dan data sensitif.
- Bukti yang membuktikan setiap skop telah diproses dan bukannya satu boolean kejayaan.
Struktur jawapan yang disyorkan
Tentukan kunci subjek, status permintaan dan kontrak penyiapan. Petakan domain dan salasilah. Tetapkan erasure_id yang stabil, sekat pengingesan dan main semula untuk subjek tersebut, padam atau bina semula setiap domain, kemudian jalankan pemeriksaan bebas dan pembersihan pengekalan. Kekalkan versi input, kiraan, kegagalan dan kursor secara berterusan supaya pemulihan disambung semula tanpa kesan pendua.
Penyelaman mendalam: daripada permintaan kepada bukti
Tentukan skop dan identiti terlebih dahulu
Petakan akaun, peranti, pesanan dan pengecam luaran kepada kunci subjek yang tidak boleh diubah (immutable). Senaraikan objek mentah, baris Iceberg, agregat, ciri, indeks, eksport, cache, log dan sandaran. Data yang tidak diketahui atau tidak dijejaki menjadi item risiko yang jelas.
Jadikan pemadaman saling eksklusif dengan pengingesan
Perkhidmatan pemadaman mendaftarkan erasure_id dan status subjek. Tugas pengingesan, main semula dan penerbitan memeriksa penanda pemadaman sebelum menulis. Batu nisan (tombstone) atau penghalang sekatan subjek menyekat peristiwa lama, manakala versi atau pajakan menghalang syot kilat yang lebih lama daripada melakukan komit selepas pemadaman.
Asingkan pemadaman logikal daripada pembersihan fizikal
Padam kesamarataan (equality delete) atau padam kedudukan (position delete) Iceberg boleh menyembunyikan baris daripada bacaan sementara fail lama, syot kilat dan fail yatim masih wujud. Jadualkan pemadatan, luputan syot kilat dan pembersihan fail yatim dalam tempoh pengekalan. Padam objek mentah daripada inventori. Untuk sandaran, rekodkan peraturan pemulihan terkawal dan tugas pemadaman luputan.
Data terbitan tidak boleh diperbaiki dengan hanya memadamkan input
Kira semula agregat yang boleh dijejaki mengikut subjek. Bagi agregat yang tidak dapat dijejaki kembali, kekalkan status perantaraan peringkat subjek atau bina semula sekatan tersebut. Pemilik ciri, cache dan eksport mesti membersihkan versi mereka; jedakan penerbitan semasa pemadaman dan bina semula daripada input yang telah disanitasi.
Tentukan penyiapan dengan bukti
Bagi setiap domain, rekodkan skop imbasan, kiraan padanan, versi pemadaman, tugas pembersihan fizikal, kegagalan dan masa pengesahan. Laluan pertanyaan, eksport dan main semula yang bebas mestilah tidak mengembalikan subjek sasaran. Bukti yang hilang bermaksud penyiapan separa, bukan kejayaan.
Contoh jawapan
“Saya akan mengesahkan kunci subjek, pengecualian pengekalan dan tarikh akhir dengan pemilik privasi terlebih dahulu. Perkhidmatan pemadaman mencipta erasure_id yang idempoten, menyekat pengingesan dan main semula, serta menulis item kerja untuk setiap domain. Objek mentah dipadamkan daripada inventori. Iceberg menerima padam kesamarataan terlebih dahulu, kemudian pemadatan dan luputan syot kilat; agregat dan ciri dibina semula mengikut subjek, manakala pemilik cache dan eksport membersihkan versi mereka. Sandaran hanya membenarkan pemulihan terkawal dan memainkan semula batu nisan sebelum pelepasan. Setiap langkah merekodkan versi, kiraan dan kegagalan. Hanya padanan sifar merentasi semua domain dan tiada kegagalan yang belum diselesaikan akan mengubah permintaan kepada selesai.”
Mod kegagalan biasa dan pembaikan
- Memadamkan jadual utama sahaja → Senaraikan salinan mentah, terbitan, cache, eksport, log dan sandaran.
- Memanggil fail pemadaman sebagai pemadaman fizikal → Terangkan syot kilat, fail lama, pemadatan dan pembersihan fail yatim.
- Mengabaikan penulisan serentak → Tambah penghalang, batu nisan, pemeriksaan versi dan pintu masuk main semula.
- Menggunakan satu bendera kejayaan → Kekalkan skop mengikut domain, kiraan, versi dan pemeriksaan bebas secara berterusan.
- Menjanjikan penulisan semula sandaran serta-merta → Nyatakan pengekalan, kawalan akses, pembersihan luputan dan pengecualian yang diluluskan.
Rubrik pemarkahan dan semakan kendiri
Jawapan yang kukuh merangkumi identiti yang stabil, salasilah lengkap, mesin keadaan yang idempoten, penghalang penulisan dan main semula, sempadan logikal/fizikal, pembinaan semula data terbitan, pengendalian sandaran, pemulihan kegagalan, bukti mengikut domain, pengesahan padanan sifar, pengasingan penyewa dan peminimuman audit.
Tanya diri anda: Adakah saya mengetahui pemilik setiap salinan? Bolehkah peristiwa lama kembali? Data mana yang disembunyikan berbanding dipadamkan? Bagaimanakah main semula menggunakan batu nisan? Bagaimanakah pemulihan disambung semula selepas kegagalan? Apakah bukti yang mengubah status penyiapan?
Tindakan susulan dan lanjutan
Bagaimana jika jadual Iceberg terlalu besar untuk penulisan semula fail serta-merta?
Tulis pemadaman peringkat baris supaya bacaan mengecualikan subjek serta-merta, kemudian jadualkan pemadatan mengikut ketumpatan pemadaman dan tarikh akhir pengekalan. Sementara itu, sekat akses syot kilat dan eksport, serta simpan masa pembersihan fizikal dalam status.
Bagaimana jika pemadaman dan peristiwa baharu tiba bersama-sama?
Gunakan penghalang subjek atau versi monotonik untuk menolak atau mengkuarantin peristiwa baharu sehingga pemadaman selesai. Main semula mesti memeriksa batu nisan; hanya peristiwa yang lebih baharu secara eksplisit dan dibenarkan boleh melepasi selepas pelepasan.
Bagaimana jika metrik terbitan tidak dapat dijejaki kepada pengguna?
Tandakan domain sebagai tidak boleh dibuktikan, jedakan penerbitan, dan pilih status perantaraan peringkat subjek, pembinaan semula sekatan, atau alternatif yang diluluskan. Tanpa bukti salasilah, jangan dakwa pemadaman telah berlaku.
Bagaimanakah anda mengelakkan jejak audit daripada membocorkan data peribadi?
Simpan rujukan subjek yang tidak boleh diterbalikkan, ID permintaan, skop dan kiraan, bukannya nama, e-mel atau kandungan peristiwa. Lindungi akses audit secara berasingan dan selaraskan pengekalan audit dengan dasar privasi.