Topik temu duga representatif

Temu Duga Kejuruteraan Data: Bagaimanakah Anda Akan Mereka Bentuk Saluran Paip Pemadaman Data Teragih yang Boleh Diaudit?

DataSukar
Pasukan Editorial Offer.ccDiterbitkan Dikemas kini

Soalan

Seorang pengguna meminta pemadaman akaun, tetapi data wujud dalam pangkalan data, storan objek, indeks carian, gudang analitik dan sandaran. Bagaimanakah anda akan mereka bentuk saluran paip tersebut dan membuktikan liputan lengkap tanpa melanggar kewajipan pengekalan?

Maklum balas dan konteks

Soalan ini menguji sama ada seorang jurutera data boleh mengubah satu permintaan pemadaman menjadi kitaran hayat merentas sistem, boleh dicuba semula dan boleh diaudit. Pemadaman adalah lebih daripada sekadar DELETE pada pangkalan data utama; ia merangkumi jadual terbitan, cache, indeks, log peristiwa, sandaran dan pemproses. Rangkumi penemuan, pemetaan identiti, penahanan undang-undang (legal holds), keidempotetan, pemulihan dan bukti penyiapan.

Perkara yang diuji oleh penemu duga

Jawapan yang kukuh mentakrifkan skop dan pengecualian, kemudian membina katalog data bersama pemilik. Aliran kerja menghantar arahan padam atau awanama di sepanjang kebergantungan dan menunggu resit pengesahan. Status membezakan antara diminta, sedang berjalan, disahkan dan disekat, dengan jejak audit yang tidak boleh diubah. Jika sandaran fizikal tidak boleh diedit serta-merta, jelaskan pemadaman kriptografi (crypto-shredding), tamat tempoh, pengasingan pemulihan dan penggunaan semula.

Soalan untuk penjelasan

  • Apakah yang mengenal pasti individu tersebut, dan bagaimanakah e-mel, peranti, pesanan dan pengecam tanpa nama dipautkan?
  • Rekod manakah yang mesti dipadamkan, dan invois, bukti penipuan atau penahanan undang-undang manakah yang mesti kekal buat sementara waktu?
  • Adakah indeks carian, cache, agregat, log peristiwa, storan objek, sandaran dan pemproses SaaS disertakan?
  • Adakah sasaran merupakan pemadaman fizikal, penganoniman tidak boleh balik, atau penghentian penggunaan dalam tempoh tarikh akhir?
  • Apakah yang mentakrifkan penyiapan, masa tamat (timeout), semakan manusia dan resit pengguna?

Rangka kerja jawapan 30 saat

“Saya akan mengkatalogkan sistem, medan, pemilik, peraturan pengekalan dan keupayaan pemadaman. Setiap permintaan mencipta kes pemadaman yang tidak boleh diubah dan tugas idempoten. Pengorkestra menghantar arahan padam, awanama atau pemadaman kunci di sepanjang kebergantungan; setiap pengguna (consumer) mengembalikan skop, versi dan ringkasan pengesahan. Kegagalan akan dicuba semula atau dieskalasikan. Data pegangan undang-undang akan dibekukan aksesnya dengan pengecualian yang direkodkan dan dipadamkan apabila pegangan tersebut tamat tempoh. Penyiapan memerlukan liputan katalog, resit, bacaan sampel dan jejak audit; pengguna menerima status yang jujur tanpa mendedahkan topologi dalaman.”

Jawapan mendalam langkah demi langkah

Langkah 1: Bina peta data dan identiti

Katalogkan jadual, baldi (buckets), indeks, kelas medan, pemilik, kebergantungan hiliran, kitaran sandaran dan pemproses. Petakan ID pengguna yang stabil kepada pesanan, peranti, e-mel dan token tanpa nama. Tanpa cantuman identiti yang boleh dipercayai, tuntutan pemadaman lengkap adalah tidak meyakinkan.

Langkah 2: Tentukan dasar pemadaman

Kelaskan rekod sebagai pemadaman terus, penganoniman, pengekalan agregat atau penahanan undang-undang. Rekod kewangan atau bukti penipuan mungkin memerlukan pengekalan, tetapi kurangkan medan, sekat akses dan rekod asas undang-undang. Versikan dasar tersebut supaya permintaan lama kekal boleh dijelaskan.

Langkah 3: Cipta kes idempoten

Cipta case_id, ID subjek, versi dasar, tarikh akhir dan sumber. Setiap sasaran menerima ID kes dan mengembalikan hasil yang sama semasa pengulangan. Gunakan status seperti diminta, sedang berjalan, disahkan, disekat, gagal dan tamat tempoh.

Langkah 4: Sebarkan di sepanjang kebergantungan

Padamkan rekod sumber atau keluarkan tombstone, kemudian cetuskan pengguna CDC untuk indeks, cache dan gudang data terbitan. Sistem kelompok memerlukan jadual penindasan (suppression table) supaya tugas terkemudian tidak mencipta semula subjek tersebut. Pihak ketiga mengesahkan melalui resit API atau proses kontraktual.

Langkah 5: Kendalikan sandaran dan pemadaman kunci

Sandaran biasanya tamat tempoh mengikut jadual. Jika pengeditan individu adalah mustahil, asingkan akses pemulihan, simpan manifes pemadaman dan gunakan semula pemadaman semasa pemulihan. Kunci penyulitan bagi setiap subjek boleh menjadikan teks sifer sensitif tidak dapat dipulihkan selepas pemusnahan kunci, tetapi ini bukan jalan pintas undang-undang yang universal.

Langkah 6: Sahkan melangkaui kod kejayaan

Pengguna mengembalikan kiraan, versi, sekatan (partitions) dan checksum. Pengorkestra mengambil sampel bacaan dalam stor utama, indeks, gudang data dan stor objek, serta memeriksa ketidaksahan cache dan tanda aras CDC. Pengesahan yang gagal mencipta kerja pampasan dan bukannya menutup kes.

Langkah 7: Asingkan pengecualian pengekalan

Simpan rekod pegangan undang-undang secara berasingan dengan medan yang minimum dan tiada pertanyaan produk. Laporan kes mengandungi skop, asas undang-undang, pemilik dan tarikh semakan. Pelepasan pegangan secara automatik mencipta tugas pemadaman baharu; pengecualian tidak boleh menjadi senarai hitam kekal.

Langkah 8: Audit, amaran dan tindak balas

Log audit mengandungi ringkasan subjek yang tidak boleh diubah, pelaku, masa, versi dasar dan hasil, bukan muatan sensitif. Pantau usia kes, kadar kegagalan, liputan katalog, resit pihak ketiga dan latih tubi pemulihan. Pengguna melihat status selesai, sedang diproses atau ditahan secara sah dengan tarikh akhir yang jelas.

Kod pseudo aliran kerja pemadaman

text
case = create_case(subject, policy_version)
for target in catalog.targets(subject, policy_version):
    enqueue_idempotent(case.id, target, action_for(target))
verify_samples(case)
close(case, "verified" if all_verified(case) else "blocked")

Pertukaran (trade-offs) dan sempadan

SenarioStrategiKos
Utama dan indeksTombstone ditambah pemadaman tak segerakKelewatan penyebaran
Agregat analitikAlih keluar butiran pengenalpastian dan kira semulaKos pengiraan
Sandaran jangka panjangTamat tempoh atau main semula pemadaman semasa pemulihanBukan pemadaman baris serta-merta
Penahanan undang-undangMinimumkan medan dan bekukan aksesSemakan dan tadbir urus

Bukti hendaklah merangkumi tempat sistem mencari, sasaran mana yang telah mengakui dan pengecualian mana yang kekal. Ia tidak seharusnya menjanjikan penghilangan fizikal yang tidak boleh disahkan. Google Cloud menerangkan pemadaman sebagai saluran paip berperingkat di mana data kekal dilindungi sehingga peringkat-peringkat tersebut selesai.

Pelan pelancaran dan bukti

Pilih satu set data pengguna dan sambungkan katalog, peta identiti, stor utama, indeks dan gudang data. Suntik mesej pendua, pengguna luar talian, pemulihan sandaran dan perubahan dasar. Suruhanjaya Eropah mendokumentasikan pengecualian undang-undang kepada pemadaman; Google Cloud mendokumentasikan pemadaman berperingkat; soalan reka bentuk awam TechInterview mengetengahkan perkhidmatan mikro, storan objek, analitik, sandaran dan jejak audit.

Kriteria keluar perintis

Liputan katalog boleh diukur; setiap sasaran mempunyai pemilik dan keupayaan; permintaan berulang adalah idempoten; kegagalan dicuba semula atau dieskalasikan; pengesahan bersampel menemui baki sisa; pegangan mempunyai asas dan tarikh tamat tempoh; dan resit pengguna sepadan dengan status dalaman.

Cara membuktikan peningkatan adalah nyata

Bandingkan set data yang tidak berdaftar, masa penyiapan, kadar baki sisa yang ditemui oleh pengesahan, kadar percubaan semula dan campur tangan manusia sebelum dan selepas. Lakukan latih tubi terhadap pengguna luar talian, pemulihan sandaran dan masa tamat pihak ketiga dan bukannya hanya mengukur laluan mudah (happy path).

Kesilapan biasa dan soalan susulan

Hanya memadamkan baris utama

Indeks, cache, gudang data dan storan objek mungkin masih mengembalikan data. Liputan katalog dan resit hiliran mestilah menjadi kriteria penyiapan.

Satu peristiwa DELETE global untuk setiap sistem

Pengguna memerlukan tindakan dan versi yang berbeza. Tanpa keidempotetan, resit dan penanda aras (watermarks), peristiwa boleh hilang atau berulang. Gunakan aliran kerja ID kes.

Mendakwa bahawa sandaran dipadamkan serta-merta

Banyak sandaran tamat tempoh mengikut jadual. Jelaskan pengasingan akses, manifes pemadaman, main semula pemulihan dan masa tulis ganti muktamad.

Bagaimanakah penahanan undang-undang mengelak daripada menyekat semua pemadaman?

Minimumkan skop yang dipegang, bekukan akses, rekod asas, pemilik dan tarikh semakan, serta teruskan memadamkan segala-galanya di luar pegangan tersebut.

Bagaimanakah anda menghalang data daripada dicipta semula?

Keluarkan tombstone sumber atau rekod penindasan; CDC dan tugas kelompok memeriksa status pemadaman sebelum mencipta terbitan, dan main semula menggunakan semula dasar tersebut.

Bagaimana jika pengguna menuntut penyiapan serta-merta?

Bezakan sasaran yang disahkan daripada langkah sandaran atau pihak ketiga yang terikat dengan masa, kembalikan status pemprosesan berserta tarikh akhir, dan jangan sekali-kali mereka-reka pemadaman fizikal yang kononnya telah selesai.

Sumber awam

Soalan berkaitan