Bagian ini memperkenalkan penyimpanan objek.
OpenStack Object Storage (code-named swift) adalah perangkat lunak open-source yang memungkinkan Anda membuat penyimpanan data yang berlebihan dan terukur dengan menggunakan kumpulan server standar untuk menyimpan petabyte data yang dapat diakses. Ini adalah sistem penyimpanan jangka panjang untuk sejumlah besar data statis yang dapat Anda ambil, leverage, dan perbarui. Tidak seperti sistem penyimpanan tradisional lainnya yang Anda akses melalui sistem file, Anda mengakses Object Storage melalui API.
Object Storage API diatur di sekitar objek dan kontainer.
Mirip dengan model pemrograman UNIX, sebuah objek, seperti dokumen atau image, adalah "bag of bytes" yang berisi data. Anda menggunakan kontainer untuk mengelompokkan objek. Anda dapat menempatkan banyak benda di dalam kontainer, dan akun Anda dapat memiliki banyak kontainer.
Jika Anda memikirkan bagaimana Anda secara tradisional membuat apa yang Anda simpan dengan tahan lama, Anda dapat dengan cepat menyimpulkan bahwa menyimpan banyak salinan objek Anda pada sistem yang terpisah adalah strategi strategi yang bagus. Namun, mencatat banyak salinan itu sulit dilakukan, dan membangunnya ke dalam sebuah aplikasi membutuhkan logika yang rumit.
OpenStack Object Storage secara otomatis mereplikasi setiap objek setidaknya dua kali sebelum mengembalikan 'write success' ke panggilan API Anda. Strategi yang bagus adalah menyimpan tiga salinan objek, secara default, setiap saat, mereplikasi di seluruh sistem jika terjadi kegagalan perangkat keras, perawatan, pemadaman jaringan, atau jenis kerusakan lainnya. Strategi ini sangat cocok untuk pembuatan aplikasi. Anda bisa membuang barang (dump object) ke dalam penyimpanan objek dan tidak khawatir dengan pekerjaan tambahan yang diperlukan agar mereka tetap aman.
Aplikasi Fractal saat ini menggunakan sistem file lokal pada instance untuk menyimpan image yang dihasilkannya. Untuk sejumlah alasan, pendekatan ini tidak terukur atau awet.
Karena sistem file lokal adalah penyimpanan singkat, image fraktal hilang bersamaan dengan instance saat berakhir. Penyimpanan berbasis blok, dimana bagian Block Storage membahas, menghindari masalah itu, tapi seperti sistem file lokal, memerlukan administrasi untuk memastikan tidak terisi, dan segera diperhatikan jika disk gagal.
Layanan Object Storage mengelola banyak tugas yang biasanya dikelola oleh pemilik aplikasi. Layanan Object Storage menyediakan API terukur dan tahan lama yang dapat Anda gunakan untuk aplikasi fraktal, sehingga perlu diperhatikan rincian tingkat rendah tentang bagaimana objek disimpan dan direplikasi, dan bagaimana cara menumbuhkan storage pool. Object Storage menangani replikasi untuk Anda. Ini menyimpan banyak salinan dari setiap objek. Anda dapat menggunakan Object Storage API untuk mengembalikan objek, berdasarkan permintaan.
Pertama, pelajari cara menyambungkan ke Object Storage endpoint:
Peringatan
Bagian ini belum selesai untuk .NET SDK.
Untuk mulai menyimpan objek, pertama kita harus membuat kontainer. Teleponmu fractals
:
Anda sekarang dapat melihat penampung ini muncul dalam daftar semua kontainer di akun Anda:
Langkah logis berikutnya adalah mengunggah sebuah objek. Temukan foto kambing secara online, beri nama goat.jpg
, dan unggah ke kontainer Anda fractals
:
Daftar objek di kontainer Anda fractals
untuk melihat apakah upload berhasil dilakukan. Kemudian, download file untuk memverifikasi bahwa md5sum adalah sama:
Akhirnya, bersihkan dengan cara menghapus objek test:
Cadangkan gambar aplikasi Fractals, yang saat ini tersimpan di dalam database, di Object Storage.
Tempatkan image di kontainer fractals
:
Selanjutnya, cadangkan semua fraktal yang ada dari database ke swift container. Sebuah loop sederhana menangani hal itu:
Catatan
Ganti IP_API_1
dengan alamat IP dari instance API.
Peringatan
Saat ini, Anda tidak bisa langsung menyimpan image yang dihasilkan di OpenStack Object Storage. Silakan kunjungi kembali bagian ini lagi di masa mendatang.
Untuk menghapus sebuah kontainer, pertama-tama Anda harus menghapus semua objek dari kontainer. Jika tidak, operasi penghapusan akan gagal:
Peringatan
Tidak mungkin mengembalikan objek yang dihapus. Hati-hati.
Anda dapat menyelesaikan tugas lanjutan seperti mengunggah objek dengan metadata, seperti ditunjukkan pada contoh berikut. Untuk informasi lebih lanjut, lihat dokumentasi untuk SDK Anda.
Untuk efisiensi, sebagian besar instalasi Object Storage memperlakukan objek besar, > 5GB
, berbeda dari objek yang lebih kecil.
Anda sekarang harus cukup yakin bekerja dengan Object Storage. Anda dapat menemukan lebih banyak informasi tentang Object Storage SDK di:
Atau, cobalah salah satu langkah tutorial berikut:
Block Storage: Migrasikan database untuk memblokir penyimpanan, atau gunakan komponen basis data as-a-service.
Orchestration: Automatically orchestrate your application.
Jaringan: Learn about complex networking.
Saran bagi pengembang baru untuk operasi: Get advice about operations.
Going crazy: Pelajari beberapa hal gila yang mungkin tidak Anda pikirkan untuk dilakukan;)
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.