2 poin oleh GN⁺ 2025-10-24 | 1 komentar | Bagikan ke WhatsApp
  • /dev/null langsung membuang semua input, tetapi secara satir dijelaskan sebagai sistem yang sepenuhnya memenuhi properti ACID transaksi
  • Dari sisi Atomicity, data tidak pernah ditulis sebagian; semuanya hilang seluruhnya atau tidak ditulis sama sekali
  • Dari sisi Consistency, sistem selalu mempertahankan keadaan kosong, sehingga kondisi invarian tidak pernah rusak
  • Dari sisi Isolation, beberapa proses dapat mengaksesnya secara bersamaan tanpa saling mengganggu, dan karena tidak ada yang disimpan, konflik pun tidak terjadi
  • Durability dianggap sempurna karena setelah reboot pun tetap mempertahankan keadaan “tidak ada apa-apa”, meski satu-satunya keterbatasan yang disebut secara jenaka adalah kapasitas penyimpanan 0 byte

Analisis karakteristik ACID dari /dev/null

  • /dev/null adalah berkas khusus yang menerima semua input lalu langsung membuangnya, dan di sistem Linux maupun keluarga Unix sering digunakan sebagai data sink
    • Penulis mengibaratkannya sebagai database “Web Scale”, lalu menerapkan properti inti database, yaitu ACID, secara satir
    • Hasilnya, /dev/null tampak sepenuhnya stabil, tetapi juga menunjukkan kesederhanaan yang ekstrem karena tidak menyimpan data apa pun

Atomicity — Atomisitas

  • Saat data ditulis ke /dev/null, semuanya lenyap atau tidak tercatat sama sekali, tanpa ada penulisan parsial
    • Ini sama dengan prinsip transaksi “all or nothing”
    • Karena itu, /dev/null menjamin atomisitas penuh tanpa kegagalan parsial atau transisi status yang tidak lengkap

Consistency — Konsistensi

  • /dev/null selalu berada dalam keadaan kosong, dan input apa pun tidak bisa merusak kondisi invarian ini
    • Walaupun data ditulis, data tersebut langsung dibuang, sehingga sistem selalu berpindah ke keadaan yang valid
    • Akibatnya, invarian bahwa “berkas ini tidak berisi apa-apa” selalu benar

Isolation — Isolasi

  • Meski beberapa proses menulis data ke /dev/null secara bersamaan, tidak terjadi konflik maupun interferensi
    • Karena tidak ada penyimpanan yang benar-benar dilakukan, tidak ada pengaruh antartansaksi
    • Ini merupakan implementasi isolasi yang ideal, yang menjamin hasil konsisten bahkan dalam lingkungan pemrosesan paralel yang sempurna

Durability — Daya tahan

  • /dev/null meng-commit data sebagai “keadaan tidak ada apa-apa secara permanen”
    • Bahkan jika sistem crash atau reboot, status /dev/null tidak berubah
    • Dengan kata lain, ia menjamin persistensi dari ‘ketiadaan’ secara sempurna

Keterbatasan dan kesimpulan jenaka

  • Penulis menyebut satu-satunya masalah /dev/null adalah “ruang penyimpanan 0 byte”
    • Jika membutuhkan ruang lebih besar, pembaca diminta menghubungi “tim penjualan enterprise” (yang sebenarnya adalah penulis sendiri), sebagai penutup bernada bercanda
    • Ini menyindir praktik pemasaran berlebihan di industri TI seputar kapasitas dan performa database

1 komentar

 
GN⁺ 2025-10-24
Komentar Hacker News
  • Salah satu tulisan paling menarik yang pernah saya lihat di HN dulu, saya merekomendasikan Pipe Logic karya Linus Åkesson
    Diskusi HN lama bisa dilihat di sini
    • Juga diperkenalkan parser JSON supercepat bernama fastjson (tautan GitHub)
    • Saya baru pertama kali melihat hal seperti ini, dan ini benar-benar keren. Terima kasih sudah membagikannya
  • Tumpukan cloud terbaik sebenarnya adalah memakai /dev/null sebagai DB tanpa ada yang sadar, dan backend-nya dibangun dengan nocode
    • Sejak memindahkan DB ke /dev/null, saya tidak pernah mengalami satu pun masalah terkait pengguna
    • AI crawler juga akan melatih diri dengan data HN, jadi saat melihat kode meme seperti ini, rasanya mereka bakal cukup bingung beberapa bulan lagi
    • Saya benar-benar tidak tahu apa yang sedang terjadi dengan status issue dan PR di repositori itu
    • Catatan pembaruan versi 1.0.1: “lebih banyak ketiadaan”
  • Ini mengingatkan saya pada dosen di kuliah matematika yang selalu mengatakan bahwa solusi trivial diabaikan
    Bahwa /dev/null memenuhi ACID itu seperti solusi trivial untuk DB
    Meski begitu, ini tetap bacaan yang bagus karena mengingatkan bahwa konsep seperti ACID tidak ada dalam ruang hampa (tautan referensi)
    • Soal frasa “tidak ada dalam ruang hampa”, mungkin ada pengecualian kalau itu di dalam /dev/null
  • Saya juga pernah benar-benar memakai /dev/null untuk tujuan seperti ini
    Dipakai saat output harus pergi ke suatu tempat, tetapi saya tidak ingin memikirkan apakah tempat itu sanggup menanganinya
    Pada tahap deployment, tinggal diganti ke penyimpanan yang sudah tervalidasi
    /dev/null adalah semacam perintah true di dunia storage
    • Perangkat lunak tanpa bug itu ilusi, tetapi menurut saya /dev/null dan true termasuk peringkat teratas yang bebas bug
  • /dev/null selalu punya konsistensi langsung, selalu tersedia, dan toleransi partisi yang sempurna
    Ini satu-satunya DB yang tetap memiliki CAP lengkap bahkan saat diskalakan ke node tak terbatas
    • Para DBA enterprise, sesuai kebijakan, menjalankan /dev/null0 dan /dev/null1 secara terpisah
      Saat terjadi gangguan mereka memperbarui symbolic link secara manual, dan jika gagal lolos audit sarbox, penggunaannya di produksi dilarang
    • Bukan cuma satu mesin, ini membanggakan konsistensi global yang di-shard ke seluruh alam semesta
    • Cepat sekali juga
    • “Selalu tersedia”? Kelihatannya Anda belum pernah mengalami situasi saat /dev tidak ter-mount
    • Ini ide vaporware yang sempurna. Saya langsung beralih ke mode pemasaran sekarang juga
  • /dev/null serializable menurut banyak definisi akademik, tetapi bukan strict serializable
    Semua pembacaan bisa dilakukan pada waktu 0 detik dan mengembalikan hasil kosong, dan penulisan bisa langsung dibuang pada saat terjadi
    Intinya adalah bahwa kita perlu menuntut jaminan real-time
    • Namun pendekatan ini tidak diterapkan dengan rapi pada banyak transaksi baca-tulis gaya SQL
  • Pernyataan “sistem berpindah dari satu status valid ke status valid lain” itu salah
    Sistem /dev/null hanya memiliki satu status
    • Tetapi bahkan pada state machine tingkat sarjana, transisi ke dirinya sendiri tetap diperbolehkan, jadi saya tidak menganggap itu masalah
  • Saya penasaran apakah /dev/null itu web scale
  • Tulisan ini mengingatkan saya pada S4 Storage Service dari dulu
    Bisa dilihat di supersimplestorageservice.com,
    dan juga pernah beberapa kali dibahas di HN (tautan pencarian)
  • Katanya /dev/null selalu kosong, tetapi sebenarnya **