Metrik penyimpanan objek baru

Metrik penyimpanan objek baruBenteng Terbang oleh Nele-Diel

Perintah penyimpanan objek S3 Penyimpanan Cloud Mail.ru menerjemahkan artikel tentang kriteria apa yang penting ketika memilih objek penyimpanan. Berikut ini adalah teks dari sudut pandang penulis.

Terkait penyimpanan objek, orang biasanya hanya memikirkan satu hal: harga per TB/GB. Tentu saja, metrik ini penting, tetapi metrik ini menjadikan pendekatannya sepihak dan menyamakan penyimpanan objek dengan alat penyimpanan arsip. Selain itu, pendekatan ini mengurangi pentingnya penyimpanan objek untuk tumpukan teknologi perusahaan.

Saat memilih objek penyimpanan, Anda harus memperhatikan lima karakteristik:

  • kinerja;
  • skalabilitas;
  • kompatibel dengan S3;
  • respons terhadap kegagalan;
  • integritas.

Kelima karakteristik ini adalah metrik baru untuk penyimpanan objek, bersama dengan biaya. Mari kita lihat semuanya.

Performa

Penyimpanan objek tradisional kurang memiliki kinerja. Penyedia layanan terus-menerus mengorbankannya demi mengejar harga rendah. Namun, dengan penyimpanan objek modern, segalanya menjadi berbeda.

Berbagai sistem penyimpanan mendekati atau bahkan melampaui kecepatan Hadoop. Persyaratan modern untuk kecepatan baca dan tulis: mulai dari 10 GB/dtk untuk hard drive, hingga 35 GB/dtk untuk NVMe. 

Throughput ini cukup untuk Spark, Presto, Tensorflow, Teradata, Vertica, Splunk, dan framework komputasi modern lainnya di tumpukan analitik. Fakta bahwa database MPP sedang dikonfigurasi untuk penyimpanan objek menunjukkan bahwa database tersebut semakin banyak digunakan sebagai penyimpanan utama.

Jika sistem penyimpanan Anda tidak memberikan kecepatan yang Anda perlukan, Anda tidak dapat menggunakan data dan mengekstraksi nilai darinya. Bahkan jika Anda mengambil data dari penyimpanan objek ke dalam struktur pemrosesan dalam memori, Anda masih memerlukan bandwidth untuk mentransfer data ke dan dari memori. Penyimpanan objek lama tidak memiliki cukup banyak.

Inilah poin kuncinya: metrik kinerja baru adalah throughput, bukan latensi. Hal ini diperlukan untuk data dalam skala besar dan merupakan hal yang lumrah dalam infrastruktur data modern.

Meskipun tolok ukur adalah cara yang baik untuk menentukan kinerja, tolok ukur tersebut tidak dapat diukur secara akurat sebelum menjalankan aplikasi di lingkungan tersebut. Hanya setelah itu Anda dapat mengetahui di mana tepatnya hambatannya: dalam perangkat lunak, disk, jaringan, atau pada tingkat komputasi.

Skalabilitas

Skalabilitas mengacu pada jumlah petabyte yang dapat ditampung dalam satu namespace. Apa yang diklaim vendor sebagai skalabilitas yang mudah, namun tidak mereka katakan adalah bahwa seiring dengan skalanya, sistem monolitik masif menjadi rapuh, kompleks, tidak stabil, dan mahal.

Metrik baru untuk skalabilitas adalah jumlah namespace atau klien yang dapat Anda layani. Metrik ini diambil langsung dari hyperscaler, yang elemen penyusun penyimpanannya kecil namun berskala hingga miliaran unit. Secara umum, ini adalah metrik cloud.

Jika elemen penyusunnya kecil, maka akan lebih mudah untuk mengoptimalkan keamanan, kontrol akses, manajemen kebijakan, manajemen siklus hidup, dan pembaruan yang tidak mengganggu. Dan pada akhirnya memastikan produktivitas. Ukuran blok penyusun merupakan fungsi dari kemampuan pengendalian wilayah kegagalan, yang merupakan cara membangun sistem dengan ketahanan tinggi.

Multi-tenancy memiliki banyak karakteristik. Meskipun dimensi ini menjelaskan bagaimana organisasi menyediakan akses terhadap data dan aplikasi, dimensi ini juga mengacu pada aplikasi itu sendiri dan logika di balik isolasi aplikasi tersebut satu sama lain.

Karakteristik pendekatan modern terhadap multiklien:

  • Dalam waktu singkat, jumlah klien bisa bertambah dari beberapa ratus menjadi beberapa juta.
  • Klien benar-benar terisolasi satu sama lain. Hal ini memungkinkan mereka untuk menjalankan versi berbeda dari perangkat lunak yang sama dan menyimpan objek dengan konfigurasi, izin, fitur, keamanan, dan tingkat pemeliharaan yang berbeda. Hal ini diperlukan saat melakukan penskalaan ke server baru, pembaruan, dan geografi.
  • Penyimpanannya dapat diskalakan secara elastis, sumber daya disediakan sesuai permintaan.
  • Setiap operasi dikendalikan oleh API dan diotomatisasi tanpa campur tangan manusia.
  • Perangkat lunak dapat dihosting dalam container dan menggunakan sistem orkestrasi standar seperti Kubernetes.

Kompatibel dengan S3

API Amazon S3 adalah standar de facto untuk penyimpanan objek. Setiap vendor perangkat lunak penyimpanan objek mengklaim kompatibilitas dengannya. Kompatibilitas dengan S3 bersifat biner: diterapkan sepenuhnya atau tidak.

Dalam praktiknya, ada ratusan atau ribuan skenario edge di mana terjadi kesalahan saat menggunakan penyimpanan objek. Terutama dari penyedia perangkat lunak dan layanan berpemilik. Kasus penggunaan utamanya adalah pengarsipan atau pencadangan langsung, jadi hanya ada sedikit alasan untuk memanggil API, kasus penggunaannya homogen.

Perangkat lunak sumber terbuka memiliki keunggulan yang signifikan. Ini mencakup sebagian besar skenario edge, mengingat ukuran dan variasi aplikasi, sistem operasi, dan arsitektur perangkat keras.

Semua ini penting bagi pengembang aplikasi, jadi ada baiknya menguji aplikasi dengan penyedia penyimpanan. Open source membuat prosesnya lebih mudahβ€”lebih mudah untuk memahami platform mana yang tepat untuk aplikasi Anda. Penyedia dapat digunakan sebagai satu-satunya titik masuk ke penyimpanan, yang berarti penyedia tersebut akan memenuhi kebutuhan Anda. 

Open source artinya: aplikasi tidak terikat pada vendor dan lebih transparan. Hal ini memastikan siklus hidup aplikasi yang panjang.

Dan beberapa catatan lagi tentang open source dan S3. 

Jika Anda menjalankan aplikasi data besar, S3 SELECT meningkatkan kinerja dan efisiensi secara signifikan. Hal ini dilakukan dengan menggunakan SQL untuk mengambil hanya objek yang Anda perlukan dari penyimpanan.

Poin kuncinya adalah dukungan untuk notifikasi bucket. Notifikasi bucket memfasilitasi komputasi tanpa server, yang merupakan komponen penting dari setiap arsitektur layanan mikro yang dikirimkan sebagai layanan. Mengingat penyimpanan objek secara efektif adalah penyimpanan cloud, kemampuan ini menjadi penting ketika penyimpanan objek digunakan oleh aplikasi berbasis cloud.

Terakhir, implementasi S3 harus mendukung API enkripsi sisi server Amazon S3: SSE-C, SSE-S3, SSE-KMS. Hebatnya lagi, S3 mendukung perlindungan terhadap kerusakan yang benar-benar aman. 

Respon terhadap kegagalan

Metrik yang mungkin sering diabaikan adalah cara sistem menangani kegagalan. Kegagalan terjadi karena berbagai alasan, dan penyimpanan objek harus menangani semuanya.

Misalnya, ada satu titik kegagalan, metriknya adalah nol.

Sayangnya, banyak sistem penyimpanan objek menggunakan node khusus yang harus diaktifkan agar cluster dapat berfungsi dengan baik. Ini termasuk node nama atau server metadata - ini menciptakan satu titik kegagalan.

Bahkan ketika terdapat banyak titik kegagalan, kemampuan untuk menahan kegagalan yang sangat besar adalah yang terpenting. Disk gagal, server gagal. Kuncinya adalah membuat perangkat lunak yang dirancang untuk menangani kegagalan sebagai kondisi normal. Jika disk atau node gagal, perangkat lunak tersebut akan terus bekerja tanpa perubahan.

Perlindungan bawaan terhadap penghapusan dan degradasi data memastikan bahwa Anda dapat kehilangan disk atau node sebanyak blok paritas yang Anda milikiβ€”biasanya setengah dari disk. Hanya dengan demikian perangkat lunak tidak dapat mengembalikan data.

Kegagalan jarang diuji di bawah beban, namun pengujian seperti itu diperlukan. Simulasi kegagalan beban akan menunjukkan total biaya yang dikeluarkan setelah kegagalan tersebut.

Konsistensi

Skor konsistensi 100% disebut juga konsistensi ketat. Konsistensi adalah komponen kunci dari sistem penyimpanan apa pun, namun konsistensi yang kuat jarang terjadi. Misalnya, ListObject Amazon S3 tidak sepenuhnya konsisten, melainkan hanya konsisten di bagian akhir.

Apa yang dimaksud dengan konsistensi yang ketat? Untuk semua operasi setelah operasi PUT yang dikonfirmasi, hal berikut harus terjadi:

  • Nilai yang diperbarui terlihat saat membaca dari node mana pun.
  • Pembaruan dilindungi terhadap redundansi kegagalan simpul.

Artinya jika Anda mencabut steker di tengah-tengah rekaman, tidak ada yang hilang. Sistem tidak pernah mengembalikan data yang rusak atau ketinggalan jaman. Ini adalah standar tinggi yang penting dalam banyak skenario, mulai dari aplikasi transaksional hingga pencadangan dan pemulihan.

Kesimpulan

Ini adalah metrik penyimpanan objek baru yang mencerminkan pola penggunaan di organisasi saat ini, di mana kinerja, konsistensi, skalabilitas, domain kesalahan, dan kompatibilitas S3 adalah landasan untuk aplikasi cloud dan analisis data besar. Saya merekomendasikan penggunaan daftar ini selain harga saat membuat tumpukan data modern. 

Tentang penyimpanan objek Mail.ru Cloud Solutions: arsitektur S3. 3 tahun evolusi Penyimpanan Cloud Mail.ru.

Apa lagi yang harus dibaca:

  1. Contoh aplikasi berbasis peristiwa berdasarkan webhook di penyimpanan objek S3 Mail.ru Cloud Solutions.
  2. Lebih dari Ceph: Penyimpanan blok cloud MCS 
  3. Bekerja dengan penyimpanan objek Mail.ru Cloud Solutions S3 sebagai sistem file.
  4. Saluran Telegram kami dengan berita tentang pembaruan penyimpanan S3 dan produk lainnya

Sumber: www.habr.com

Tambah komentar