Object Storage Service (OSS) menyimpan data sebagai objek dalam namespace datar—setiap objek diidentifikasi oleh kunci unik, bukan jalur file. Sebaliknya, sistem file mengorganisasi data dalam struktur direktori hierarkis berbentuk pohon dan memungkinkan modifikasi file secara langsung. Memahami perbedaan ini membantu Anda menggunakan OSS dengan benar serta menghindari penerapan asumsi sistem file pada penyimpanan objek.
Cara OSS dan sistem file berbeda
Tabel berikut membandingkan kedua model penyimpanan tersebut berdasarkan empat dimensi.
| OSS | Sistem file | |
|---|---|---|
| Model data | Menyimpan data sebagai pasangan kunci-nilai dalam sistem penyimpanan objek terdistribusi. Setiap objek memiliki kunci unik (juga disebut nama objek). | Mengorganisasi data dalam struktur direktori hierarkis (pohon). |
| Pengambilan data | Mengambil objek berdasarkan kunci. OSS menggunakan namespace datar—objek bernama test1/test.jpg tidak disimpan di dalam direktori bernama test1. String test1/test.jpg tidak berbeda dari example.jpg dalam hal struktur penyimpanan. Permintaan untuk objek dengan kunci berbeda mengonsumsi sumber daya yang serupa. | Melintasi pohon direktori untuk menemukan file. Untuk mengakses test1/test.jpg, sistem terlebih dahulu masuk ke direktori test1, lalu membaca file tersebut. |
| Keunggulan | Mendukung jumlah operasi konkuren yang tinggi. Dirancang untuk menyimpan dan memproses sejumlah besar data tidak terstruktur—seperti gambar, video, dan dokumen. | File dapat dimodifikasi secara langsung (pada offset tertentu atau dipotong dari akhir). Operasi folder seperti rename, move, dan Delete bekerja secara native. |
| Keterbatasan | Objek tidak dapat dimodifikasi. Perubahan konten apa pun memerlukan operasi API tertentu, dan objek hasilnya memiliki tipe yang berbeda dari objek yang diunggah secara normal. Bahkan perubahan satu byte saja memerlukan pengunggahan ulang seluruh objek. Operasi direktori simulasi sangat mahal: mengganti nama direktori dari test1 menjadi test2 menyalin setiap objek yang kuncinya diawali dengan test1/ dan mengganti nama setiap salinan agar menggunakan awalan test2/. Hal ini mengonsumsi bandwidth, penyimpanan, dan sumber daya komputasi yang signifikan. Kami menyarankan agar Anda tidak melakukan operasi semacam ini. | Kinerja dibatasi oleh perangkat dasar. Mengakses file dalam direktori bersarang dalam mengonsumsi lebih banyak sumber daya dan memerlukan waktu lebih lama. |
Kapan menggunakan OSS
OSS dioptimalkan untuk menyimpan dan memproses sejumlah besar data tidak terstruktur seperti gambar, video, dan dokumen. Jika workload Anda sesuai dengan salah satu pola berikut, OSS merupakan pilihan yang tepat.
Jangan gunakan OSS sebagai pengganti langsung sistem file. Jika workload Anda memerlukan modifikasi langsung yang sering atau operasi direktori bersarang dalam, sistem file adalah pilihan yang lebih baik. Jika Anda harus menggunakan OSS untuk pola akses mirip file, batasi operasi hanya pada pembacaan, penulisan, dan penghapusan agar kinerja dan biaya tetap dapat diprediksi.
Konsep OSS dan padanannya dalam sistem file
Tabel berikut memetakan terminologi OSS ke padanan terdekat dalam sistem file.
Beberapa konsep OSS (region, endpoint, dan AccessKey) tidak memiliki padanan langsung dalam sistem file. Sebaliknya, direktori multitingkat tidak ada dalam OSS.
| OSS | Padanan dalam sistem file |
|---|---|
| object | file |
| bucket | direktori home |
| region | — |
| endpoint | — |
| AccessKey | — |
| — | direktori multitingkat |
| GetService | daftar direktori home |
| GetBucket | daftar file |
| PutObject | buat file |
| AppendObject | tambahkan data ke file yang sudah ada |
| GetObject | baca file |
| DeleteObject | hapus file |
| — | modifikasi konten file |
| CopyObject (sumber dan tujuan sama) | modifikasi atribut file |
| CopyObject (sumber dan tujuan berbeda) | copy file |
| Rename | mengganti nama file |