Object Storage Service (OSS) menyediakan fitur namespace hierarkis untuk mengelola objek dalam struktur hierarki multi-level berdasarkan direktori. Fitur ini memungkinkan Anda mengganti nama sebuah direktori atau objek melalui satu operasi atomik tunggal, sehingga tidak perlu mencantumkan atau memproses semua objek dengan awalan yang sama. Secara tradisional, OSS menggunakan namespace datar untuk menyimpan objek di dalam bucket dan mensimulasikan direktori menggunakan objek dengan nama yang diakhiri garis miring (/). Dibandingkan dengan metode ini, fitur namespace hierarkis secara signifikan meningkatkan kinerja pengelolaan direktori.
Manfaat
Operasi Atomik pada Direktori
Jika sebuah bucket menggunakan namespace datar yang tidak mendukung direktori nyata, aplikasi mungkin perlu memproses jutaan objek untuk menyelesaikan tugas tingkat direktori. Sebaliknya, jika fitur namespace hierarkis diaktifkan, aplikasi dapat memperbarui direktori induk dalam satu operasi atomik untuk menyelesaikan beberapa tugas tingkat direktori secara bersamaan.
Kinerja Dioptimalkan
Dibandingkan dengan namespace datar, namespace hierarkis menghilangkan kebutuhan untuk mereplikasi atau mengonversi data sebelum analisis, sehingga meningkatkan kinerja pengelolaan direktori. Fitur ini sangat penting untuk kerangka kerja analitik data besar seperti Hive atau Spark, yang menulis hasil keluaran ke direktori sementara selama eksekusi tugas dan mengganti nama direktori setelah tugas selesai. Pada namespace datar, waktu yang dibutuhkan untuk mengganti nama direktori sering kali lebih lama daripada waktu pelaksanaan tugas itu sendiri.
Prosedur
Aktifkan Namespace Hierarkis
Fitur namespace hierarkis hanya dapat diaktifkan saat membuat bucket dan tidak dapat dinonaktifkan setelah diaktifkan. Untuk informasi lebih lanjut tentang cara mengaktifkan namespace hierarkis, lihat Buat Bucket.
Lakukan Operasi Tingkat Direktori pada Bucket dengan Namespace Hierarkis Diaktifkan
Tabel berikut menjelaskan metode yang dapat digunakan untuk membuat, mengganti nama, atau menghapus direktori dalam bucket dengan namespace hierarkis diaktifkan.
Metode implementasi
Deskripsi
Konsol OSS
Aplikasi web yang ramah pengguna dan intuitif
Contoh SDK yang sederhana dan mudah digunakan
Catatan penggunaan
Wilayah yang Didukung
Fitur namespace hierarkis hanya tersedia di wilayah-wilayah berikut: AS (Silicon Valley), Jepang (Tokyo), Inggris (London), dan Malaysia (Kuala Lumpur).
Buat Direktori
Nama direktori tidak boleh mengandung garis miring (/) berturut-turut.
Data tidak dapat ditulis langsung ke direktori. Content-Length dari sebuah direktori hanya dapat disetel ke 0.
Content-Type dari sebuah direktori hanya dapat disetel ke
application/x-directory.Ganti Nama Direktori atau Objek
Nama direktori atau objek yang diganti namanya tidak boleh sama dengan nama direktori atau objek yang sudah ada di bucket yang sama.
Direktori induk yang termasuk dalam nama direktori atau objek yang diganti namanya harus ada. Misalnya, jika Anda mengganti nama direktori menjadi
destfolder/examplefolder/test, direktori indukdestfolder/examplefolderharus ada di dalam bucket.Hapus Direktori
Hapus Rekursif
Hapus rekursif digunakan untuk menghapus direktori beserta semua objek dan subdirektori di dalamnya. Untuk menggunakan hapus rekursif, Anda harus memiliki izin DeleteObject pada direktori dan semua objek serta subdirektori di dalamnya.
Sebagai contoh, jika Anda ingin menggunakan metode hapus rekursif untuk menghapus direktori dest/testfolder dan objek di dalamnya, Anda harus memiliki izin DeleteObject pada
dest/testfolderdandest/testfolder/*.PentingJika permintaan konkuren dikirim untuk menulis data ke direktori saat Anda menggunakan metode hapus rekursif, direktori mungkin gagal dihapus.
Hapus Non-Rekursif
Hapus non-rekursif digunakan untuk menghapus direktori kosong. Untuk menggunakan hapus non-rekursif, Anda harus memiliki izin DeleteObject pada direktori yang ingin dihapus.
Fitur yang tidak didukung
Tabel berikut menjelaskan fitur-fitur yang tidak didukung oleh bucket dengan namespace hierarkis diaktifkan.
Kategori | Deskripsi |
Fitur bucket |
|
Fitur objek |
|