1 poin oleh GN⁺ 2025-03-15 | 1 komentar | Bagikan ke WhatsApp

Perangkat IO dan Waktu Tunda

  • Perangkat penyimpanan non-volatil adalah elemen inti dari sistem komputer modern, yang dapat menyimpan data meskipun daya dimatikan. Berbeda dengan perangkat penyimpanan volatil seperti register CPU, cache CPU, dan RAM, perangkat ini tidak memerlukan daya terus-menerus.

Perangkat penyimpanan pita

  • Sejak tahun 1950-an, komputer telah menggunakan tape drive untuk penyimpanan digital non-volatil. Pita cocok untuk menyimpan rangkaian data yang panjang, dan ideal untuk situasi di mana data dalam jumlah besar harus disimpan dengan aman tetapi tidak perlu sering dibaca.
  • Pita menawarkan biaya rendah dan umur pakai yang panjang, dan masih digunakan di repositori data skala besar seperti CERN dan AWS.

Hard disk drive (HDD)

  • Hard disk drive memberikan akses data yang lebih cepat dibandingkan pita, dan menyimpan data pada piringan logam berbentuk lingkaran. Seluruh permukaan disk selalu tersedia untuk digunakan sehingga waktu tunda baca dan tulis data berkurang.
  • HDD mendukung command queueing sehingga beberapa perintah dapat dijalankan secara paralel.

Solid-state drive (SSD)

  • Solid-state drive membaca dan menulis data secara elektronik tanpa komponen mekanis, serta menggunakan NAND flash untuk menyediakan penyimpanan non-volatil.
  • SSD dapat mengoptimalkan kinerja melalui pemrosesan paralel dan garbage collection. Susunan data dapat memengaruhi kinerja.

Penyimpanan di cloud

  • Perpindahan ke cloud telah membawa perubahan pada kinerja IO, dan banyak perusahaan memindahkan server serta sistem basis data mereka ke cloud.
  • Di lingkungan cloud, pemisahan storage dan komputasi adalah hal yang umum, yang memberikan keamanan data dan fleksibilitas tetapi dapat menyebabkan penurunan kinerja.

Pemisahan storage dan komputasi

  • Secara tradisional, server menggunakan perangkat penyimpanan non-volatil yang terhubung langsung, tetapi di cloud pendekatan yang umum adalah menghubungkan storage melalui jaringan.
  • Storage yang terhubung melalui jaringan memberikan keamanan data, tetapi dapat berdampak negatif pada kinerja IO.

Storage lokal vs storage jaringan

  • SSD NVMe lokal memberikan kecepatan IO yang sangat tinggi dan memiliki latensi yang lebih rendah dibandingkan storage yang terhubung melalui jaringan.
  • Storage yang terhubung melalui jaringan dapat memiliki batasan pada operasi IO, yang dapat menyebabkan penurunan kinerja.

Solusi: Metal

  • Metal adalah solusi dari PlanetScale yang menggunakan drive SSD NVMe yang terhubung langsung untuk memberikan kinerja dan skalabilitas yang unggul.
  • Cluster Metal pada dasarnya terdiri dari server utama dan dua replika untuk menjamin durabilitas data, serta kapasitas penyimpanan dapat diperluas dengan mudah.
  • Basis data Metal tidak memiliki batasan buatan pada operasi IO dan dapat menjalankan operasi IO dengan latensi minimal.

1 komentar

 
GN⁺ 2025-03-15
Komentar Hacker News
  • Disebutkan bahwa penulis blog sangat menikmati proses menulis artikel ini. Ia membuat visual interaktif menggunakan ribuan baris JavaScript
  • Menyatakan bahwa ia sudah lama mendukung SQLite+NVMe. Ini adalah pola baru yang menawarkan kemungkinan untuk menyelesaikan masalah tanpa penskalaan horizontal
    • Dalam masalah performa, latensi adalah hal yang paling penting
    • Terutama lebih penting dalam kasus yang harus diproses secara berurutan
    • Menjalankan SQLite di atas NVMe dapat memberikan keuntungan latensi yang tidak bisa ditawarkan penyedia lain
    • Dalam sebagian besar kasus penggunaan nyata, eksekusi di memori tidak memberi keuntungan yang jauh lebih besar dibanding persistensi NVMe
  • Memuji bahwa artikelnya sangat informatif sampai-sampai mudah lupa bahwa itu adalah promosi produk. Disebutkan juga visual dan interaktivitasnya yang luar biasa
  • Saat melihat animasi disk IO, ia teringat pada Melvin Kaye
    • Mel tidak menulis loop penundaan waktu
    • Hal yang sama juga berlaku ketika Flexowriter membutuhkan jeda di antara karakter output
    • Ia menempatkan instruksi di drum agar setiap kali dibutuhkan, instruksi itu berada tepat di belakang head pembaca
    • Drum harus melakukan satu putaran penuh untuk menemukan instruksi berikutnya
  • Disebutkan bahwa blog tersebut bagus. Secara umum, cloud storage dianggap "sangat lambat secara tidak wajar"
    • Disebutkan bahwa baru-baru ini telah ditambahkan dukungan untuk menyimpan indeks inkremental di S3/object storage
    • Alasan tetap menggunakan NVMe lebih lama adalah karena keunggulan performa yang disebutkan di artikel sebelumnya
    • Dinyatakan harapan agar ada seseorang yang merevolusi bidang ini dengan penawaran yang lebih baik
  • Menunjukkan hal tentang storage terdistribusi yang tidak cukup dibahas dalam artikel ini
    • Beberapa sistem pada dasarnya tidak mendukung replikasi
    • Cassandra cluster dan MySQL bisa melakukan replikasi master-slave, tetapi banyak sistem lain tidak bisa
    • Saat menggunakan storage NVMe di cloud, perlu menghormati interval maintenance dan drain yang dimulai oleh cloud
    • Jika storage dipisahkan dari komputasi, operator cloud dapat memindahkan komputasi sesuai kebutuhan
    • Karena data independen dari komputasi, operator cloud dapat mengelola sistem data dan drain
  • Metal terlihat sangat keren. Disebutkan bahwa di tempat kerja sebelumnya mereka mencoba menggunakan instance-local SSD di GCP dan mengalami masalah keandalan yang serius
    • Ada masalah blok pada perangkat yang kehilangan data
    • Ia bertanya-tanya apakah situasi ini sudah membaik
    • Ia menanyakan machine type yang digunakan
    • Sebagai solusi, disebutkan pendekatan menggunakan network disk milik Discord
  • PlanetScale Metal tampak sangat kokoh. Selalu menarik melihat latensi turun drastis dalam sebuah rilis
  • Artikel yang sangat bagus. Visualisasi random write dilakukan dengan sangat baik
    • Masalah lain dari network-attached storage di cloud adalah batasan IOPS
    • Banyak penyedia cloud, termasuk AWS dan Google Cloud, menggunakan model ini dan membatasi jumlah operasi IO yang bisa dikirim
    • Jika storage terhubung langsung ke instance komputasi, tidak ada batasan buatan pada operasi IO
    • Anda bisa membaca dan menulis secepat yang diizinkan perangkat keras
    • Ia bertanya-tanya apakah batas "IOPS" adalah batas pada traffic jaringan tertentu
    • Ia menanyakan apakah yang dimaksud adalah traffic jaringan volume EBS
    • Ia penasaran apakah ada penghematan biaya, apakah ini karena arbitrase aneh di AWS, atau karena efisiensi dari berkurangnya jaringan EBS
    • Ia melihat dengan jelas bahwa menempatkan storage dan komputasi di mesin yang sama memberi keuntungan dari sisi latensi
    • Ia bertanya-tanya apakah ada juga keuntungan dari sisi throughput per biaya
  • Bertanya-tanya bagaimana penyedia database "serverless" mengiklankan akses "latensi rendah"
    • Mereka menggunakan object storage seperti S3, yang diperkirakan memiliki latensi jauh lebih buruk daripada network storage
    • Disebutkan bahwa mereka membangun lapisan caching, dan menyatakan akan menyimpan data di NVMe yang terpasang secara lokal